운영체제의 구조

hyojeong_sss·2021년 3월 16일
0

운영체제

목록 보기
2/2
post-thumbnail

커널과 인터페이스

커널

: 운영체제의 핵심적인 기능을 모아놓은 것

인터페이스

: 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할
ex) GUI (그래픽을 사용한 인터페이스)


시스템 호출과 디바이스 드라이버

시스템 호출 (system call)

: 응용 프로그램이 커널에 접근할 수 있도록 커널이 제공하는 인터페이스 (API)

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

함수를 만들어 놔서, 이를 통해 자원에 접근할 수 있도록 하는 방식 (제공하는 API 통해서만 접근 가능)

드라이버

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

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

커널의 구성

단일형 구조 커널 (Monolithic)

: 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성

  • 초창기의 운영체제 구조

  • 장점 : 모듈 간의 통신 비용이 줄어들어 효율적인 운영이 가능

  • 단점
    1. 버그나 오류 처리하기 어려움

    1. 작은 결함이 시스템 전체로 확산될 수 있음
      1. 다양한 환경의 시스템에 적용하기 어려움
      2. 현대의 운영체제는 매우 크고 복잡하여 단일형 구조의 운영체제 구현 어려움

계층형 구조 커널

: 비슷한 기능을 수행하는 모듈을 묶어서 하나의 계층으로 만들고 계층 간의 통신을 통해 운영체제 구현

  • 시스템 설계나 구현 단순해짐
  • 계층의 정의가 쉽지 않음

마이크로 구조 커널

: 가장 기본적인 기능만 포함하고 기타 기능은 사용자 영역에서 수행

  • 각 모듈은 세분화되어 존재, 모듈 간의 정보 교환은 프로세스 간 통신을 이용하여 이루어짐
  • 지연이 적고, 예측 가능하여 실시간 시스템에 활용 (커널 자체가 굉장히 작게 유지되기 때문)
  • 모듈간 통신이 빈번하여 성능이 떨어질 수 있음

가상머신

: 운영체제와 응용 프로그램 사이에서 작동하는 프로그램

  • 응용 프로그램이 모두 동일한 환경에서 작동하는 것처럼 보임
  • 서버 가상화 : 물리적 서버 하나에 가상 서버를 여러 개 구성하는 방법
profile
컴공생

0개의 댓글