운영체제의 구조
1. 커널
: 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것
(1) 프로세스 관리: 프로세스에 CPU를 배분하고 작업에 필요한 제반 환경을 제공
(2) 메모리 관리: 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상공간(가상메모리)을 제공
(3) 파일 시스템 관리: 데이터를 저장하고 접근할 수 있는 인터페이스 제공
(4) 입출력 관리: 필요한 입출력 서비스 제공
(5) 프로세스 간 통신 관리: 공동 작업을 위한 각 프로세스 간 통신 환경을 지원
2. 인터페이스
: 커널에 사용자의 명령을 전달하고, 실행 결과를 사용자에게 알려주는 역할
시스템 호출
: 커널이 자신을 보호하기 위해 만든 인터페이스 (커널이 제공하는 시스템 자원의 사용과 연관된 함수)
: 커널은 사용자나 응용 프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단하고 시스템 호출을 통해서만 접근이 가능하도록 한다.
직접 접근 vs 시스템 호출
1. 직접 접근
: 두 응용 프로그램이 자기 마음에 드는 위치에 데이터를 저장하려고 하기 때문에 다른 사람의 데이터를 지울 수도 있고 내 데이터가 다른 사람에 의해 지워질 수도 있다.
2. 시스템 호출을 통한 접근
: 응용 프로그램이 직접 하드디스크에 데이터를 저장하지 않고 커널이 제공하는 write() 함수를 사용하여 데이터를 저장해달라고 요청한다.
: 커널이 데이터를 가져오거나 저장하는 것을 전적으로 책임지기 때문에 컴퓨터 자원 관리가 수월하다.
: 운영체제는 커널이 제공하는 서비스를 시스템 호출로 제한하고 다른 방법으로 커널에 들어오지 못하게 막음으로써 컴퓨터 자원을 보호한다.
: 시스템 호출은 커널이 제공하는 서비스를 이용하기 위한 인터페이스이며, 사용자가 자발적으로 커널 영역에 진입할 수 있는 유일한 수단이다.
(디바이스) 드라이버
: 커널과 하드웨어의 인터페이스
: 마우스와 같이 간단한 제품은 드라이버를 커널이 가지고 있지만, 그래픽 카드같은 복잡한 하드웨어의 경우 제작자가 드라이버를 제공한다.
* 쉽게 배우는 운영체제 책 참고
'운영체제' 카테고리의 다른 글
[운영체제] 가상메모리 세그먼테이션 기법 (0) | 2022.06.11 |
---|---|
[운영체제] 가상 메모리, 페이징 기법 (0) | 2022.06.09 |
[운영체제] 물리 메모리 관리 (0) | 2022.06.06 |
[운영체제] 교착상태 (0) | 2022.06.05 |
[운영체제] 운영체제의 정의, 역할, 목표 (0) | 2022.06.04 |
댓글