OS kernel
- OS에서 kernel은 심장이다
- kernel 때문에 개발자는 하드웨어나 다른 애플리케이션에 끼치는 영향을 의식하지 않고 개발할 수 있다
1. 시스템 콜 인터페이스
1) 시스템 콜
- 애플리케이션이 OS를 통해 어떤 처리를 하고 싶으면 시스템 콜이라는 명령을 이용해서 커널에 명령한다
2) 예
- 디스크상의 데이터를 읽음, 네트워크 통신을 하고 싶다
- 해당 시스템콜을 호출하면 기능을 사용할 수 있다
- 위 요청 모두 프로세스 관점에서 커널에 대한 시스템 콜이다
2. 프로세스 관리
1) 물리서버 CPU 코어의 제한
- 물리서버의 CPU가 제한적이다. 그렇기 때문에 어떤 프로세스가 어느 정도의 CPU 코어를 이용할지 우선순위를 결정하는 것이 역할이다
- 스케줄 관리
3. 메모리 관리
- 프로세스 관리는 CPU 코어를 고려, 메모리 관리는 물리 메모리 공간의 최대치를 고려
- 프로세스가 이용하는 독립 메모리공간 확보, 상호간의 참조 영역을 지키기 위해 독립성 관리
4. 파일 시스템
- OS 기능의 하나로 물리 디스크에 제공된 데이터를 관리하는 기능
1) 역할
- 프로세스(스레드)는 편리성 때문에 모든것을 파일 단위로 생각한다
- 애플리케이션을 파일이라는 단위로 데이터를 작성하거나 삭제할 수 있다
- 폴더 구조제공, 엑세스 관리, 고속화, 안정화
5. 장치 드라이버
1) NIC나 디스크는 다수 제조사가 독자 제품을 제공하기 때문에 문제 발생
- 커널은 장치 드라이버를 이용해서 그 아래 물리 장치를 은폐
- 장치 제조사가 OS에 대응하는 장치 드라이버를 제공, 커널을 경유하여 이용가능
'IT_Infra > Architecture' 카테고리의 다른 글
[IT_Infra] 동기/ 비동기(synchronous/asynchronous) (0) | 2016.10.12 |
---|---|
[IT_Infra] monolithic kernel(모놀리식) vs micro kernel(마이크로) (0) | 2016.09.19 |
[IT_Infra] 프로세스와 스레드 (0) | 2016.09.12 |
[IT_Infra] 3계층 시스템의 구성도 (0) | 2016.09.07 |
[IT_Infra] 분할형 아키텍처(2) - 수직분할형 (0) | 2016.09.05 |