Linux Kernel
커널이라는 용어의 의미 와 다양한 종류의 커널이 무엇인지 알고 싶습니다 . 예를 들어 커널 Microkernels
과 커널의 차이점이 무엇인지 알고 싶습니다 Monolithic
. 이 용어를 단순화하고 예를 들어 주시겠습니까? Windows나 Android와 같은 다른 시스템에도 커널이 있다고 들었습니다. 그렇다면 이러한 모든 시스템의 커널 간의 차이점은 무엇입니까?
답변1
이 용어는 인터넷에서 잘 다루고 있습니다! 커널은 을 의미하는 용어입니다 the core or the central or the most important part of something
. 운영 체제(OS)의 다른 모든 부분에 필수적인 서비스를 제공합니다. 운영 체제와 하드웨어 사이에 브리지를 구축하여 메모리 관리, 인터럽트 처리, 프로세스 관리, 장치 관리 및 제어, 파일 시스템 및 네트워킹을 지원합니다.
커널은 종종 shell
사용자 명령과 상호 작용하는 운영 체제의 가장 바깥쪽 부분인 운영 체제 에 비유됩니다. 커널과 셸은 Unix
Linux 핵심 프로그래밍 언어에서 널리 사용되는 용어입니다. 커널은 기본 입출력 시스템(BIOS)이 아니며, 컴퓨터 회로 기판 내부의 칩에 저장된 별도의 프로그램입니다. 커널, 커널 등 다양한 유형의 커널이 있습니다 microkernels
.monolithic
hybrid
마이크로커널과 모놀리식 커널 커널은 모노커널과 마이크로커널이라는 두 가지 주요 아키텍처로 나뉩니다. 이러한 유형 간의 주요 차이점은 지원하는 주소 공간의 양입니다. 마이크로커널은 별도의 주소 공간에서 사용자 서비스와 커널 서비스를 위임하는 반면, 모놀리식 커널은 동일한 주소 공간에서 서비스를 구현합니다.
마이크로커널의 모든 서비스는 커널 주소 공간에 위치합니다. 모놀리식 커널은 동일한 주소 공간에 커널과 사용자 서비스를 수용하기 때문에 더 큽니다.
둘 사이의 통신 프로토콜도 다르며, 모놀리식 코어는 더 빠른 시스템 호출을 사용하여 하드웨어와 소프트웨어 간의 프로세스를 실행합니다. 마이크로커널은 메시징을 사용하여 패킷, 신호 및 기능을 올바른 프로세스로 보냅니다.
마이크로커널은 새로운 서비스를 추가하기 위해 더 큰 유연성을 제공하며 관리자는 사용자 주소 공간을 수정할 수 있습니다. 새로운 서비스를 지원하려면 관리자가 전체 커널을 다시 빌드해야 하므로 전체 커널에 더 많은 작업이 필요합니다.
격리 특성으로 인해 마이크로커널은 더 안전하며 주소 공간의 한 서비스가 실패하더라도 영향을 받지 않습니다. 모놀리식 코어는 서비스가 실패하면 전체 시스템이 종료되므로 시스템에 더 큰 보안 위험을 초래합니다.
모놀리식 커널은 마이크로커널만큼 많은 소스 코드를 필요로 하지 않으므로 버그가 발생할 가능성이 적습니다.
마이크로커널 기반 운영 체제의 예로는 Mac OS X, Windows NT, QNX, L4 and HURD
. 모놀리식 커널의 예는 에 있습니다 Unix and Linux
.
모놀리식 커널이 마이크로커널보다 훨씬 오래되었다는 점은 주목할 가치가 있습니다. 이 아이디어는 1980년대 후반에 고안되었습니다.
예, 모든 시스템에는 시스템 리소스를 처리하고 소프트웨어/하드웨어를 연결하는 다양한 방법이 있는 고유한 코어(예: 커널)가 있습니다.