본문 바로가기

독후감

여러 작업을 수행하는 애플리케이션 & 소프트웨어의 계층 구조

이번 챕터에서 기억에 남는 부분은 소프트웨어의 계층 구조이다. 

우리나라의 일을 입법부, 행정부, 사법부에서 관리하는 것 처럼 소프트웨어 운영체제에서도 5개의 계층으로 나눠서 일을 한다. 

먼저 1계층 프로세서 관리에서는 주로 프로세스 스케줄링을 담당합니다. 프로세스란 컴퓨터 내에서 실행중인 프로그램을 일컫는 용어이며, 스케줄링이란 처리해야 할 일들의  순서를 정하는 일 또는 중앙처리장치(CPU)를 사용할 수 있는 순서를 정하는 일을 의미한다. 마치 회사의 비서들이 하는 역할을 하는 것 같았다.

 

2계층 메모리 관리에서는 메모리 할당, 회수 역할을 담당한다.

메모리 할당이란 프로그램이 사용할 메모리 공간을 확보하는 것을 말한다.
여기서 메모리는, 주 기억장치인 RAM (읽기/쓰기 가능) 과 ROM (읽기만 가능) 을 의미합니다. 이곳은 회사의 행정팀 역할을 하는 것 같았다.

 

3계층 프로세스 관리에서는 프로세스를 생성하거나 제거하는 역할을 담당한다.
실행중인 프로그램의 프로세스를 생성하여, 각 프로세스별로 관리를 하고 프로그램을 동시에 작업할 수 있도록 해주며, 프로그램 종료시 프로세스를 제거합니다. 이 곳은 회사의 통제실 같은 역할을 하는 것 같았다.

4계층 주변장치 관리에서는 컴퓨터 주변 기기인 키보드, 프린트, 마우스 등 주변 장치와
입출력 장치의 스케줄링을 관리하는 역할을 담당합니다. 

5계층 파일 관리에서는 파일을 생성하거나 삭제하거나, 혹은 파일을 열거나 닫거나 복사하는
파일과 관련된 관리를 담당합니다.

 

이렇게 일을 나눠서 하는 이유는 한 곳에 치중되어 있으면 과부하가 오기 때문일 것이라고 생각한다. 내가 회사로 생각하여 비유 했을 때 하나의 파트에서 모든 일을 하게 된다면 엄청 복잡해질 것 같다. 그렇기 때문에 각자의 역할을 나눠 부담을 덜어주기 위해서 5개의 계층으로 나눴다고 생각한다.