[운영체제] 커널구조

임클·2023년 3월 24일
0

커널구조

Monolithic Kernel , Microkernel

Monolithic Kernel

Monolithic : 단일체

커널 소프트웨어가 한 덩어리로 다같이 모여있다라는 뜻

파일관리, 프로세스 관리 , 메모리 관리 ,통신 프로토콜 관리 등 커널 내부에 구성됨.

커널 내부에 구현되어있음

커널 모드로 실행됨

커널 모드 : 컴퓨터가 응용프로그램을 실행하는것이 아닌 운영체제코드를 실행중인 상황

장점 : 운영체제 실행속도 빠름, 성능 우수

Microkernel

운영체제 기능이 운영체제 외부에 구현됨

S1~S4가 각각 운영체제 기능

커널 밖에서 구현되어 있어 응용프로그램 처럼 실행됨.

커널 내부에는 남아있는 기능이 많지 않음. 커널의 크기가 작다

== Micro 이름 붙음

이론적으로, Monolithic 커널 내부에 있는 기능을 다 커널 외부로 옮길수 있음.

하지만, Microkernel도 커널에만 있어야한 한 기능들 (Hard ware를 직접 제어하는 코드, 프로세스 메모리 영역 보호 하는 기능, 프로세스간 통신 기능, 프로세스 스케쥴링 기능)은 커널 내부에 남아있음.

그외 나머지들을 커널 외부로 뻼.

장점

  • 커널 안에는 꼭 필요한 것만 남아 있기 때문에 커널 크기가 작음
    • IOT, 스마트폰 처럼 작은 운영체제를 필요로 하는 경우에 효과적 사용 가능 (꼭 필요한 기능들로만 커스텀가능)
    • 메모리 공간 줄일수 있음
    • 확장성 좋음
    • OS 개발자 입장에서 기능 구현하기 좋음

단점

수행속도(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

profile
iOS를 공부하는 임클입니다.

0개의 댓글