우분투에서 초기화는 무엇을합니까?


13

이미 init컴퓨터 부팅 및 런레벨 관리에 필요한 마법의 프로그램이라는 것을 알고 있습니다. 그러나 실제 목적은 무엇입니까?

왜 우리 init는 처음에 필요한가? 부트 로더가 Upstart에게 실행할 프로그램과 실행하지 않을 프로그램을 알려줄 수없는 이유는 무엇입니까?

내 질문에 대한 (늦은) 응답의이 질문 은 삭제 되면 init어떻게됩니까? 질문.


init모든 과정의 어머니입니다.
ctrl-alt-delor

init커널에 작성하는 것보다 사용자 프로세스 의 기능을 작성하는 것이 더 쉽습니다 . 그것이 커널로 작성된 곳이라면 누군가가 starter사용자 공간에서 실행될 프로세스 를 추가 할 것입니다. 따라서 기능을 복제합니다. 따라서 가능한 한 간단하게 커널 부분을 유지하는 것이 가장 좋습니다.
ctrl-alt-delor

man init > "What does init on Ubuntu do"홈 폴더에서
αғsнιη

답변:


6

유닉스 시스템에 대한 설명서를init 참조하십시오 .

이 글 은 Wikipediainit 의 게시물 입니다 :

Unix 기반 컴퓨터 운영 체제에서 init (초기화)는 컴퓨터 시스템 부팅 중에 시작된 첫 번째 프로세스입니다. Init는 시스템이 종료 될 때까지 계속 실행되는 데몬 프로세스입니다. 다른 모든 프로세스의 직접 또는 간접 조상이며 모든 고아 프로세스를 자동으로 채택합니다. 하드 코딩 된 파일 이름을 사용하여 커널에서 초기화를 시작하고 커널에서 시작할 수 없으면 커널 패닉이 발생합니다. Init에는 일반적으로 프로세스 식별자 1이 할당됩니다.

init의 디자인은 System III 및 System V와 같은 Unix 시스템에서 Research Unix의 init 및 BSD 파생물에서 제공하는 기능과 다릅니다. 대부분의 Linux 배포판의 사용법은 System V와 다소 호환되지만 Slackware와 같은 일부 배포판은 BSD 스타일을 사용하고 Gentoo와 같은 일부 배포판에는 자체 사용자 정의 버전이 있습니다.

표준 버전의 설계 한계를 해결하기 위해 몇 가지 대체 초기화 구현이 작성되었습니다. 여기에는 런칭 된 Service Management Facility, systemd 및 Upstart가 포함되며 후자는 Ubuntu 및 기타 Linux 배포판에서 사용됩니다.

이것이 당신에게 설명하는 데 도움이되기를 바랍니다. 많이 읽습니다.


3

upstart하고 systemd있는 init시스템. 규칙 (그리고 아마도 다른 제약)으로 프로그램은 여전히이라고 init여부에 관계없이, systemd또는 upstart뭔가 다른 놀이 또는. 프로세스 이름이 당신을 속이게하지 마십시오. PID1은 init더 이상 SysV가 아닙니다 . 우분투에서 꽤 오랫동안되지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.