인터페이스

• 응용 프로그램과 커널의 첫번째 인터페이스

• 커널에 사용자의 명령을 전달하고 실행 결과를 다시 사용자에게 알려주는 역할

• 운영체제는 커널과 인터페이스를 분리하며, 같은 커널이여도 다른 인터페이스 형태로 제작 가능하다.

    ◦  같은 커널이라도 다른 인터페이스가 장착되면 사용자에게 다른 운영체제로 보일 수 있다.

          -  예) 유닉스의 인터페이스는 쉘(shell)이라 하며, bash 쉘, C 쉘, T 쉘 등 여러 종류가 있다.


시스템 호출

• 응용 프로그램과 커널의 두번째 인터페이스

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


커널

• 운영체제 중 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려놓고, 그렇지 않은 부분은 필요할 때 메모리에 올려서 사용하는데
    이 때 메모리에 상주하는 부분을 커널 이라 부른다.

• 주로 하는 일은 메모리 관리, 프로세스 관리, 파일 시스템 관리, 입출력 관리, 프로세스 간 통신 관리 등이 있다.

 

단일형 구조 커널

    ◦  초창기 커널 구조. 커널의 핵심 기능을 구현하는 모듈이 구분 없이 하나로 구성되어 있다.

    ◦  장점

          -  모듈 간의 통신 비용이 적어 효율적이다.

    ◦  단점

          -  모든 모듈이 하나로 묶여 있기 때문에 버그나 오류를 처리하기 어렵다.

          -  기능 간 상호 의존성이 높기 때문에 한 기능의 결함이 시스템 전체 결함으로 이어질 수 있다.

          -  다양한 환경 시스템에 적용하기 어렵다. (수정이 불가능하므로)

 

계층형 구조 커널

    ◦  단일형 구조 커널이 발전된 형태. 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고,

        계층 간의 통신을 통해 운영체제를 구현하는 방식

    ◦  비슷한 기능 끼리 모듈화 되어 있기 때문에 오류가 발생하면 문제가 있는 계층만 고치면 되는 등 단일형 구조보다 버그나 오류를

         쉽게 고칠 수 있다.


드라이버

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

• 다양한 하드웨어에 맞는 인터페이스를 직접 개발하는 것은 어렵기 때문에, 하드웨어의 특성을 반영한 소프트웨어인 디바이스 드라이버

    하드웨어 제작자에게 받아 커널이 실행될 때 함께 실행되도록 한다.


참고자료

 

운영체제 - YES24

운영체제

www.yes24.com

 

'CS Knowledge > 운영체제' 카테고리의 다른 글

[OS] CPU 스케줄링 개념  (0) 2022.09.16
[OS] 스레드와 멀티스레드  (0) 2022.09.08
[OS] 프로세스와 Context Switching  (0) 2022.09.08
[OS] 운영체제 개요  (0) 2022.09.07
[OS] 운영체제와 프로세스 & 스레드  (0) 2022.06.26