답변:
처음에 이것을 위해 "커널"이라는 단어를 얻은 원래의 은유는 너무 자주 잊혀집니다. 은유는 운영 체제가 시드 또는 너트라는 것입니다. 시드의 "커널"은 운영 체제의 핵심으로, 응용 프로그램에 운영 체제 서비스를 제공하며, 사용자는 외부에서 보는 시드의 "쉘"로 둘러싸여 있습니다.
어떤 사람들은 "커널"(그리고 실제로 "쉘")을 그보다 더 구체적으로 묶기를 원합니다. 그러나 실제로 운영 체제마다 많은 변형이 있습니다. 이러한 변형이 "쉘"(Solaris sh
에서 Netware의 Console Command Interpreter를 통한 OS / 2의 Workplace Shell 및 Windows NT 탐색기에 이르기까지 다양 함)을 구성하는 것은 아니지만 운영 체제마다 차이가 있습니다. "커널"의 일부는 무엇입니까 (예 : 디스크 I / O를 포함하거나 포함하지 않을 수 있음). 이 용어는 은유라는 것을 기억하는 것이 가장 좋습니다 .
다른 용어가 있습니다. IBM 메인 프레임 용어에서 시드 / 너트 은유의 "커널"을 제어 프로그램 이라고합니다 . 다른 이름으로는 감독자 , 모니터 , 핵심 및 임원이 있습니다. 핵심은 또 다른 명백한 생물학적 은유입니다. 다른 이름도 흥미 롭습니다. 하비 M. Deitel는 그의에서 운영 시스템 의 제어 프로그램을 호출 핵 , 말한다
핵은 일반적으로 전체 운영 체제로 일반적으로 생각되는 것의 코드의 작은 부분을 나타냅니다 [...]
"nucleus"라는 단어는 라틴어 핵 에서 나 왔으며 너트의 커널을 의미합니다 ( "nut"을 의미 하는 Latin nux 참조). 따라서 제어 프로그램을 "핵"이라고 부르는 것조차도 사실상 동일한 운영 체제를 너트로 비유하는 것입니다. 단순한 운영 체제 이상으로 사용되는 비유입니다. 예를 들어 화학에 익숙하다면 원자핵 이 전자 껍질로 둘러싸여 있다는 것을 알게 될 것입니다 .
가상의 사람 new123456
이 아래에 쓴 내용은 이러한 은유의 기원을 잊어 버려서 발생하는 실수를 전체의 일부를 실수로하고 전체 운영 체제의 커널을 실수로 범하는 정도를 나타냅니다. "userland"프로그램이라고해서 쉘이 운영 체제 외부로 떨어지거나 커널을 둘러싸고있는 것으로 만들지는 않습니다. 또한, 버전 7 이후의 Unix에는 적용되지 않는 DOS 전용 아이디어와는 거리가 멀다.
new123456
DOSism으로 오해하는 것은 아이러니 한 일이다. 커널 / 쉘 은유는 초기에는 DOS와 상당히 이질적이었으며 , CP / M의 명령 프로세서 와 그와 유사한 것을 선호했다 . 에 기본 디스크 운영 체제 (BDOS)의 기본 입출력 시스템 (BIOS -이 아닌 시스템 펌웨어 주)는 명령 프로세서 및 가사 유틸리티 . 코드는 실제로 파일에이 방법을 소포로 된이 다른 것입니다. 실제로 커널 / 쉘 메타포 가 실제로 많은 운영 체제 의 실제 디비전을 다루거나 완전히 일치시키지 않는 방법에 대한 예 )
new123456
전체 운영 체제 의 일부인 핵에 대해 Deitel이 작성한 것을 잊고 있습니다. 운영 체제는 모두 커널과 쉘. 그것은 결국 은유입니다. Deitel도 혼자가 아닙니다. 1980 년대부터 유닉스와 같은 비유를 설명하는 유닉스 책이 많이 있습니다. 나는 어번과 Tiemann이 24 시간 안에 FreeBSD를 가르쳐라 (SAMS, ISBN 9780672324246). 그렇게하는 몇 권의 책.
"핵"이라는 이름은 아마도 이전 이름 일 것입니다. 확실히 유닉스를 포식하는 것은 오늘날 유닉스 덕분에 커널 / 쉘 용어가 더 선호된다는 커널 / 쉘 용어를 선호한다. 다음은 Alan C. Shaw의 1974 년 책 운영 체제의 논리적 설계 (Prentice-Hall, ISBN 9780135401125)에있는 내용입니다.
주 저장 장치에 영구적으로 상주하는 시스템의 일부를 역사적으로 핵 이라고합니다 . 핵은 일반적으로 프로세스, 자원 및 입출력을 관리하기위한 최소한의 기본 요소와 프로세스로 구성됩니다.Shaw도 다이어그램을 가지고 있습니다. ☺
@
사용자 이름을 언급 할 때 응답 대기열에 게시되도록 어딘가에 남겨 두십시오 .
운영 체제의 다른 부분에는 커널과 상호 작용하는 드라이버, 사용자 인터페이스, 네트워킹 및 커널과 실제 응용 프로그램 사이에있는 OS의 기타 핵심 부분을 처리하는 여러 계층의 도우미 프로그램이 있습니다.
예를 들어, OS X 의 구조를 보여주었습니다. 커널 (하늘색) 위에 보이는 것처럼 "핵심"기능, 시스템 도구, 서비스 및 API (응용 프로그램 프로그래밍 인터페이스)의 여러 계층이 있습니다. 심지어 실제 응용 프로그램 자체에서 일반적으로 사용하는 GUI에 액세스하십시오.
대부분의 운영 체제는 비슷한 구조를 가지고 있지만 실제로 커널의 일부가 얼마인지에 대한 차이점은 광범위합니다. 비교 에 대한 마이크로 커널에 대한 Wikipedia 기사를 참조하십시오 .
편집-귀하의 의견에 답하기 위해 (내 의견이 약간 길었습니다)
리눅스 커널 만 부팅 할 수 는 있지만 실제로 많은 것을 달성 할 수는 없습니다. 보시고 사용하는 모든 인터페이스를 제공하는 모든 도우미 응용 프로그램입니다.
커널이 부팅되고 하드웨어가 초기화되면 서비스를 시작하기위한 기능을 제공하는 GNU / Linux 운영 체제의 다른 부분 (예 : 원시 장치 인터페이스로 채워진 UDEV 등) /dev
을 사용하여 프로그램을 사용할 수 있습니다. 응용 프로그램이 GNOME 또는 KDE 와 같은 창 관리자를 통해 창과 아이콘을 표시 할 수 있도록 X.org 와 같은 네트워크 ( dhcpcd ) 및 API 를 설정하는 하드 드라이브 및 직렬 포트 등) 및 프로그램 .
그러나 그렇습니다. 커널 자체를 부팅 할 수 있습니다. "부팅했습니다. 이제 무엇을해야합니까?" 신속한.