본문 바로가기
OS

운영체제 구조, 커널과 인터페이스

by 워니 wony 2021. 6. 14.

운영체제 구조

  • 인터페이스
  • 커널
    • 시스템 호출
    • 드라이버

 

커널과 인터페이스

  • 커널 kernel : 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것, 운영체제의 성능은 커널이 좌우
  • 운영체제는 사용자와 응용 프로그램에 인접하여 커널에 명령을 전달하고 실행 결과를 사용자와 응용프로그램에 돌려주는 인터페이스와 운영체제의 핵심 기능을 모아 놓은 커널 두 부분으로 나뉨
  • 유닉스는 사용자 인터페이스를 shell이라 하고, 쉘은 명령어 기반이라 GUI에 익숙한 일반인이 보기에는 어렵게 느낄 수 있음, 쉘의 종류는 C쉘 , T쉘, 배시쉘 등 여러 쉘이 있음
  • 참고로 맥 OS X도 알고 보면 유닉스 계열의 커널을 이용해서 만든 것으로 커널이 같더라도 인터페이스에 따라 사용자가 느끼기에는 다른 운영체제처럼 느껴지게 됨

 

시스템 호출과 드라이버

커널 내부에 시스템 호출과 드라이버가 있음

 

시스템 호출

  • 시스템 호출(System Call)은 커널이 자신을 보호하기 위해 만든 인터페이스
  • 하드웨어 같은 시스템 자원을 사용할 수 있도록 인터페이스를 제공하는 데 이것을 시스템 호출이라 함
  • 시스템 호출은 커널이 제공하는 시스템 관련 서비스를 모아놓은 것이며 함수 형태로 제공됨, write(), read() 함수를 사용하여 데이터를 저장하거나 가져와서 사용
  • 응용 프로그램이 하드웨어 자원에 접근하거나 운영체제가 제공하는 서비스를 이용하려 할 때는 시스템 호출을 사용해야 함
  • 커널은 사용자나 응용 프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단함 > 자원을 이용하기 위해서는 시스템 호출이라는 인터페이스를 이용하여 접근해야 함

 

직접 호출 VS 시스템 호출을 통한 접근

  • 직접접근 : 사용자가 직접 컴퓨터 자원에 접근하여 작업하는 방식. 사용자가 모든 것을 처리, 컴퓨터 보호 어려운 단점이 있음
  • 시스템 호출을 통한 접근 : 요청을 하여 작업의 결과만 받는 방식. 사용자의 오작동 등으로 컴퓨터가 망가지는 것을 막을 수 있음

드라이버

  • 커널과 하드웨어의 인터페이스는 드라이버가 담당
  • 커널은 입출력의 기본적인 부분만 제작하고, 하드웨어의 특성을 반영한 소프트웨어를 하드웨어 제작자에게 받아 커널이 실행될 때 함께 실행 되도록 함
  • 이 때 하드웨어 제작자가 만든 소프트웨어를 디바이스 드라이버라고 부름
  • 마우스, 키보드 같은 디바이스 드라이버는 커널에 포함되어 있어 컴퓨터에 꽂기만 하면 작동되지만 프린터, 스캐너 같은 복잡한 디바이스 드라이버는 사용자가 직접 설치해야 함

커널이 하는 일

  • 프로세스 관리, 메모리 관리, 파일 시스템 관리, 입출력 관리, 프로세스 간 통신(Inter-process Communication, IPC) 관리 등

 

커널 종류

  • 커널은 기능 구현 방식에 따라 단일형 구조 커널, 계층형 구조 커널, 마이크로 구조 커널로 구분됨
  • 단일형 구조 : 초장기 운영체제 구조. 커널의 핵심 기능을 구현하는 모듈 구분 없이 하나로 구성되어 있음
  • 계층형 구조 : 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고 계층 간의 통신을 통해 운영체제를 구현하는 방식. 윈도우 등 현재의 운영체제 대부분이 이 구조로 이루어져 있음
  • 마이크로 구조 : 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공. 각 모듈이 독립적으로 작동하기 떄문에 하나의 모듈이 실패하더라도 전체 운영체제가 멈추지 않음. 커널의 크기가 커지고 소스가 방대 해져서 오류를 잡기 어려워져서 나온 구조. 애플의 OS X, IOS의 커널로 사용되고 있음
반응형

'OS' 카테고리의 다른 글

운영체제 OS란 무엇인가?  (0) 2021.06.13

댓글