0 / 5
운영체제 계층 구조(Layers of an Operating System)
운영체제가 하는 일을 하드웨어에 가까운 쪽부터 다섯 층으로 나눴다. 1계층이 하드웨어 바로 위에 있고, 5계층이 사용자와 가장 가깝다. 위 계층은 바로 아래 계층의 기능을 빌려 쓴다.
예: 사용자가 문서 파일을 열면 5계층(파일 관리)이 받아서, 필요한 일을 아래 계층에 차례로 맡긴다.
1 / 5
1계층: 프로세서 관리
프로세서(processor)는 CPU라는 하드웨어다. CPU를 직접 다루는 층이라 하드웨어 바로 위에 온다. 어떤 프로세스에 CPU를 줄지 정하는 프로세서 스케줄링과, 여러 프로세스가 같은 자원을 동시에 건드리지 않게 막는 동기화를 맡는다.
2 / 5
2계층: 메모리 관리
프로그램이 쓸 메모리를 나눠 주고(할당), 다 쓰면 돌려받는다(회수). 여러 프로세스가 한꺼번에 메모리를 달라고 하면 1계층의 동기화를 빌려 순서를 지킨다.
3 / 5
3계층: 프로세스 관리
프로세스(process)는 CPU에서 실행 중인 프로그램이다. 프로세스를 만들고 없애며, 시작하고 멈추고, 프로세스끼리 메시지를 주고받게 한다. 프로세스를 만들려면 먼저 메모리를 받아야 해서 메모리 관리(2계층) 위에 온다. 1계층의 프로세서(processor)는 CPU라는 하드웨어라서 다른 층이다.
4 / 5
4계층: 주변장치 관리
키보드, 프린터, 디스크 같은 주변장치의 상태를 확인하고, 여러 프로세스가 보낸 입출력 요청을 어떤 순서로 처리할지 정한다(입출력 장치 스케줄링). 요청을 보내는 쪽이 프로세스라서 프로세스 관리(3계층) 위에 온다.
5 / 5
5계층: 파일 관리
파일을 만들고 지우고, 열고 닫고, 유지하고 관리한다. 사용자와 가장 가까운 층이다. 파일은 디스크 같은 주변장치에 저장되므로, 실제로 읽고 쓰는 일은 주변장치 관리(4계층)에 맡긴다.