3-1공부/운영체제

2. 커널, 인터페이스

KGW2027 2022. 4. 18. 20:56
728x90
반응형

운영체제의 구조는 크게 커널, 인터페이스, 장치 드라이버로 나눌 수 있다.

 

1. 커널 ( Kernel )

 - 운영체제의 핵심, 프로세스 & 메모리 & 저장장치 관리

 - 응용 소프트웨어들은 커널에 요청함으로써 하드웨어의 자원을 이용할 수 있다.

 - 커널이 하는 일은 운영체제가 하는일과 같으며, 매우 중요한 작업이므로 외부로부터 직접 노출되는 것은 좋지 않음.

  -> User mode와 Kernel mode를 분리해서 사용하게 된다.

 

  커널의 종류

  - 단일형 커널 : 초창기 구조로, 커널의 모든 기능이 한 덩어리로 되어있음.

   -> 속도는 빠르지만 유지보수가 힘들고 확장성이 좋지 않다.

  - 계층형 커널 : 비슷한 기능을 가진 모듈별로 계층을 만들어서 사용한다.

   -> 예시로 Linux ( 단일형과 계층형의 중간 쯤... )

  - 마이크로 커널 : 커널은 아주 기본적인 기능만 제공하고, 대부분의 기능이 유저 레벨로 이식된다.

  - 프로세스간 통신으로 시스템이 운영된다.

   -> 예시로 Windows..

 

 

2. 인터페이스 ( Interface )

 - 커널에 명령을 전달하고, 실행 결과를 알려주는 역할.

 - API, System call, Shell, GUI, Device driver 등이 있다.

 

System call ( Syscall )

 - 커널이 자신의 기능을 함수 형태로 제공해주는 기능.

 - 입력값 검증, 권한 확인, 작업 순서 제어 등을 통하여 커널을 보호하면서 기능을 수행한다.

 - 유저모드에서 대부분의 작업을 처리하며, 필요한 순간에만 잠깐 커널에 접근한다.

 

Device Driver

 - 커널과 하드웨어 중간쯤에 위치하며, API가 유저레벨 인터페이스라면, 이건 하드웨어 인터페이스.

 - 하드웨어와 직접 연결되고 입력신호에 대한 약속을 정하는 것.

  -> 이에 대한 기준은 OS가 정하게 된다.

 

Virtual Machine

 - OS마다 제공하는 API 및 Syscall의 모양이 달라 프로그램별 호환이 잘 되지 않을 수 있다.

 - 가상머신은 OS와 프로그램 사이에서 작동하며, OS간 이식성을 높여줘 다양한 환경에 지원되게 한다.

  -> 가상화 시스템은 HW->SW, VM은 API->SW 이란 점에서 비슷한 모습을 보인다.

 

 

컴퓨터의 계층 구조

 - 하드웨어는 운영체제의 배타적이고 독점적인 지배를 받고 있다.

  -> 응용 소프트웨어가 하드웨어에 직접 접근할 수 없다.

 - 즉, `응용 소프트웨어 <-> 운영체제 <-> 하드웨어` 의 구조를 갖는다.

 

 

 

 

728x90
반응형