2. ์์คํ ๊ตฌ์กฐ
- ์ด์์ฒด์ ๊ฐ ์ฌ์ฉ์, ํ๋ก์ธ์ค ๋ฐ ๋ค๋ฅธ ์์คํ ์๊ฒ ์ ๊ณตํ๋ ์๋น์ค๊ฐ ๋ฌด์์ธ์ง
- ์ด์์ฒด์ ๋ฅผ ๊ตฌ์ฑํ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ
- OS ์ค์น ๋ฐฉ๋ฒ, ๋ง์ถคํ ๊ณผ์ ๋ฐ ๋ถํ ๊ณผ์
2.1 ์ด์์ฒด์ ์๋น์ค
์ด์์ฒด์ ๋ ์ฌ์ฉ์์ ์์คํ ์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
-
์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI)
- ๋ช ๋ น์ด ๋ผ์ธ ์ธํฐํ์ด์ค(CLI): ํ๋ก๊ทธ๋จ ์ ธ์ ํตํด ๋ฌธ์์ด ๋ช ๋ น์ ๋ด๋ฆผ
- ๋ฐฐ์น ์ธํฐํ์ด์ค: ๋ช ๋ น์ด์ ๋ช ๋ น์ด๋ฅผ ์ ์ดํ๋ ๋๋ ํฐ๋ธ๊ฐ ํ์ผ ํํ๋ก ์ ๋ ฅ๋๊ณ ๊ทธ ํ์ผ์ด ์คํ๋จ
- ๊ทธ๋ํผ์ปฌ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(GUI): ์
์ถ๋ ฅ์ ์ง์ํ๊ณ , ๋ฉ๋ด๋ฅผ ์ ํํ์ฌ ํค๋ณด๋๋ก ๋ฌธ์์ด์ ์
๋ ฅํ ์ ์๋ ์์น ๊ฒฐ์ ์ฅ์น๋ฅผ ๊ฐ์ง๋ ์์คํ
-
ํ๋ก๊ทธ๋จ ์ํ(Program execution)
- ์์คํ ์ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํด ์คํ
- ํ๋ก๊ทธ๋จ์ ์ ์์ ์ด๋ , ๋น์ ์์ ์ด๋ ์คํ์ ๋๋ผ ์ ์์ด์ผ ํจ
-
์ ์ถ๋ ฅ ์ฐ์ฐ(I/O Operation)
- ์ํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ์ ์ถ๋ ฅ์ ์๊ตฌํ ์ ์๋๋ฐ ํจ์จ๊ณผ ๋ณดํธ๋ฅผ ์ํด ์ฌ์ฉ์๋ค์ ์ ์ถ๋ ฅ ์ฅ์น๋ฅผ ์ง์ ์ ์ดํ ์ ์์
- ๋ฐ๋ผ์ OS๊ฐ ์ ์ถ๋ ฅ ์ํ์ ์๋จ์ ์ ๊ณต
-
ํ์ผ ์์คํ ์กฐ์(File System Manipulation)
- ํ๋ก๊ทธ๋จ์ ํ์ผ ์์ฑ, ์ญ์ ๋ฐ ํ์, ์ฝ๊ณ ์ฐ๊ธฐ๋ฅผ ํ ์ ์์.
- ๋ํ ํ์ผ ์์ ๊ถ์ ๊ธฐ๋ฐ์ ๋ ๊ถํ ๊ด๋ฆฌ๋ฅผ ์ด์ฉํด ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ์ ์ ๊ทผ์ ํ๊ฐํ๊ฑฐ๋ ๊ฑฐ๋ถํ ์ ์์
-
ํต์ (Communication)
- ํ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ ๋ณด๋ฅผ ๊ตํํด์ผํ ๋, OS๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ(Shared Memory)๋ ๋ฉ์์ง ํจ์ฑ(Message Passing)์ ์ฌ์ฉํ ์ ์์
- ํ์์ ๊ฒฝ์ฐ ์ ๋ณด์ ํจํท๋ค์ด ์ด์์ฒด์ ์ ์ํด ํ๋ก์ธ์ค ์ฌ์ด๋ฅผ ์ด๋
-
์ค๋ฅ ํ์ง(Error detection)
- OS๋ CPU, ๋ฉ๋ชจ๋ฆฌ ํ๋์จ์ด, ์ ์ถ๋ ฅ ์ฅ์น ๋๋ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์์ ์ผ์ด๋๋ ์ค๋ฅ๋ฅผ ํ์งํ๊ณ ์ ๋นํ ์กฐ์น๋ฅผ ์ทจํด์ผ ํจ
์ฌ์ฉ์์ ๋์์ ์ฃผ๋ ๊ฒ์ด ๋ชฉ์ ์ด ์๋๋ผ ์์คํ ์์ฒด์ ํจ์จ์ ์ธ ๋์์ ๋ณด์ฅํ๊ธฐ ์ํ ์ด์์ฒด์ ๊ธฐ๋ฅ๋ค๋ ์กด์ฌํ๋ค.
-
์์ ํ ๋น(Resource Allocation)
- ๋ค์์ ์ฌ์ฉ์๋ ๋ค์์ ์์ ๋ค์ด ๋์์ ์คํ๋ ๋, ๊ฐ๊ฐ์ ์์์ ํ ๋นํด์ฃผ์ด์ผ ํจ
-
ํ๊ณ(Accounting)
- ์ฌ์ฉ์๊ฐ ์ด๋ค ์ข ๋ฅ์ ์ปดํจํฐ ์์์ ์ผ๋ง๋ ๋ง์ด ์ฌ์ฉํ๋์ง ์ถ์ , ์ฌ์ฉ ํต๊ณ๋ ์ปดํจํ ์๋น์ค๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ฌ์ฉ
-
๋ณดํธ(Protection)์ ๋ณด์(Security)
- ๋ณดํธ๋ ์์คํ ์์์ ๋ํ ๋ชจ๋ ์ ๊ทผ์ด ํต์ ๋๋๋ก ๋ณด์ฅํ๋ ๊ฒ
- ๋ณด์์ ๋คํธ์ํฌ ์ด๋ํฐ ๋ฑ ์ธ๋ถ ์ ์ถ๋ ฅ ์ฅ์น๋ค์ ๋ถ์ ํฉํ ์ ๊ทผ ์๋๋ก๋ถํฐ ์งํค๊ณ , ์นจ์ ํ์ง๋ฅผ ์ํด ๋ชจ๋ ์ ์์ ๊ธฐ๋ก
- ์์คํ ์ด ๋ณดํธ๋๊ณ ๋ณด์์ด ์ ์ง๋๋ ค๋ฉด ์์คํ ์ ์ฒด์ ๊ฑธ์ณ ์๋ฐฉ์ฑ (precaution)์ด ์ ์ ๋์ด์ผ ํจ
2.3 System Calls
System Call์ ์ด์์ฒด์ ์ ์ํด ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ๋ ์๋น์ค์ ๋ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ค. ํน์ ์ ์์ค ์์ ์ ์ด์ ๋ธ๋ฆฌ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์์ฑ๋์ด์ผ ํ๋๋ผ๋ ์ด๋ฌํ ํธ์ถ์ ์ผ๋ฐ์ ์ผ๋ก C์ C++ ์ธ์ด๋ก ์์ฑ๋ ๋ฃจํด ํํ๋ก ์ ๊ณต๋๋ค.
๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ด๋ผ๋ ์ด์์ฒด์ ์ ๊ธฐ๋ฅ์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋๋ฐ ๋๋ถ๋ถ์ ์์ฉ ๊ฐ๋ฐ์๋ค์ ์์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค (API)์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ค. API๋ ๊ฐ ํจ์์ ์ ๋ฌ๋์ด์ผ ํ ๋งค๊ฐ๋ณ์๋ค๊ณผ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ธฐ๋ํ ์ ์๋ ๋ฐํ ๊ฐ์ ํฌํจํ์ฌ ์์ฉ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ํจ์์ ์งํฉ์ ๋ช ์ํ๋ค.
System call Interface๋ API ํจ์์ ํธ์ถ์ ๊ฐ๋ก์ฑ ํ์ํ ์ด์์ฒด์ System call์ ๋ถ๋ฅธ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ System call์๋ ๋ฒํธ๊ฐ ํ ๋น๋๊ณ System call Interface๋ ์ด ๋ฒํธ์ ๋ฐ๋ผ ์์ธ๋๋ ํ ์ด๋ธ์ ์ ์งํ๋ค. ์ด๊ฒ์ System call table์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ธํฐ๋ฝํธ ๋ฒกํฐ๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ๋ชจ์์ด๋ฉฐ ํด๋น ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ ๊ฐ๋ฅดํค๊ณ ์๋ค. System call Interface๋ ์๋ํ System call์ ๋ถ๋ฅด๊ณ System call์ ์ํ์ ๋ฐํ ๊ฐ์ ๋๋ ค์ค๋ค.
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ 3๊ฐ์ง๊ฐ ์๋ค.
- Call by value: ๋งค๊ฐ๋ณ์ ๊ฐ ์์ฒด๋ฅผ ๋ณต์ฌํด ๋ ์ง์คํฐ ๋ด์ ์ ๋ฌ
- Call by reference: ๋ ์ง์คํฐ๋ณด๋ค ๋งค๊ฐ๋ณ์๊ฐ ๋ ๋ง์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ๋ธ๋ก์ด๋ ํ ์ด๋ธ์ ์ ์ฅ๋๊ณ , ๋ธ๋ก์ ์ฃผ์๊ฐ ๋ ์ง์คํฐ ๋ด์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋จ
- ํ๋ก๊ทธ๋จ์ ์ํด ์คํ์ push, OS์ ์ํด pop
2.4 System call ์ ํ
- ํ๋ก์ธ์ค ์ ์ด:
end
,abort
,load
,execute
- ํ์ผ ๊ด๋ฆฌ:
create
,delete
,open
,close
,read
,write
- ์ฅ์น ๊ด๋ฆฌ:
read
,write
,request
,release
- ์ ๋ณด ์ ์ง:
get/set time/date
- ํต์ :
send/recieve messages
,transfer status
- ๋ณดํธ
2.5 System Program
- ์ปดํจํฐ ๊ณ์ธต ๊ตฌ์กฐ: ํ๋์จ์ด -> ์ด์์ฒด์ -> ์์คํ ํ๋ก๊ทธ๋จ -> ์์ฉ ํ๋ก๊ทธ๋จ
์์คํ ํ๋ก๊ทธ๋จ์ ์์คํ ์ ํธ๋ฆฌํฐ๋ก๋ ์๋ ค์ง, ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ๊ณผ ์คํ์ ์ํด ๋ณด๋ค ํธ๋ฆฌํ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
- ํ์ผ๊ด๋ฆฌ, ์ํ ์ ๋ณด, ํ์ผ ๋ณ๊ฒฝ, ํ๋ก๊ทธ๋๋ฐ์ธ์ด์ง์, ํ๋ก๊ทธ๋จ ์ ์ฌ์ ์ํ, ํต์ , ๋ฐฑ๊ทธ๋ผ์ด๋ ์๋น์ค
- ํญ์ ์คํ๋๋ ์์คํ ํ๋ก๊ทธ๋จ ํ๋ก์ธ์ค-> ์๋น์ค, ์๋ธ์์คํ , ๋๋จผ(์ฐ๊ฒฐ ๋ฐ์ ํ๋ก์ธ์ค)
- ๋ชจ๋ System call์ ํตํด ๊ตฌํ
2.6 ์ด์์ฒด์ ์ค๊ณ ๋ฐ ๊ตฌํ
์ด์์ฒด์ ์ ์ค๊ณ ๋ชฉํ
- User: ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ , ๋ฐฐ์ฐ๊ธฐ ์ฝ๊ณ , Reliable, safe and fast
- System: ์ ์ง๋ณด์๊ฐ ์ฝ๊ณ , ์๋ฌ๊ฐ ์์ผ๋ฉฐ ์์ ํจ์จ์
๊ธฐ๋ฒ๊ณผ ์ ์ฑ
- ๊ธฐ๋ฒ(Mechanism): ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ
- ์ ์ฑ
(Policy): ๋ฌด์์ ํ ๊ฒ์ธ๊ฐ -> ์ฅ์๊ฐ ๋ฐ๋๊ฑฐ๋ ์๊ฐ์ด ํ๋ฆ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์์
์๋ฅผ ๋ค๋ฉด ํ์ด๋จธ ๊ตฌ์กฐ๋ CPU ๋ณดํธ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํ ๊ธฐ๋ฒ์ด์ง๋ง, ํน์ ์ฌ์ฉ์๋ฅผ ์ํด ํ์ด๋จธ๋ฅผ ์ผ๋ง๋ ์ค๋ซ๋์ ์ค์ ํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ ์ ์ฑ ์ ๊ฒฐ์ ์ด๋ค. ์ ์ฑ ๊ณผ ๊ธฐ๋ฒ์ ๋ถ๋ฆฌ๋ ์ตํ์ฑ์ ์ํด ์์ฃผ ์ค์ํ๋ค. ์ ์ฑ ์ ๋ณ๊ฒฝ์ ๋ฏผ๊ฐํ์ง ์์ ์ผ๋ฐ์ ์ธ ๊ธฐ๋ฒ์ด ๋ฐ๋์งํ๋ค.
์ด์์ฒด์ ์ ๊ตฌํ
์ปค๋์ ๊ฐ์ฅ ๋ฎ์ ๋จ๊ณ๋ ์ด์ ๋ธ๋ฆฌ์ด๋ก ๊ตฌํ๋ ์ ์๊ณ , ๊ทธ ๋ณด๋ค ๋์ ๋จ๊ณ์ ๋ฃจํด์ C์ธ์ด, ์์คํ ํ๋ก๊ทธ๋จ์ C, C++ Python ๋๋ ์ ธ ์คํฌ๋ฆฝํธ์ ๊ฐ์ ์ธ์ด๋ก ๊ตฌํ๋ ์ ์๋ค. ์ด์์ฒด์ ๊ฐ ๊ณ ๊ธ ์์ค ์ธ์ด๋ก ์์ฑ๋์์ ๊ฒฝ์ฐ ์ด์(๋ค๋ฅธ ํ๋์จ์ด๋ก ์ฎ๊ธฐ๋ ์ผ)์ด ํจ์ฌ ์ฝ๋ค. ํ์ง๋ง ์๋๊ฐ ๋๋ฆฌ๊ณ ์ ์ฅ ์ฅ์น๊ฐ ๋ง์ด ์์๋ ์ ์๋ค. OS์ ์ฃผ์ ์ฑ๋ฅ ํฅ์์ ์ฐ์ํ ์ด์ ๋ธ๋ฆฌ์ด ์ฝ๋๋ณด๋ค๋ ์ข์ ์๋ฃ ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฐ๊ณผ์ผ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค.
2.7 ์ด์์ฒด์ ๊ตฌ์กฐ
์์ 1์ฅ์์ ๋ฐฐ์ ๋ ์ด์์ฒด์ ๊ตฌ์กฐ(multiprogramming, Time sharing)์ ์ผ๋ฐ์ ์ธ ๊ตฌ์ฑ์์๋ฅผ ์ค๋ช ํ ๊ฒ, ์ด๋ฒ ์ฅ์์ ์ด๋ฌํ ์์๋ค์ด ์ด๋ป๊ฒ ์ํธ ์ฐ๊ฒฐ๋๊ณ ํ๋์ ์ปค๋๋ก ๊ฒฐํฉ๋๋์ง ๋ค๋ฃฌ๋ค.
Simple Struture
ํ๋์จ์ด ์์ฒด๊ฐ ์ ํ์ ์ด๋ฏ๋ก ํ๋์จ์ด์ ์ง์ ์ ๊ทผํ ์ ๋ฐ์ ์์๋ค.
MS-Dos
- ์ต์์ ๊ณต๊ฐ์ ์ต๋์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋๋ก ๊ตฌํ๋์๊ธฐ ๋๋ฌธ์ ๋ชจ๋๋ณ๋ก ๊ตฌ๋ถ๋์ง ์์
- ์ธํฐํ์ด์ค์ ๊ธฐ๋ฅ ๊ณ์ธต์ด ๋ถ๋ฆฌ๋์ด ์์ง ์์
- ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ๊ณ ์ฅ๋๋ฉด ์์คํ ์ ์ฒด๊ฐ ๊ณ ์ฅ
UNIX
- ์ปค๋๊ณผ ์์คํ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌ์ฑ
- Monolitihc ๊ตฌ์กฐ: ์์คํ ํธ์ถ ์ธํฐํ์ด์ค ์๋์ ๋ฌผ๋ฆฌ์ ํ๋์จ์ด ์์ ๋ชจ๋ ๊ฒ์ด ์ปค๋์ด๋ฏ๋ก ํ๋์ ๊ณ์ธต์ผ๋ก ๊ฒฐํฉํ๊ธฐ์๋ ๋๋ฌด ๋ง์ ๊ธฐ๋ฅ, ์๋ฒฝํ๊ฒ ๊ณ์ธตํ๋์ง ์์
- ๊ตฌํ, ์ ์ง๋ณด์๊ฐ ์ด๋ ต์ง๋ง, ์์คํ ํธ์ถ ์ธํฐํ์ด์ค๋ ์ปค๋ ์์์ ํต์ ํ๋ ๊ฒฝ์ฐ ์ค๋ฒํค๋๊ฐ ๊ฑฐ์ ์์ผ๋ฏ๋ก ์ฑ๋ฅ์ด ๋์
- UNIX, Linux, Window ์ด์์ฒด์ ์์ ์ด๋ฌํ ๊ตฌ์กฐ๋ ์ฌ์ ํ ๋จ์์์
๊ณ์ธต์ ์ ๊ทผ(Layered Approach)
- ์์คํ ์ ๋ชจ๋ํ
- ์ด์์ฒด์ ์ธต์ ์๋ฃ ๊ตฌ์กฐ์ ์์ ์ธต์์ ํธ์ถํ ์ ์๋ ๋ฃจํด์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋จ
- ๊ฐ์ฅ ์๋ ๊ณ์ธต์ ํ๋์จ์ด, ๊ฐ์ฅ ๋์ ๊ณ์ธต์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
- ๊ฐ ์ธต์ ์์ ๋ณด๋ค ํ์ ์์ค์ ์ธต์ ์ํด ์ ๊ณต๋ ์ฐ์ฐ๋ค๋ง ์ฌ์ฉํด ๊ตฌํํจ
- ์ฅ์ : ํ๋์ ๊ณ์ธต๋ง ์ ๊ฒฝ์ฐ๋ฉด ๋๋ฏ๋ก ๊ตฌํ, ๋๋ฒ๊น ์ด ๊ฐ๋จํ๊ณ ์ ์ง๋ณด์๊ฐ ํธํจ
- ๋จ์ : ์ธต์ ์ ์ ํ ์ ์ํ๋ ๊ฒ์ ์ด๋ ค์, ํจ์จ์ฑ ๋ฎ์. ๊ฐ ์ธต์ System call์ ์ค๋ฒํค๋๋ฅผ ์ถ๊ฐํ๋ฉฐ System call์ ์ํ ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฌ๊ฒ ๋จ
๋ง์ดํฌ๋ก ์ปค๋(MicroKernal)
- Mac OS์ ์ปค๋(darwin)
- ๋ณด๋ค ์์ ์ปค๋: ๋ชจ๋ ์ค์์น ์์ ๊ตฌ์ฑ ์์๋ฅผ ์ปค๋๋ก๋ถํฐ ์ ๊ฑฐํ๊ณ , ๊ทธ๊ฒ๋ค์ ์์คํ ๋ฐ ์ฌ์ฉ์ ์์ค ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌํํด ์ด์์ฒด์ ๋ฅผ ๊ตฌ์ฑํจ
- Message passing์ ์ํด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์ํ๋๋ ๋ค์ํ ์๋น์ค ๊ฐ์ ํต์ ์ ์ ๊ณต
- ์ฅ์ : ์ด์์ฒด์ ์ ํ์ฅ์ ์ฉ์ดํจ. ์๋ก์ด ์๋น์ค๋ ์ฌ์ฉ์ ๊ณต๊ฐ์ ์ถ๊ฐ๋๊ณ ์ปค๋์ ๋ณ๊ฒฝ์ด ํ์ ์์ -> ๋ณด๋ค ๋์ ๋ณด์์ฑ๊ณผ ์ ๋ขฐ์ฑ
- ๋จ์ : ๊ฐ์ค๋ ์์คํ ๊ธฐ๋ฅ ์ค๋ฒํค๋ ๋๋ฌธ์ ์ข์ง ์์ ์ฑ๋ฅ
๋ชจ๋(Modules)
- ์ปค๋์ ํต์ฌ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ๋ค๋ฅธ ์๋น์ค๋ค์ ์ปค๋์ด ์คํ๋๋ ๋์ ๋์ ์ผ๋ก ๊ตฌํ, ์๋น์ค๋ฅผ ๋์ ์ผ๋ก ๋งํฌํจ
- ์ปค๋์ ๊ฐ ๋ถ๋ถ์ด ์ ์๋๊ณ ๋ณดํธ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ง๋ ์ ์ ๊ณ์ธต ๊ตฌ์กฐ์ ๋น์ทํ์ง๋ง ๋ชจ๋์์ ์์์ ๋ค๋ฅธ ๋ชจ๋์ ํธ์ถํ ์ ์์ผ๋ฏ๋ก ๋ ์ ์ฐํจ
- ์ค์ฌ ๋ชจ๋์ ํต์ฌ ๊ธฐ๋ฅ๋ง ๊ฐ์ง๊ณ , ๋ค๋ฅธ ๋ชจ๋์ ์ ์ฌ ๋ฐฉ๋ฒ๊ณผ ํต์ ๋ฐฉ๋ฒ์ ์๋ค๋ ์ ์ ๋ง์ดํฌ๋ก ์ปค๋๊ณผ ์ ์ฌํ์ง๋ง ํต์ ์ ์ํด Message passing์ด ํ์์์ผ๋ฏ๋ก ๋ ํจ์จ์ ์
- ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ, ์๋์ฐ์
.dll
ํ์ผ
Hybrid System
- ๋๋ถ๋ถ์ OS๋ ๋ค์ํ ๊ตฌ์กฐ๋ฅผ ๊ฒฐํฉํ ๊ตฌ์กฐ
- Linux, Solaris: ์ด์์ฒด์ ๊ฐ ์ ๋ถ ํ๋์ ์ฃผ์ ๊ณต๊ฐ์ ์กด์ฌํ๋ ๋ชจ๋๋ฆฌ์ ๊ตฌ์กฐ์ด์ง๋ง ๋ชจ๋์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ฅ์ ๋์ ์ผ๋ก ์ปค๋์ ์ถ๊ฐ
- Window: ์ฑ๋ฅ ์ ์ด์ ๋ก ๋์ฒด๋ก ๋ชจ๋๋ฆฌ์ ๊ตฌ์กฐ์ด์ง๋ง ์๋ธ์์คํ ์ ๋ง์ดํฌ๋ก์ปค๋ ํํ๋ก ์ ์ง, ๋ชจ๋๋ ์ง์
- MacOS: Hybrid System, ์ปค๋์ ํต์ฌ๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ ๋ฐ๋ก ๊ตฌํ
2.8 ์ด์์ฒด์ ๋๋ฒ๊น
๋๋ฒ๊น
- ํ๋์จ์ด์ ์ํํธ์จ์ด์์์ ์์คํ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ์์
- ์์คํ ์ฒ๋ฆฌ ์ค์ ๋ฐ์ํ๋ ๋ณ๋ชฉ ํ์์ ์ ๊ฑฐ ํด ์ฑ๋ฅ ํฅ์์ํค๋ ค๋ ์ฑ๋ฅ ์กฐ์ ๋ ํฌํจ
์ฅ์ ๋ถ์
- OS๋ ์๋ฌ ์ ๋ณด๊ฐ ๋ด๊ธด logfile ์์ฑ
- ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์บก์ณํ ์ฝ์ด ๋คํ ํ์ผ๋ก ์ ์ฅ -> ๋๋ฒ๊ฑฐ์ ์ํด ๊ฒ์ฌ
- Crush dump: ์ปค๋ ์ฅ์ (Crash) ๋ํ ๊ธฐ๋ก๋๊ณ ์ ์ฅ
- Core dump์ Crush dump๋ ์๋ก ๋ค๋ฅธ ๋๊ตฌ์ ๊ธฐ๋ฒ์ผ๋ก ๋๋ฒ๊น
์ฑ๋ฅ ์กฐ์ (Performance Tuning)
- ๋ณ๋ชฉ ์ง์ ์ ๊ฑฐ
- ์์ ๊ด๋ฆฌ์: ์์คํ ์ฑ๋ฅ ๊ฐ์
DTrace
- ์คํ์ค์ธ ์์คํ , ํ๋ก์ธ์ค์ ์ปค๋์ ๋์ ์ผ๋ก ํ์์ ์ถ๊ฐ
- ๋์ ์ด๊ณ ์์ ํ๋ฉฐ ๋ฎ์ ์ํฅ๋ ฅ์ ๋ฏธ์น๋ ๋๋ฒ๊น ํ๊ฒฝ ์ ๊ณต
2.9 ์ด์์ฒด์ ์์ฑ
์ด์์ฒด์ ๋ ๋ณดํต ๋์คํฌ๋ CD-ROM, DVD-ROM ๋๋ ISO ์ด๋ฏธ์ง๋ก ๋ฐฐํฌ๋๋ค. ISO ์ด๋ฏธ์ง๋ CD-ROM ๋๋ DVD-ROM์ ํํ๋ฅผ ๊ฐ์ง๋ ํ์ผ์ ๋งํ๋ค.
์์คํ ์์ฑ, SYSGEN
- ์์คํ ์ ๊ฐ ํน์ ์ปดํจํฐ ์ฌ์ดํธ๋ฅผ ์ํด ๊ตฌ์ฑ๋๊ฑฐ๋ ์์ฑ๋๋ ์ ์ฐจ
- ํ๋์จ์ด System์ ํน์ ๊ตฌ์ฑ์ ์ ๋ณด๋ฅผ ์ป์
- ์ปค๋ ๋๋ ์ฑ๋ฅ ์กฐ์ ๋น๋๋ฅผ ์ํด ์ฐ์
2.10 ์์คํ ๋ถํธ
BootStrap
- ์์ ํฌ๊ธฐ์ ์ฝ๋๋ก, ์ปค๋์ ์ฐพ๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ ์ํ
- ์ด์์ฒด์ ์ ํฌ๊ธฐ๊ฐ ์๊ฑฐ๋ ๊ฐ๋จํ ๊ฒฝ์ฐ ๋นํ๋ฐ์ฑ์ธ ROM์ ์ ์ฅ
- ๋ฌธ์ ์ : ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์นฉ์ ๋ณ๊ฒฝํด์ผ ํจ -> EEPROM์ ์ ์ฅํ์ฌ ์ฐ๊ธฐ ๊ฐ๋ฅํ๋๋ก ๋ง๋๋ ๋ช ๋ น์ด๊ฐ ์ฃผ์ด์ง๊ธฐ ์ ๊น์ง๋ ์ฝ๊ธฐ ์ ์ฉ ์ํ๋ฅผ ์ ์งํจ
- Firmware: ํ๋์จ์ด์ ์ํํธ์จ์ด์ ์ค๊ฐ์ ํน์ฑ์ ๊ฐ์ง๋ ROM์ ๋ชจ๋ ํํ, RAM์์ ์คํ์ํฌ ๋๋ณด๋ค ์คํ ์๋๊ฐ ๋จ์ด์ง๋ฏ๋ก OS๋ฅผ firmware์ ์ ์ฅํ๊ณ ์คํ ์์ RAM์ผ๋ก ๋ณต์ฌํ์ฌ ์คํํจ
- ๋๋ถ๋ถ์ ์์คํ ์์ ๋ถํธ์คํธ๋ฉ ๋ก๋๋ Firmware์ ์๊ณ ์ด์์ฒด์ ๋ ๋์คํฌ์ ์กด์ฌํจ