반응형

커널

: 커널은 운영체제(OS)의 일부로써 하드웨어프로세스운용을 위한 소프트웨어이다.

커널이라고하면, 운영체제를 말하기도하고, 응용 프로그램(엑셀, 파워포인트, 메모장 등)의 실행 환경을 이루고 운용하는 것을 말하기도 한다.

시스템의 자원은 한정되어 있지만, 동작되고 있는  프로그램들은 많기 때문에, 커널은 한 프로그램이 언제 얼마큼 자원을 써야하는지 결정하고 운영시켜야 한다.

CPU를 얼만큼씩 어떠한 일에 쓸 것인가 등의 스케줄링을 하게 된다.

 

커널의 특징 및 기능

- 커널은 디스크에 파일로써 존재하는 프로그램

- 시스템이 가동될 때 boot(부팅) 프로그램에 의해 구동되며 메모리에 상주

- 프로세스와 파일을 관리

- 입출력(I/O) 장치 관리

- 메모리 관리

- 시스템 호출 인터페이스기능 수행 

- 디스크, 네트워크, 비디오 카드 등 하드웨어 관리

- 응용 프로그램(엑셀, 파워포인트, 메모장 등 실행)이 이러한 하드웨어를 접근하는 통로

응용프로그램의 요청 -> 하드웨어 수행 -> 결과를 응용프로그램에게 반환

 

 

커널의 분류

✔️ Linux 커널만을 다루겠습니다.

 

리눅스 커널

리눅스는 가장 유명한 오픈 소스 OS(운영체제)이다. 리눅스는 한 사람의 프로젝트에서 수 천명의 개발자들이 포함된 전 세계적인 개발 프로젝트로 진화했다.

 

커널과 사용자 애플리케이션은 서로 다른 주소 공간들을 사용한다.

사용자 공간은 고유의 가상 주소 공간을 차지하지만, 커널은 하나의 주소 공간을 차지

 

 

커널공간 내부

- 시스템 호출 인터페이스(System Call Interface) : 사용자 공간에서 커널로 함수 호출을 수행하는 수단을 제공

 

- 프로세스 관리(PM) : 프로세스의 실행을 관리. 보통 이를 쓰레드라고하고, 프로세스의 직접적인 수행하는 자.

✔️ 사용자 공간에서는 일반적으로 프로세스라는 말이 사용된다. 쓰레드, 데이터, 스택, CPU레지스터를 포함한다.

 

- 메모리관리(MM) : 하드웨어는 가상 메모리를 관리하고, 메모리는 페이지(page)라고 하는 곳에서 관리된다.

✔️ 다중 메모리 사용자를 지원할 때, 메모리가 차면 디스코로 옮겨야하는 경우에, 이 페이지는 메모리에서 하드디스크로 교환(swap)하게 된다. 페이지 교체(swapping)이라고 부른다.

 

등등이 있다.

반응형

+ Recent posts