커널 이외의 운영 체제에는 무엇이 있습니까?

AnkurVj

내가 이해하는대로 커널은 하드웨어와의 모든 상호 작용을 수행하고 메모리, I / O 장치 등을 관리합니다. 따라서 커널은 모든 작업을 수행하지만 운영 체제의 일부일뿐입니다. 그렇다면 OS에는 또 무엇이 있습니까? 번들로 제공되는 응용 프로그램 만 있습니까? 예를 들어, Ubuntu에는 커널 외에 무엇이 있습니까? Gnome Desktop 및 몇 가지 다른 응용 프로그램?

JdeBP

물론 껍질.

처음에 이것에 대해 "커널"이라는 단어를 갖게 된 원래의 비유는 너무 자주 잊혀집니다. 비유는 운영 체제가 씨앗 또는 열매라는 것입니다. 시드의 "커널"은 운영 체제의 핵심으로, 사용자가 외부에서 보는 시드의 "쉘"로 둘러싸인 응용 프로그램에 운영 체제 서비스를 제공합니다.

어떤 사람들은 "커널"(실제로 "쉘")을 그보다 더 구체적으로 묶고 싶어합니다. 그러나 사실 운영 체제에는 많은 차이가 있습니다. 최소한 이러한 변형은 "쉘"(Solaris sh에서 Netware의 Console Command Interpreter, OS / 2의 Workplace Shell 및 Windows NT의 Explorer에 이르기까지 다양 함)을 구성하는 것입니다 . 그러나 한 운영 체제에서 다른 운영 체제까지 많은 차이가 있습니다. "커널"의 일부인지 아닌지 (예를 들어 디스크 I / O를 포함하거나 포함하지 않을 수 있음). 이러한 용어는 은유라는 것을 기억하는 것이 가장 좋습니다 .

다른 용어가 있습니다. IBM 메인 프레임 용어에서 시드 / 너트 비유의 "커널"을 제어 프로그램 이라고합니다 . 다른 이름으로는 감독자 , 모니터 , 코어임원이 있습니다. 핵심은 또 다른 명백한 생물학적 은유입니다. 너무 다른 이름이라는 것이 흥미 롭습니다. 하비 M. Deitel는 그의에서 운영 시스템 의 제어 프로그램을 호출 , 말한다

핵은 일반적으로 전체 운영 체제로 간주되는 코드의 작은 부분을 나타냅니다 ...]

"핵"이라는 단어는 라틴 에서 유래되었으며 너트의 을 의미합니다 ( "너트"를 의미 하는 라틴 nux 참조). 그래서 심지어 제어 프로그램을 "핵"이라고 부르는 것조차도 사실이 같은 운영 체제와 같은 비유를 만드는 것입니다. 단순한 운영 체제 이상에 사용되는 비유입니다. 예를 들어 화학에 익숙하다면 원자핵껍질의 전자로 둘러싸여 있다는 것을 알 수 있습니다 .

익명의 사람 new123456이 아래에 쓴 내용은 이러한 은유의 기원을 잊음으로써 발생하는 실수를 전체로 잘못 인식하고 커널을 전체 운영 체제로 착각하는 정도의 실수를 예시합니다. "유저 랜드"프로그램이된다고해서 셸이 운영 체제의 외부가되는 것도 아니고 커널을 둘러싸는 것보다 적은 것도 아닙니다. 더욱이, 버전 7 이후의 유닉스에는 적용되지 않는 DOS 전용 아이디어와는 거리가 멀다.이 아이디어는 유닉스 세계에서 널리 퍼져 있고 최신이다.

( new123456DOSism으로 착각하는 것은 아이러니합니다 . 커널 / 쉘은 초기에는 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

운영 체제의 커널에 최대 기능을 추가 할 수없는 이유는 무엇입니까?

분류에서Dev

Linux에서 운영 체제와 커널이 별도로 처리되는 이유는 무엇입니까?

분류에서Dev

"운영 체제가 종료되는시기"와 "커널이 종료되는시기"의 차이점은 무엇입니까?

분류에서Dev

업데이트에서 커널을 영구적으로 제외하는 방법이 있습니까?

분류에서Dev

영구 다운 그레이드 후 커널을 업그레이드하는 방법은 무엇입니까?

분류에서Dev

운영 체제에 종료 옵션이있는 이유는 무엇입니까?

분류에서Dev

Multics 운영 체제에서 게이트는 무엇을 의미합니까?

분류에서Dev

이 상황에서 무엇을 & 운영하고 있습니까?

분류에서Dev

PC에 단일 운영 체제 또는 2 개의 운영 체제가있는 호스트 이름이 둘 이상있을 수 있습니까?

분류에서Dev

"Everything is a file"이 Unix 운영 체제에 고유 한 이유는 무엇입니까?

분류에서Dev

운영 체제에 파일 크기 제한이있는 이유는 무엇입니까?

분류에서Dev

12.04.3 커널과 xservers에서 12.04.2 커널로 어떻게 다운 그레이드 할 수 있습니까?

분류에서Dev

Ubuntu가 외장 하드 드라이브의 이전 운영 체제에있는 파일에 액세스 할 수 있습니까?

분류에서Dev

C ++ 컴파일 과정에서 운영 체제의 역할이 있습니까?

분류에서Dev

Tails OS의 커널에 바이너리 Blob이 있습니까?

분류에서Dev

Ping이 내 운영 체제를 표시하는 이유는 무엇입니까?

분류에서Dev

Ubuntu에서 제공하는 커널과 업스트림 커널의 차이점은 무엇입니까?

분류에서Dev

Ubuntu에서 제공하는 커널과 업스트림 커널의 차이점은 무엇입니까?

분류에서Dev

Linux 커널의 KCOV 코드에 barrier ()가있는 이유는 무엇입니까?

분류에서Dev

운영 체제는 사용자 공간 프로그램이 커널 공간 프로그램과 상호 작용하도록 어떻게 허용합니까?

분류에서Dev

커널 자체와 커널 모듈에는 어떤 ELF 유형이 있습니까?

분류에서Dev

온라인에서 우분투 운영 체제를 사용할 수있는 웹 사이트가 있습니까?

분류에서Dev

최신 버전의 운영 체제에 더 많은 메모리가 필요한 이유는 무엇입니까?

분류에서Dev

운영 체제에서 localhost의 정확한 의미는 무엇입니까?

분류에서Dev

64 비트 Linux 프로세스의 가상 메모리 커널 부분에는 무엇이 있습니까?

분류에서Dev

Linux 커널에 영향을 미치는 취약점이 발견되면 Docker로 무엇을해야합니까?

분류에서Dev

확인 질문이있는 셸을 사용하여 모든 이전 커널을 영구적으로 삭제하는 방법은 무엇입니까?

분류에서Dev

커널 소스 트리에는 무엇이 포함됩니까? Linux 커널 헤더와 관련이 있습니까?

분류에서Dev

실시간 커널이있는 경우 일반 커널을 사용하는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    운영 체제의 커널에 최대 기능을 추가 할 수없는 이유는 무엇입니까?

  2. 2

    Linux에서 운영 체제와 커널이 별도로 처리되는 이유는 무엇입니까?

  3. 3

    "운영 체제가 종료되는시기"와 "커널이 종료되는시기"의 차이점은 무엇입니까?

  4. 4

    업데이트에서 커널을 영구적으로 제외하는 방법이 있습니까?

  5. 5

    영구 다운 그레이드 후 커널을 업그레이드하는 방법은 무엇입니까?

  6. 6

    운영 체제에 종료 옵션이있는 이유는 무엇입니까?

  7. 7

    Multics 운영 체제에서 게이트는 무엇을 의미합니까?

  8. 8

    이 상황에서 무엇을 & 운영하고 있습니까?

  9. 9

    PC에 단일 운영 체제 또는 2 개의 운영 체제가있는 호스트 이름이 둘 이상있을 수 있습니까?

  10. 10

    "Everything is a file"이 Unix 운영 체제에 고유 한 이유는 무엇입니까?

  11. 11

    운영 체제에 파일 크기 제한이있는 이유는 무엇입니까?

  12. 12

    12.04.3 커널과 xservers에서 12.04.2 커널로 어떻게 다운 그레이드 할 수 있습니까?

  13. 13

    Ubuntu가 외장 하드 드라이브의 이전 운영 체제에있는 파일에 액세스 할 수 있습니까?

  14. 14

    C ++ 컴파일 과정에서 운영 체제의 역할이 있습니까?

  15. 15

    Tails OS의 커널에 바이너리 Blob이 있습니까?

  16. 16

    Ping이 내 운영 체제를 표시하는 이유는 무엇입니까?

  17. 17

    Ubuntu에서 제공하는 커널과 업스트림 커널의 차이점은 무엇입니까?

  18. 18

    Ubuntu에서 제공하는 커널과 업스트림 커널의 차이점은 무엇입니까?

  19. 19

    Linux 커널의 KCOV 코드에 barrier ()가있는 이유는 무엇입니까?

  20. 20

    운영 체제는 사용자 공간 프로그램이 커널 공간 프로그램과 상호 작용하도록 어떻게 허용합니까?

  21. 21

    커널 자체와 커널 모듈에는 어떤 ELF 유형이 있습니까?

  22. 22

    온라인에서 우분투 운영 체제를 사용할 수있는 웹 사이트가 있습니까?

  23. 23

    최신 버전의 운영 체제에 더 많은 메모리가 필요한 이유는 무엇입니까?

  24. 24

    운영 체제에서 localhost의 정확한 의미는 무엇입니까?

  25. 25

    64 비트 Linux 프로세스의 가상 메모리 커널 부분에는 무엇이 있습니까?

  26. 26

    Linux 커널에 영향을 미치는 취약점이 발견되면 Docker로 무엇을해야합니까?

  27. 27

    확인 질문이있는 셸을 사용하여 모든 이전 커널을 영구적으로 삭제하는 방법은 무엇입니까?

  28. 28

    커널 소스 트리에는 무엇이 포함됩니까? Linux 커널 헤더와 관련이 있습니까?

  29. 29

    실시간 커널이있는 경우 일반 커널을 사용하는 이유는 무엇입니까?

뜨겁다태그

보관