티스토리 뷰
이 포스팅은 위키백과를 참고하여 영어울렁증이 있는 저에게 친구인 번역기와 함께 번역하여 작성한 포스팅 입니다.
영어 울렁증이 없으시다면 가서 보시는걸 더욱 추천드립니다.
커널에 대해서는 저번 포스팅인 운영 체제란? 에서 마지막 부분에 간략하게 소개를 했습니다.
그러면 이번 포스팅에서는 커널에 대해 자세히 적어 보도록 하겠습니다.
(커널의 일반적인 구조 ,출처 : 위키백과)
위 사진은 일반적인 커널의 형태 입니다.
맨 위의 Applications 가 응용 프로그램 이고요 그 밑에 존재하는것이 커널 그리고 커널 밑에 각종 하드웨어 들이 있는것을 알 수 있습니다.
이처럼 커널은 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공하여 응용 프로그램이 하드웨어에서 부터 오는 자원을 관리하고 사용 할 수 있게 해줍니다.
아래는 영어 위키백과에 존재하는 Functions of the kernel 이라는 부분을 제가 번역 한 것입니다. 따라서 많이 부자연스러울수 있으니 양해 부탁드립니다. 영어를 좀 하신다면 가서 직접 보시는걸 추천드립니다!
커널의 기능들
커널의 주요 기능은 컴퓨터에 속한 자원들에 대한 접근을 중재 하는 것 입니다.
CPU
컴퓨터 시스템의 중앙 부품들은 프로그램을 작동 시키거나 실행시키는 역할을 담당합니다.
커널은 많은 프로그램들중 어느것이 프로세서에 할당되어야 하는지 결정할 책임이 있습니다 (아마도 스케줄링에 대한 설명 같습니다)
Random-Access Memory (RAM)
램은 프로그램의 명령어와 데이터를 저장 하는 대에 이용됩니다.
일반적으로, 프로그램을 실행 시키려면 명령어와 데이터 둘 다 있어야 합니다.
종종 여러 프로그램들은 메모리에 접근하기를 원하며, 컴퓨터가 가지고 있는 메모리보다 더 많은 메모리를 요구 하기도 합니다.
커널은 각 프로세서가 사용 할 수 있는 메모리를 결정하고, 그리고 메모리가 부족할때 수행 할 행동을 결정합니다.
입출력 장치
입출력 장치는 키보드, 마우스, 디스크 드라이브, 프린터, 네트워크 어댑터 그리고 디스플레이 장치를 말합니다.
커널은 응용 프로그램의 요청을 받아 입출력을 수행하며 장치를 사용하기 위한 편리한 방법을 제공합니다.
일반적으로 응용 프로그램이 장치의 세부 사항을 알 필요가 없을 정도로 추상화가 됩니다.
(입출력 장치에 같은 블록에 있던 구문이 아닙니다, 여기에 오역이 조금 많습니다.)
리소스 관리에 필요한 핵심 요소는 실행공간의 정의와 공간 내의 리소스에 대한 접근을 중재하는데사용되는 보호 메커니즘 입니다.
커널은 또한 IPC(Inter Proces commnuication)이라고 불리는 프로세스 간의 동기화 및 통신을 위한 방법을 제공합니다.
커널은 이러한 부분을 자체적으로 구현 하거나, 다른 프로세스에 기능을 제공하기 위해 다른 프로세스에게 의존 할 수 있도록 합니다.
이러한 경우에는 프로세스가 서로 제공한 기능에 접근 할 수 있도록 프로세서가 IPC를 지원 해야 합니다.
마지막으로 커널은 실행중인 프로그램에 이러한 기능에 대한 접근 방법을 제공 해야 합니다.
메모리 관리
'OS' 카테고리의 다른 글
프로세스란 무엇인가 (1) | 2017.02.09 |
---|---|
커널의 종류 (0) | 2017.02.08 |
커널의 기능들 - 2 (0) | 2017.02.08 |
운영체제란? (0) | 2017.02.07 |
CPU Register (0) | 2016.04.22 |