답변:
Upstart 는 전통적인 init.d 스타일의 System-V 부팅 스크립트를 대체합니다. 그러나 upstart는 단순한 부팅 스크립트 모음 이상입니다. 실제로 서로 다른 데몬의 시작을 미세하게 계획하고 제어 할 수 있습니다. 예를 들어, 네트워크 드라이브를 자동 마운트하려면 먼저 작동중인 네트워크가 필요합니다. 시작하기 전에 이러한 상황으로 인해 경쟁 조건이 발생하는 반면, 시작시 선언에는 실행중인 네트워크의 전제 조건이 포함될 수 있습니다.
실제로 가동 시작은 이벤트 모니터링 시스템을 기반으로합니다. 특정 하드웨어 조건이 발생하거나 다른 프로세스가 이벤트를 보내면 하나 이상의 가동 스크립트가 트리거 될 수 있습니다. 이를 통해 USB 스틱을 삽입하거나 제거 할 때 특정 작업이 자동으로 트리거됩니다.
모든 주요 Linux 배포판이 System-V init를 단계별로 시작하도록 마이그레이션하고 있다고 생각합니다. 실제로, 시작시 기존 init 스크립트의 시작을 트리거 할 수 있으므로 전환이 한 번에 모두 발생하지 않아도됩니다.
Upstart는 / sbin / init 데몬을 이벤트 기반으로 대체하여 부팅하는 동안 작업 및 서비스의 시작을 처리하고, 종료하는 동안 중지하고 시스템이 실행되는 동안이를 감독합니다.
SysV 부팅 프로세스는 엄격하게 동기화됩니다. 상황은 한 번에 하나씩 발생하여 현재 작업이 완료 될 때까지 향후 작업을 차단합니다. 부팅 프로세스에서 시간이 오래 걸리면 다른 모든 항목을 기다려야합니다. 또한 작업은 init 데몬의 상태가 변경 될 때만 실행됩니다 (예 : 시스템 전원 켜기 또는 끄기).
Upstart는 새로운 init 데몬으로, 대량 런레벨이 아닌 이벤트에 대한 응답으로 서비스를 시작할 수 있습니다. / etc / init 디렉토리의 각 작업 파일이 서비스 시작 또는 시스템 초기화의 특정 구성 요소를 담당합니다. 고정 된 순서는 없습니다. 대신 각 작업은 반응 할 이벤트를 지정합니다. 이벤트가 발생하면 Upstart는이 이벤트를 대기 한 모든 작업을 병렬로 시작합니다.
이론적으로 시스템이 가동 된 후에도 사용할 수 있습니다. Upstart는 썸 드라이브 (현재 udev와 hal이 처리)와 같은 외부 장치를 연결하거나 특정 시간에 프로그램을 실행 (현재는 cron이 처리)과 같은 외부 장치를 연결하는 작업을 대신 할 예정입니다.
Upstart 는 원래 Ubuntu 배포 용으로 개발되었지만, 유용한 Linux-V init를 대신하여 모든 Linux 배포에 배포하기에 적합합니다.
Upstart는 전통적인 SysV init 시스템을 대체하기 위해 우분투가 주도한 또 다른 노력이지만 Debian, Fedora, Nokia의 Maemo 플랫폼 Palm의 WebOS, Google의 크롬 OS, Google의 Chrome OS와 같은 일부 배포판에서 채택되었지만 표준은 아닙니다
자세한 내용은 m http://upstart.ubuntu.com/에서 확인하십시오.