Windows, Mac, Linux 또는 Android와 같은 모든 운영 체제에는 커널이라는 핵심 프로그램이 있습니다. 전체 시스템의 '보스' 역할을 합니다. OS의 핵심입니다! 커널은 다른 모든 것을 제어하는 컴퓨터 프로그램일 뿐입니다. 컴퓨터에서 일어나는 모든 일은 그것을 통과합니다. 이 게시물에서 우리는 OS에서 커널이 무엇인지, 그리고 다양한 유형의 커널에 대해 논의할 것입니다.
OS의 커널이란 무엇입니까
이제 OS의 핵심 프로그램이라는 것을 알았으므로 부트로더 이후에 로드되는 첫 번째 프로그램이기도 합니다. 그런 다음 하드웨어와 소프트웨어 또는 응용 프로그램 간의 모든 대화를 수행합니다. 따라서 프로그램을 시작하면 사용자 인터페이스가 커널에 요청을 보냅니다. 그런 다음 커널은 처리 능력, 메모리 및 기타 사항을 할당하기 위해 CPU, 메모리에 요청을 전송하여 애플리케이션이 프런트 엔드에서 원활하게 실행될 수 있도록 합니다.
Kernel을 번역가로 상상할 수 있습니다. 소프트웨어의 입출력 요청을 CPU 및 GPU용 명령어 세트로 변환합니다. 간단히 말해서 모든 것을 가능하게 하는 소프트웨어와 하드웨어 사이의 계층입니다. 커널은 다음을 관리합니다.
- CPU/GPU
- 기억
- 입력/출력 또는 IO 장치
- 리소스 관리
- 메모리 관리
- 기기 관리
- 시스템 호출.
사용자 프로세스는 시스템 호출을 통해서만 커널 공간에 액세스할 수 있습니다. 프로그램이 직접 액세스를 시도하면 오류가 발생합니다.
읽기 :커널 모드와 사용자 모드의 차이점.
커널 보안 및 보호
커널은 또한 하드웨어를 보호합니다. 보호 장치가 없으면 모든 프로그램이 컴퓨터 충돌, 데이터 손상 등을 포함하여 컴퓨터에서 모든 작업을 수행할 수 있습니다.
현대의 컴퓨터에서 보안은 하드웨어 수준에서 구현됩니다. 예를 들어, Windows는 신뢰할 수 있는 출처가 아니며 서명을 사용하여 인증된 드라이버를 로드하지 않습니다. 보안 부팅과 신뢰할 수 있는 부팅이 대표적인 예입니다.
보안 부팅: PC 업계 구성원들이 개발한 보안 표준입니다. 시스템 시작 프로세스 중에 승인되지 않은 응용 프로그램이 실행되지 않도록 하여 악성 프로그램으로부터 시스템을 보호하는 데 도움이 됩니다. 이 기능을 사용하면 PC 제조업체가 신뢰하는 소프트웨어만 사용하여 PC가 부팅됩니다. 따라서 PC가 시작될 때마다 펌웨어는 펌웨어 드라이버(옵션 ROM) 및 운영 체제를 포함한 각 부팅 소프트웨어의 서명을 확인합니다. 서명이 확인되면 PC가 부팅되고 펌웨어가 운영 체제를 제어합니다.
신뢰할 수 있는 부팅: VTPM(Virtual Trusted Platform Module)을 사용하여 로드하기 전에 Windows 10 커널의 디지털 서명을 확인합니다. 그런 다음 부팅 드라이버, 시작 파일 및 ELAM을 포함하여 Windows 시작 프로세스의 다른 모든 구성 요소를 확인합니다. 파일이 어느 정도 변경되거나 변경된 경우 부트로더는 이를 감지하고 손상된 구성 요소로 인식하여 로드를 거부합니다. 즉, 부팅하는 동안 모든 요소에 대한 신뢰 체인을 제공합니다.
커널의 유형은 무엇입니까
커널은 보안 회선에서 하드웨어와 통신할 수도 있습니다. 따라서 회사는 일련의 버튼을 통해 하드웨어와 통신할 수 있는 커널을 개발할 수 있습니다. 세탁기를 예로 들어보자. 이동하는 노브와 설정한 시간에 따라 기본 커널 수준이면 충분합니다. 즉, 커널 자체는 시간이 지남에 따라 복잡해져서 커널 유형이 생성됩니다.
- 모놀리식 커널: 여기서 OS와 커널은 모두 동일한 메모리 공간에서 실행되며 보안이 크게 중요하지 않은 경우에 적합합니다. 결과적으로 더 빠르게 액세스할 수 있지만 장치 드라이버에 버그가 있는 경우 전체 시스템이 충돌합니다.
- 마이크로커널: 커널 자체가 대부분의 작업을 수행할 수 있고 추가 GUI가 필요하지 않은 모놀리식 커널의 제거된 버전입니다. 보안 및 충돌 시스템이 발생하지 않거나 발생하지 않을 경우에 사용해야 합니다.
- 하이브리드 커널: 이 커널은 우리가 가장 많이 보는 것입니다. 윈도우, 애플의 맥OS. 모놀리식 커널과 마이크로커널이 혼합되어 있습니다. Windows가 부팅 프로세스를 시작할 때 드라이버가 로드되는 방식과 유사하게 드라이버를 제거하지만 커널 내부에 시스템 서비스를 유지합니다.
- 나노 커널: 커널이 필요하지만 대부분의 기능이 외부에 설정되어 있다면 이것이 중요합니다.
- 엑소 커널: 이 커널은 프로세스 보호 및 리소스 처리만 제공합니다. 그러나 사내 프로젝트를 테스트하고 더 나은 커널 유형으로 업그레이드할 때 주로 사용됩니다.
커널에는 우리가 이야기한 것보다 더 많은 것이 있습니다. 더 깊이 파고들수록 커널의 정의는 더 넓고 심오해집니다.
이 게시물이 이해하기 쉽고 기본적인 내용을 이해하는 데 도움이 되었기를 바랍니다.
다음 읽기 :Linux 커널의 대화형 맵.