운영체제

[운영체제] 운영체제의 구조 (커널, 인터페이스..)

체리1001 2022. 6. 5.
운영체제의 구조

 

1. 커널

: 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것

   (1) 프로세스 관리: 프로세스에 CPU를 배분하고 작업에 필요한 제반 환경을 제공

   (2) 메모리 관리: 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상공간(가상메모리)을 제공

   (3) 파일 시스템 관리: 데이터를 저장하고 접근할 수 있는 인터페이스 제공

   (4) 입출력 관리: 필요한 입출력 서비스 제공

   (5) 프로세스 간 통신 관리: 공동 작업을 위한 각 프로세스 간 통신 환경을 지원

 

2. 인터페이스

: 커널에 사용자의 명령을 전달하고, 실행 결과를 사용자에게 알려주는 역할

 

출처: https://math-coding.tistory.com/80

 

시스템 호출

 

: 커널이 자신을 보호하기 위해 만든 인터페이스 (커널이 제공하는 시스템 자원의 사용과 연관된 함수)

: 커널은 사용자나 응용 프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단하고 시스템 호출을 통해서만 접근이 가능하도록 한다.

 

직접 접근 vs 시스템 호출

 

1. 직접 접근

: 두 응용 프로그램이 자기 마음에 드는 위치에 데이터를 저장하려고 하기 때문에 다른 사람의 데이터를 지울 수도 있고 내 데이터가 다른 사람에 의해 지워질 수도 있다.

 

2. 시스템 호출을 통한 접근

: 응용 프로그램이 직접 하드디스크에 데이터를 저장하지 않고 커널이 제공하는 write() 함수를 사용하여 데이터를 저장해달라고 요청한다.

: 커널이 데이터를 가져오거나 저장하는 것을 전적으로 책임지기 때문에 컴퓨터 자원 관리가 수월하다.

: 운영체제는 커널이 제공하는 서비스를 시스템 호출로 제한하고 다른 방법으로 커널에 들어오지 못하게 막음으로써 컴퓨터 자원을 보호한다.

: 시스템 호출은 커널이 제공하는 서비스를 이용하기 위한 인터페이스이며, 사용자가 자발적으로 커널 영역에 진입할 수 있는 유일한 수단이다.

 

(디바이스) 드라이버

 

: 커널과 하드웨어의 인터페이스

: 마우스와 같이 간단한 제품은 드라이버를 커널이 가지고 있지만, 그래픽 카드같은 복잡한 하드웨어의 경우 제작자가 드라이버를 제공한다.

 

* 쉽게 배우는 운영체제 책 참고

댓글