커널이 멀까?

이아론·2023년 12월 26일

알아보자

목록 보기
1/1

커널에 대해 알아보자

커널은 알맹이, 핵심 이라는 사전적 의미를 지니고 있다.
단어에서 유추할 수 있듯이 커널은 운영체제의 핵심부로 컴퓨터 자원을 관리하는 역할을 수행한다.

커널은 항상 컴퓨터 자원만을 바라보고있기때문에 사용자가 직접적으로 상호작용을 하는 것을 지원하지 않는다.

이 때문에 등장하게된 것이 shell이다.
사용자가 직접적으로 접근할 수 없기때문에 shell을 통해 kernel에게 명령을 내린다.

추상화

커널의 가장 큰 역할은 컴퓨터의 물리적 자원(하드웨어)과 추상화 자원을 관리하는 것이다.

응용프로그램에서 물리적 자원등을 사용하기위해서는 인터페이스가 필요하다. 이 인터페이스를 커널이 제공한다.

응용프로그램은 단순히 필요한 자원을 요청하고, 커널은 이 요청을 센스있게 하드웨어가 무엇인지 파악해 알맞은 대처를 한다.

이렇게 하드웨어 자원이 다양함에도 응용 프로그램에게 같은 서비스를 제공하는 것을 하드웨어 추상화라고 한다.
HAL(Hardware Adstraction Layer)라고 불린다.

커널의 5가지 관리자

커널은 자원들을 관리하기위해 5개의 관리자들로 구성되어있다.

  1. 태스크 관리자 : 물리적 자원인 CPU를 추상 자원인 태스크로 제공
  2. 메모리 관리자 : 물리적 자원인 메모리를 추상 자원인 페이지나 세그먼트로 제공
  3. 파일 시스템 관리자 : 물리적 자원인 디스크를 추상 자원인 파일로 제공
  4. 네트워크 관리자 : 물리적 자원인 네트워크 장치를 추상 자원인 소켓으로 제공
  5. 디바이스 드라이버 관리자 : 각종 외부장치( 프린터, GPU 등 )에 대한 접근을 제공

요약

유저 -> 시스템 프로그램 -> 커널 -> 컴퓨터 자원에 접근

이다.

0개의 댓글