[운영체제] 커널이 무엇??
- 프로세서 제어(process Control)
- 파일 조작(file manipulation)
- 장치 관리(Device Management)
- 정보 유지(Information maintenance)
- 통신(Communication)
컴퓨터의 운영체제의 핵심이 되는 프로그램.
시스템의 모든 것을 완전히 통제.
어셈블리어와 c언어로 프로그래밍됨.
커널의 종류 : 단일형, 마이크로, 혼합형, 나노, 엑소
역할 :
보안 - 컴퓨터하드웨어와 프로세스의 보안을 책임.
자원관리 - 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게함.
추상화 - 하드웨어에 직접 접근하는 것은 매우 복잡! , 하드웨어에게 깔끔하고 일관성있는 인터페이스를 제공.
사용자가 여러장비에서 사용하는 프로그램을 개발하는 것을 돕는다.
하드웨어 추상화 계층(HAL) 은 제조사의 장비규격에 대한 특정한 명령어를 제공하는 소프트웨어 드라이버에 의지한다.
*하드웨어 추상화 계층?
하드웨어 추상화 계층(Hardware Abstration Layer)은
컴퓨터의 물리적인 하드웨어와 컴퓨터가 실행하는 소프트웨어 사이의 추상화 계층이다.
운영체제가 자세하고 복잡한 하드웨어 계층이아닌 일반적이고 추상적인 계층에서 하드웨어 서비스와 상호작용을 할 수 있게 해준다. 즉 여러 다른 플랫폼의 하드웨어들을 하나의 일반적인, 일관된 개념으로 추상화 시켜서 응용프로그램이 작동할 수 있도록 한다.
다른말로 응용프로그램이 하드웨어(cpu, 메모리, 등)장치에 직접 접근하는 것을 막는다.
HAL은 운영체제의 커널이나 장치 드라이버로 부터 호출될 수 있으며,
부팅 시 커널영역에서 어떤 HAL을 사용해야 하는지 탐지 그리고 하드웨어의 드라이버들를을 불러옴
시스템 콜 ( system
call) ?
응용프로그램의 요청에 따라 커널에 접근하기위한 인터페이스
보통 c나 c++과 같은 고급언어로 프로그램밍된 응용프로그램들은 직접 시스템 호출을 할 수 없기에 고급API를 통해 시스템 호출에 접근하게 하는 방법.
예를 들어 한 응용프로그램이 더 많은 메모리를 할당받기를 원한다면 시스템콜을 통해 커널에 접근하여 해당요청을 처리
운영체제의 유저모드에서 시스템콜이 호출됨, 시스템콜 인터페이스를 통해 커널모드 전환, (모드 스위치), 커널모드에서 시스템콜을 처리 후 다시 유저모드로 복귀.
시스템호출의 유형
초기 컴퓨터엔 커널(운영체제)은 필수적이 아니엇다...하지만 다른프로그램을 실행시키기 위해서는 매번 컴퓨터를 껐다 켜야한다는 번거러움,. 로더, 디버거 같은 프로그램을 사용하기 시작하였고 이것이 초기운영체제의 커널의 시초.
댓글
댓글 쓰기