ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] 운영체제의 구조
    Computer Science/운영체제 2020. 1. 2. 17:35

    1. 커널과 인터페이스

     

    컴퓨터 시스템의 구조

    다음과 같이 운영체제는 크게 사용자와 응용 프로그램에 인접하여 커널에 명령을 전달하고 실행 결과를 돌려주는 '인터페이스'와 운영체제의 핵심 기능을 모아놓은 '커널', 두 부분으로 나뉜다.

     

    '커널'은 프로세스 관리, 메모리 관리, 입출력장치 관리, 파일 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 곳이다. 커널은 자동차의 엔진과 같은 존재로 운영체제의 성능은 커널이 좌우한다.

     

    운영체제는 커널과 인터페이스를 분리하여, 같은 커널을 사용하더라도 다른 인터페이스를 가진 형태로 제작할 수 있다. 따라서 사용자에게 다른 운영체제처럼 보이게 할 수 있다.

     

    2. 시스템 호출 

     

    '시스템 호출(System Call)'은 커널 스스로를 보호하기 위해 만든 인터페이스이다. 커널은 사용자나 응용 프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단한다. 따라서 자원에 접근하기 위해서 '시스템 호출' 이라는 인터페이스를 이용하여 접근해야 한다. 

     

    다음은 '직접 접근'과 '시스템 호출을 통한 접근'의 차이점을 보여주는 예시이다.

     

    '직접 접근'은 위의 그림처럼 두 응용 프로그램이 자신이 원하는 위치에 데이터를 저장할 수 있다. 그러나 이 과정에서 다른 사람의 데이터를 지울 수도 있고, 자신의 데이터가 다른 사람에 의해 지워질 수도 있다.

     

    그러나 '시스템 호출을 통한 접근'은 직접 하드디스크에 데이터를 저장하지 않고 커널이 제공하는 write() 함수를 사용하여 데이터 저장을 요청한다. 응용 프로그램은 데이터가 어느 위치에 어떤 방식으로 저장되는지 알 수 없고 이를 확인하기 위해서 read() 함수로 시스템 호출을 이용하여 가져와야 한다. 따라서 컴퓨터 자원을 관리하기가 수월하다.

     

    3. 드라이버

     

    응용 프로그램과 커널의 인터페이스가 '시스템 호출' 이라면 '드라이버'는 하드웨어와 커널 사이의 인터페이스이다.

     

    커널은 입출력의 기본적인 부분만 제공하고, 하드웨어의 특성을 반영한 소프트웨어(디바이스 드라이버)를 하드웨어 제작자에게 받아 커널이 실행될 때 함께 실행되도록 한다. 

     

     

    출처 : 조성호, 쉽게 배우는 운영체제, 한빛 아카데미

    댓글

Designed by Tistory.