๐พ OS(Operating System)
OS(Operating System)์ Kernel Space์ ์ ์ฌ๋์ด Application Software์ ํ์ํ ์์คํ ์์์ ํ ๋นํ๊ณ Application Software๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์คํ ๋๋๋ก ๋๋ ํน๋ณํ ํ๋ก๊ทธ๋จ์ ๋๋ค.
๋ํ์ ์ธ OS๋ก๋ Window, macOS, Linux, Android, iOS ๋ฑ์ด ์์ต๋๋ค.
OS๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Kernel ์์ญ์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ | Kernel ์์ญ์์ ์ ๊ณตํ์ง ์๋ ๊ธฐ๋ฅ |
---|---|
Process ๊ด๋ฆฌ | UI(User Interface) |
์์คํ ์์ ์ ๊ทผ ๋ฐ ํ ๋น | Ex. GUI(Graphical User Interface) |
File System ๊ด๋ฆฌ | Ex. CLI(Command Line Interface) |
๐พ Kernel
OS๋ Application Software๊ฐ Kernel์ ํตํด ์์คํ ์์์ ์ ๊ทผํ์ฌ ์กฐ์ํ ์ ์๋๋กํ๋ฉฐ Application Software๊ฐ ์ฌ๋ฐ๋ฅด๊ณ ์์ ํ๊ฒ ์คํ๋๊ฒ ํ๋๋ก ํฉ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ OS๊ฐ ์ด๋ค Kernel์ ์ฌ์ฉํ๋์ง์ ๋ฐ๋ผ์ Application Software๊ฐ ์์คํ ์์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋ฌ๋ผ์ง๋ฏ๋ก ์ปดํจํฐ ์ฑ๋ฅ์ ์ํฅ์ ์ค ์๋ ์์ต๋๋ค.
๐พ Dual Mode
Dual Mode๋ CPU๊ฐ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋ชจ๋๋ฅผ ํฌ๊ฒ User Mode์ Kernel Mode๋ก ๊ตฌ๋ถํ๋ ๋ฐฉ์์ ๋๋ค. User Mode๋ Kernel ์์ญ์ ์ฝ๋๋ฅผ ์คํํ ์ ์์ผ๋ฉฐ Kernel Mode๋ Kernel ์์ญ์ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๊ฐ์ํ๋ฅผ ์ง์ํ๋ CPU๋ User Mode์ Kernel Mode ์ธ์ Hypervisor Mode๋ฅผ ๋ฐ๋ก ๋์ด VM(Virtual Machine)์ ์ค์น๋ Application Software๊ฐ Hypervisor Mode๋ฅผ ํตํด OS ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
OS๋ Application Software๊ฐ ์์คํ ์์์ ์ ๊ทผํ๋ ค๊ณ ํ ๋ OS๋ง์ ํตํด์๋ง ์ ๊ทผํ ์ ์๋๋ก ํ์ฌ ์์คํ ์์์ ๋ณดํธํฉ๋๋ค. ๋ง์ฝ Application Software๊ฐ User Mode๋ก ์คํ ์ค์ System Call์ ํตํด ์์คํ ์์์ ์ ๊ทผํ๋ ค๊ณ ํ ๋ Kernel Mode๋ก ์ ํํ์ฌ ์์คํ ์์์ ์ ๊ทผํ ์ ์๋๋ก ํฉ๋๋ค.
์ด์ฒ๋ผ System Call์ ์ํด์ User Mode์์ Kernel Mode๋ก ์ ํ๋๋ ๊ฒ์ S/W Interrupt๋ผ ํฉ๋๋ค.
๋ํ์ ์ธ System Call์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์์ต๋๋ค.
Process ๊ด๋ฆฌ | File ๊ด๋ฆฌ | Directory ๊ด๋ฆฌ | File System ๊ด๋ฆฌ |
---|---|---|---|
fork() | open() | chdir() | mount() |
execve() | close() | mkdir() | umount() |
exit() | read() | rmdir() | |
waitpid() | write() | ||
stat() |