1991๋ ์ ํฌ์ด์ด ๋ํ์ ๋ฆฌ๋์ค ํ ๋ฐ์ฆ๊ฐ ๋ฆฌ๋ ์ค ์ปค๋์ ๊ธฐ๋ฐ์ผ๋ก ํ ์คํ์์ค ์ ๋์ค ๊ณ์ด์ ์ด์์ฒด์ ๋ก GNUํ๋ก์ ํธ๋ก ๋ณต์ฌ,๋ฐฐํฌ,์ดํด,์์ ๋ฑ ๋ชจ๋ ์ ํ์์ด ๊ณต๊ฐํ๊ณ ์๋ ์ด์์ฒด์ ๋ก ๋๊ตฌ๋ ์ฐธ์ฌํ์ฌ ๊ธฐ์ฌํ ์ ์๋ค.
1969 AT&T ๋ฒจ ์ฐ๊ตฌ์์ ์ผ ํค์จ๊ณผ ๋ฐ๋์ค ๋ฆฌ์น๊ฐ ๋ง๋ ์ด์์ฒด์ ๋ก POSIXํ์ค์ ๋ฐ๋ฅด๋ ์ด์์ฒด์
- ์ปค๋ : ํญ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ฉด์ ๋์ํ๋ ์ด์์ฒด์ ์ ํต์ฌ ๋ถ๋ถ
- ์์คํ ํ๋ก๊ทธ๋จ : ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ปดํ์ผ๋ฌ, ๋ช ๋ น์ด(ํ์ผ, task, ๋คํธ์ํฌ, ์์คํ ...)๋ฑ
- ๋ง์ดํฌ๋ก ์ปค๋์ด ์๋ ๋ชจ๋๋ฆฌํฑ๊ตฌ์กฐ์ด๋ฉฐ, ๋ชจ๋์ ๋์
ํด ๋ง์ดํฌ๋ก ์ปค๋์ ์ฅ์ ์ ํ์ฉ
- ๋ง์ดํฌ๋ก ์ปค๋ : ์ปค๋ ๊ณต๊ฐ์ ๊ผญ ํ์ํ ๊ธฐ๋ฅ(์ธํฐ๋ฝํธ, ํ์ด์ง, ์ค์ผ์ค๋ง, ๋ฌธ๋งฅ๊ตํ, IPC)๋ง ์ปค๋์์ค์ ํฌํจํ ๊ฒ.
- ์ฌ์ฉ์ ์์๋๋ก ์ฌ๊ตฌ์ฑ ๊ฐ๋ฅ
- h/w๋ฅผ ์ง์ ๋์ ๊ฐ๋ฅ
- ์์ ์ปค๋์ ํฌ๊ธฐ
- ์์ ์ฑ ๋ฑ ๋ง์ ์ฅ์ ์กด์ฌ
์ผ์ข
์ ๋ช
๋ น์ด ํด์๊ธฐ๋ก ์ฐ๋ฆฌ๊ฐ ์
๋ ฅํ ๋ช
๋ น์ด๋ฅผ ํด์ํด ํน์ ์์
์ ์ํํ๊ฒ ํด์ฃผ๋ ๋ค๋ฆฌ์ญํ ์ ํ๋ก๊ทธ๋จ
์ด์์ฒด์ ๋ ์์์ ๊ด๋ฆฌํ๋ ์ผ์ข
์ ์์๊ด๋ฆฌ์์ด๋ฉฐ ๊ด๋ฆฌํ ์์์๋ ํฌ๊ฒ ๋ฌผ๋ฆฌ์ ์์, ์ถ์์ ์ธ ์์์ด ์กด์ฌํ๋ค.
-
๋ฌผ๋ฆฌ์ ์ธ ์์ : CPU, Memory, Disk, Network ๋ฑ
-
์ถ์์ ์ธ ์์ : ๋ฌผ๋ฆฌ์ ์์์ OS๊ฐ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ถ์ํ ์ํจ ๊ฐ์ฒด
- Task : CPU๋ฅผ ์ถ์ํ
- Segment, Page : Memory๋ฅผ ์ถ์ํ
- File : Disk๋ฅผ ์ถ์ํ
- Protocol, Packet.. : Network๋ฅผ ์ถ์ํ
๊ฐ ์ถ์์ ์ธ ์์๋ค์๋ ๊ด๋ฆฌ์๋ค์ด ์กด์ฌํ๊ณ ๋ฌผ๋ฆฌ์ ์ธ ์์๋ค์ ๊ด๋ฆฌํ๋ ์ญํ ์ ์ํํ๋ค.
๋ณดํต /usr/src/kernels/ ๋๋ ํ ๋ฆฌ์ ์กด์ฌํ๋ค.
-
kernel : ํ์คํฌ ๊ด๋ฆฌ์๊ฐ ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
- task ์์ฑ, ์๋ฉธ
- ํ๋ก๊ทธ๋จ ์คํ, ์ค์ผ์ค๋ง, ์๊ทธ๋ ์ฒ๋ฆฌ
- signal
-
arch : ํ๋์จ์ด์ ์ข ์์ ์ธ ๋ถ๋ถ๋ค์ด ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
- intel์ x86, arm๊ณ์ด๋ฑ ํน์ ํ๋์จ์ด์ ๋ง๊ฒ ์คํ ์ํค๊ธฐ ์ํจ
-
fs : ํ์ผ์์คํ ๋ค๊ณผ ์์คํ ํธ์ถ์ด ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
- ext2, ext3, ext4, nfs, fat, proc, xfs ..
- open(), read(), write()
- pipe
-
mm : ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๊ฐ ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
-
driver : ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๊ฐ ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
- disk, terminal, network card ๋ฑ
-
net : ๋ฆฌ๋ ์ค๊ฐ ์ง์ํ๋ ํต์ ํ๋กํ ์ฝ์ด ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
- ๋๋ฉ์ธ ํต์ ํ๋กํ ์ฝ, 802.11, IPX, RPC, Bluetooth, socket ๋ฑ
-
ipc : ํ๋ก์ธ์ค๊ฐ ํต์ ๊ธฐ๋ฅ์ด ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
- message passing, shard memory, sema-phore...
-
init : ์ปค๋์ ๋ฉ์ธ ์์ ํจ์๊ฐ ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
-
include : ์ฌ์ฉํ๋ ํค๋ํ์ผ๋ค์ด ๊ตฌํ๋ ๋๋ ํ ๋ฆฌ
๋ฆฌ๋ ์ค ์ปค๋ ๋ด๋ถ๊ตฌ์กฐ - ๋ฐฑ์น์ฌ, ์ต์ข ๋ฌด