내가 이해하는대로 커널은 하드웨어와의 모든 상호 작용을 수행하고 메모리, I / O 장치 등을 관리합니다. 따라서 커널은 모든 작업을 수행하지만 운영 체제의 일부일뿐입니다. 그렇다면 OS에는 또 무엇이 있습니까? 번들로 제공되는 응용 프로그램 만 있습니까? 예를 들어, Ubuntu에는 커널 외에 무엇이 있습니까? Gnome Desktop 및 몇 가지 다른 응용 프로그램?
처음에 이것에 대해 "커널"이라는 단어를 갖게 된 원래의 비유는 너무 자주 잊혀집니다. 비유는 운영 체제가 씨앗 또는 열매라는 것입니다. 시드의 "커널"은 운영 체제의 핵심으로, 사용자가 외부에서 보는 시드의 "쉘"로 둘러싸인 응용 프로그램에 운영 체제 서비스를 제공합니다.
어떤 사람들은 "커널"(실제로 "쉘")을 그보다 더 구체적으로 묶고 싶어합니다. 그러나 사실 운영 체제에는 많은 차이가 있습니다. 최소한 이러한 변형은 "쉘"(Solaris sh
에서 Netware의 Console Command Interpreter, OS / 2의 Workplace Shell 및 Windows NT의 Explorer에 이르기까지 다양 함)을 구성하는 것입니다 . 그러나 한 운영 체제에서 다른 운영 체제까지 많은 차이가 있습니다. "커널"의 일부인지 아닌지 (예를 들어 디스크 I / O를 포함하거나 포함하지 않을 수 있음). 이러한 용어는 은유라는 것을 기억하는 것이 가장 좋습니다 .
다른 용어가 있습니다. IBM 메인 프레임 용어에서 시드 / 너트 비유의 "커널"을 제어 프로그램 이라고합니다 . 다른 이름으로는 감독자 , 모니터 , 코어 및 임원이 있습니다. 핵심은 또 다른 명백한 생물학적 은유입니다. 너무 다른 이름이라는 것이 흥미 롭습니다. 하비 M. Deitel는 그의에서 운영 시스템 의 제어 프로그램을 호출 핵 , 말한다
핵은 일반적으로 전체 운영 체제로 간주되는 코드의 작은 부분을 나타냅니다 ...]
"핵"이라는 단어는 라틴 핵 에서 유래되었으며 너트의 핵 을 의미합니다 ( "너트"를 의미 하는 라틴 nux 참조). 그래서 심지어 제어 프로그램을 "핵"이라고 부르는 것조차도 사실이 같은 운영 체제와 같은 비유를 만드는 것입니다. 단순한 운영 체제 이상에 사용되는 비유입니다. 예를 들어 화학에 익숙하다면 원자핵 이 껍질의 전자로 둘러싸여 있다는 것을 알 수 있습니다 .
익명의 사람 new123456
이 아래에 쓴 내용은 이러한 은유의 기원을 잊음으로써 발생하는 실수를 전체로 잘못 인식하고 커널을 전체 운영 체제로 착각하는 정도의 실수를 예시합니다. "유저 랜드"프로그램이된다고해서 셸이 운영 체제의 외부가되는 것도 아니고 커널을 둘러싸는 것보다 적은 것도 아닙니다. 더욱이, 버전 7 이후의 유닉스에는 적용되지 않는 DOS 전용 아이디어와는 거리가 멀다.이 아이디어는 유닉스 세계에서 널리 퍼져 있고 최신이다.
( new123456
DOSism으로 착각하는 것은 아이러니합니다 . 커널 / 쉘은 초기에는 CP / M에서 명령 프로세서 등 을 선호했던 DOS에 상당히 이질적이었습니다. 이전의 CP / M과 마찬가지로 MS-DOS는 분리되었습니다. 에 기본 디스크 운영 체제 (BDOS)의 기본 입출력 시스템 (BIOS -이 아닌 시스템 펌웨어 주)는 명령 프로세서 및 가사 유틸리티 . 코드는 실제로 파일에이 방법을 소포로 된이 다른 것입니다. 예를 들어, 실제로 커널 / 쉘 은유 가 실제로 많은 운영 체제 의 실제 부서 와 완전히 일치하지 않거나 완전히 일치하지 않는 방법에 대한 것 입니다.)
new123456
전체 운영 체제 의 일부인 핵에 대해 Deitel이 쓴 내용을 잊고 있습니다. 운영 체제는 모두 커널과 쉘. 그것은 결국 은유입니다. Deitel도 혼자가 아닙니다. 1980 년대부터 Unix-as-a-nut 은유를 설명하는 Unix 책이 많이 있습니다. 저는 Urban과 Tiemann의 Teach Yourself FreeBSD in 24 Hours (SAMS, ISBN 9780672324246)를 추천합니다. 54 페이지에 시드로서의 운영 체제 은유를 설명하는 다이어그램이 있고 놀랍게도 그렇게 할 책이 거의 없습니다.
"핵"이라는 이름은 아마도 이전 이름 일 것입니다. 커널 / 쉘 용어를 선호하는 유닉스보다 확실히 앞선 것은 오늘날 (유닉스 덕분에 작은 부분은 아니지만)이 더 널리 퍼져 있습니다. 다음은 Alan C. Shaw의 1974 년 저서 The logical design of operating systems (Prentice-Hall, ISBN 9780135401125)의 내용입니다.
주 기억 장치에 영구적으로 상주하는 시스템 부분을 역사적으로 핵 이라고합니다 . 핵은 일반적으로 프로세스, 자원 및 입력-출력 관리를위한 최소한의 프리미티브 및 프로세스 세트로 구성됩니다.Shaw도 다이어그램을 가지고 있습니다. ☺
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다