Monolithic Kernel , Microkernel
Monolithic Kernel
Monolithic : 단일체

커널 소프트웨어가 한 덩어리로 다같이 모여있다라는 뜻
파일관리, 프로세스 관리 , 메모리 관리 ,통신 프로토콜 관리 등 커널 내부에 구성됨.
커널 내부에 구현되어있음
커널 모드로 실행됨
커널 모드 : 컴퓨터가 응용프로그램을 실행하는것이 아닌 운영체제코드를 실행중인 상황
장점 : 운영체제 실행속도 빠름, 성능 우수
Microkernel
운영체제 기능이 운영체제 외부에 구현됨

S1~S4가 각각 운영체제 기능
커널 밖에서 구현되어 있어 응용프로그램 처럼 실행됨.
커널 내부에는 남아있는 기능이 많지 않음. 커널의 크기가 작다
== Micro 이름 붙음
이론적으로, Monolithic 커널 내부에 있는 기능을 다 커널 외부로 옮길수 있음.
하지만, Microkernel도 커널에만 있어야한 한 기능들 (Hard ware를 직접 제어하는 코드, 프로세스 메모리 영역 보호 하는 기능, 프로세스간 통신 기능, 프로세스 스케쥴링 기능)은 커널 내부에 남아있음.
그외 나머지들을 커널 외부로 뻼.
장점
단점
수행속도(Performance)은 모노리틱보단 늦음
개인 pc는 영향 없지만, 고속 처리가 필요한 (고성능 컴퓨터)는 속도가 많이 느려짐
서버용 OS로는 부적합
요즘 사용되는 운영체제 종류

범용 컴퓨터 : UNIX, Linux, Windows
모바일 : Linux+Android, iOS //안드로이드 자체로 os가 아님
임베디드 (내장형 컴퓨터, 실시간 운영체제 ) (ex:냉장고)
UNIX
운영체제 분야에서 매우 중요한 위치
서버 컴퓨터로 널리 이용중

Bell Lab에서 개발 , C 언어 개발자 데니스 리치가 합류
BSD : 유닉스 운영체제 확대 및 발전
UNIX 구조
내부 구조

파란 영역이 커널
→ Monolithic kernel

일반적인 UNIX 구조
커널(OS) 외부 System Call Interface가 있음
Linux
UNIX를 pc에서도 사용하고 싶어서 만듬 (80~)
90년대 리눅스 구현

Monolithic kernel 구조 (성능을 우선시함)
Windows
micro-kernel구조
원래 OS가 해야할 기능들이 Application처럼 실행됨
System support processes
Service processes
Applications : USER Mode
점선 위 : USER Mode
점선 아래 : Kernel Mode
