กลับไปหน้าบทความ

อ่าน 9 นาที

เริ่มต้น

ใน ระบบปฏิบัติการ คอมพิวเตอร์ แบบ Unix นั้น init ( ย่อมาจาก initialization ) เป็น กระบวนการ ในพื้นที่ผู้ใช้ (user-space ) แรกที่เริ่มต้นระหว่าง การบูต ระบบปฏิบัติการ init เป็น...

เริ่มต้น

เวอร์ชัน 7 ของ Unix : รายการในไฟล์ /etcแสดงค่า initและrc
เวอร์ชัน 7 ของ Unix: เนื้อหาของสคริปต์Bourne shell ในไฟล์ /etc/rc

ในระบบปฏิบัติการคอมพิวเตอร์แบบ Unix นั้น init (ย่อมาจากinitialization ) เป็น กระบวนการในพื้นที่ผู้ใช้ (user-space ) แรกที่เริ่มต้นระหว่างการบูตระบบปฏิบัติการ init เป็น กระบวนการ แบบ daemonที่ทำงานต่อเนื่องจนกว่าระบบจะปิดตัวลง มันเป็นบรรพบุรุษ โดยตรงหรือโดยอ้อม ของกระบวนการอื่นๆ ทั้งหมด และจะรับเอากระบวนการที่ถูกทิ้งร้าง ทั้งหมดมาดูแลโดยอัตโนมัติ init จะเริ่มต้นโดยเคอร์เนลระหว่าง กระบวนการ บูตในระบบแบบ Unix ส่วนใหญ่หากเคอร์เนลไม่สามารถเริ่มต้น init ได้ หรือหาก init หยุดทำงานด้วยเหตุผลใดๆ ก็ตาม จะเกิด kernel panic ขึ้น โดยทั่วไปแล้ว init จะได้ รับหมายเลขประจำตัวกระบวนการเป็น 1

ในระบบ Unix เช่นSystem IIIและSystem Vการออกแบบ init แตกต่างจากฟังก์ชันการทำงานที่ init มีให้ในResearch Unixและ อนุพันธ์ BSDจนกระทั่งช่วงต้นทศวรรษ 2010 [ 1 ]การแจกจ่าย Linuxส่วนใหญ่ใช้ init แบบดั้งเดิมที่เข้ากันได้กับ System V ในระดับหนึ่ง ในขณะที่การแจกจ่ายบางอย่าง เช่นSlackwareใช้สคริปต์เริ่มต้นแบบ BSD และการแจกจ่ายอื่นๆ เช่นGentooมีเวอร์ชันที่ปรับแต่งเอง

นับตั้งแต่นั้นมา ระบบปฏิบัติการ Linux ส่วนใหญ่ได้นำระบบ init ที่ทันสมัยกว่ามาใช้ โดยส่วนใหญ่ใช้ระบบ init ที่มาจาก โปรเจกต์ systemdบางระบบปฏิบัติการเลือกที่จะสร้างระบบที่เข้ากันได้กับ System V-init ของตนเอง เช่นOpenRCของGentoo LinuxและrunitของVoid Linuxโปรเจกต์เหล่านี้มักจะมีคุณสมบัติที่เดิมไม่มีในระบบ init ของ System V เช่นการทำงานแบบมัลติเธรดหรือ init แบบโต้ตอบ ระบบ init ที่ทันสมัยส่วนใหญ่ยังสามารถเริ่มต้น หยุด และเปิดใช้งานบริการต่างๆ ได้แบบไดนามิกหลังจากบูตเครื่อง โดยมีการแจ้งเตือนจากผู้ใช้

ศึกษาเกี่ยวกับระบบ Unix/BSD

การวิจัย Unix init เรียกใช้สคริปต์เชลล์ เริ่มต้น ที่อยู่ใน/etc/rc, [ 2 ]จากนั้นเรียกใช้gettyบนเทอร์มินัลภายใต้การควบคุมของ/etc/ttys. [ 3 ]ไม่มี runlevels; /etc/rcไฟล์จะกำหนดว่าโปรแกรมใดจะถูกเรียกใช้โดย init ข้อดีของระบบนี้คือเรียบง่ายและแก้ไขด้วยตนเองได้ง่าย อย่างไรก็ตาม ซอฟต์แวร์ใหม่ที่เพิ่มเข้ามาในระบบอาจต้องมีการเปลี่ยนแปลงไฟล์ที่มีอยู่ ซึ่งอาจทำให้ระบบบูตไม่ได้

ก่อน 4.3BSD ระบบ init ของ BSDเหมือนกับระบบ init ของ Research UNIX [ 4 ] [ 5 ]ใน4.3BSDได้เพิ่มการสนับสนุนสำหรับการเรียกใช้ระบบหน้าต่างเช่นXบนเทอร์มินัลกราฟิกภายใต้การควบคุมของ/etc/ttys[ 6 ] [ 7 ] เพื่อขจัดความจำเป็นในการแก้ไข ระบบ/etc/rcBSD เวอร์ชันต่างๆ ได้สนับสนุนไฟล์เฉพาะไซต์/etc/rc.localที่ทำงานในซับเชลล์ใกล้กับส่วนท้ายของลำดับการบูต มานานแล้ว

ระบบโมดูลาร์เต็มรูปแบบได้รับการแนะนำในNetBSD 1.5 และพอร์ตไปยังFreeBSD 5.0, OpenBSD 4.9 และรุ่นต่อๆ มา ระบบนี้ดำเนินการสคริปต์ใน/etc/rc.dไดเร็กทอรี ต่างจากการจัดลำดับสคริปต์ของ System V ซึ่งได้มาจากชื่อไฟล์ของแต่ละสคริปต์ ระบบนี้ใช้แท็กการพึ่งพาที่ชัดเจนซึ่งวางไว้ภายในแต่ละสคริปต์[ 8 ]ลำดับในการดำเนินการสคริปต์จะถูกกำหนดโดย ยูทิลิตี้ rcorderโดยอิงตามข้อกำหนดที่ระบุไว้ในแท็กเหล่านี้

สไตล์ SysV

sysv-rc-confเป็น ยูทิลิตี้ TUIที่ใช้เลือกสคริปต์ init สไตล์ SysV ที่จะเรียกใช้ในแต่ละ runlevel

เมื่อเปรียบเทียบกับรุ่นก่อนหน้าระบบ UNIX System III ของ AT&T ได้นำเสนอรูปแบบใหม่ของการกำหนดค่าการเริ่มต้นระบบ[ 9 ]ซึ่งยังคงใช้ต่อไป (โดยมีการปรับเปลี่ยน) ในUNIX System Vและจึงเรียกว่า "SysV-style init"

ในทุกขณะ ระบบ System V จะอยู่ในสถานะใดสถานะหนึ่งจากจำนวนสถานะที่กำหนดไว้ล่วงหน้า ซึ่งเรียกว่าระดับการทำงาน (runlevel ) อย่างน้อยหนึ่งระดับการทำงานจะเป็นสถานะการทำงานปกติของระบบ โดยทั่วไปแล้ว ระดับการทำงานอื่นๆ จะแสดงถึงโหมดผู้ใช้คนเดียว (ใช้สำหรับซ่อมแซมระบบที่ผิดพลาด) การปิดระบบ และสถานะอื่นๆ การเปลี่ยนจากระดับการทำงานหนึ่งไปยังอีกระดับหนึ่งจะทำให้ชุดสคริปต์สำหรับแต่ละระดับการทำงานถูกเรียกใช้ ซึ่งโดยทั่วไปแล้วจะทำการเมานต์ระบบไฟล์ เริ่มหรือหยุดโปรแกรมบริการเบื้องหลัง (daemon)เริ่มหรือหยุดระบบ X Window Systemปิดเครื่อง ฯลฯ

ระดับการวิ่ง

ระดับการทำงาน (runlevels)ใน System V อธิบายถึงสถานะต่างๆ ของเครื่อง โดยมีลักษณะเฉพาะคือ กระบวนการและโปรแกรมเบื้องหลัง (daemon) ที่ทำงานอยู่ในแต่ละสถานะ โดยทั่วไปแล้วมีระดับการทำงานเจ็ดระดับ ซึ่งสามระดับถือเป็น "มาตรฐาน" เนื่องจากเป็นสิ่งจำเป็นต่อการทำงานของระบบ:

  1. ปิด
  2. โหมดผู้ใช้คนเดียว (เรียกอีกอย่างว่าSหรือs )
  3. รีบูต

นอกเหนือจากมาตรฐานเหล่านี้แล้ว ระบบ Unix และระบบที่คล้าย Unix ยังจัดการกับระดับการทำงาน (runlevel) แตกต่างกันออกไปเล็กน้อย สิ่งที่เหมือนกันคือ/etc/inittabไฟล์ที่กำหนดว่าแต่ละระดับการทำงานที่กำหนดค่าไว้จะทำอะไรในระบบนั้นๆ

ระดับการทำงานเริ่มต้น

ระบบปฏิบัติการ ระดับการทำงานเริ่มต้น
เอไอเอ็กซ์2 [ 10 ]
แอนตี้เอ็กซ์5
เจนทู ลินุกซ์3 [ 11 ]
เอชพี-UX3 (คอนโซล/เซิร์ฟเวอร์/ผู้ใช้หลายคน) หรือ 4 (กราฟิก)
สแล็คแวร์ ลินุกซ์3
โซลาริส / อิลลูมอส3 [ 12 ]
ระบบปฏิบัติการ UNIX System Vเวอร์ชัน 3.x และ 4.x 2
ยูนิกซ์แวร์ 7.x 3

ในระบบปฏิบัติการ Linux ที่ตั้งค่า runlevel เป็น 5 ตามตารางด้านขวา runlevel 5 จะเรียกใช้งานสภาพแวดล้อมกราฟิกแบบมัลติยูเซอร์ที่ใช้ระบบ X Window Systemโดยปกติจะมีตัวจัดการการแสดงผลเช่นGDMหรือKDMอย่างไรก็ตาม ระบบปฏิบัติการ Solarisและillumosมักจะสงวน runlevel 5 ไว้สำหรับปิดเครื่องและปิดระบบโดยอัตโนมัติ

ในระบบส่วนใหญ่ ผู้ใช้ทุกคนสามารถตรวจสอบระดับการทำงานปัจจุบันได้โดยใช้คำสั่งrunlevelหรือ[ 13 ] โดยทั่วไป ผู้ ใช้ rootจะเปลี่ยนระดับการทำงานปัจจุบันโดยการเรียกใช้คำสั่งหรือไฟล์จะตั้งค่าระดับการทำงานเริ่มต้นด้วยรายการ who -rtelinitinit/etc/inittab:initdefault:

ในระบบ Unix การเปลี่ยนระดับการทำงาน (runlevel) ทำได้โดยการเริ่มเฉพาะบริการที่ขาดหายไป (เนื่องจากแต่ละระดับจะกำหนดเฉพาะบริการที่จะเริ่มต้น/หยุดทำงาน) ตัวอย่างเช่น การเปลี่ยนระดับการทำงานจาก 3 เป็น 4 อาจเริ่มต้นเฉพาะเซิร์ฟเวอร์ X ในเครื่องเท่านั้น การกลับไปที่ระดับการทำงาน 3 ก็จะหยุดการทำงานอีกครั้ง

การใช้งานอื่นๆ

โดยทั่วไป ข้อเสียสำคัญอย่างหนึ่งของคำสั่ง init คือมันเริ่มทำงานทีละงาน โดยรอให้แต่ละงานโหลดเสร็จก่อนจึงจะเริ่มงานถัดไป เมื่อกระบวนการเริ่มต้นระบบ ติดขัด เรื่องการรับส่งข้อมูล (I/O) อาจส่งผลให้เกิดความล่าช้าอย่างมากระหว่างการบูต การเพิ่มความเร็ว I/O เช่น การใช้ SSD อาจช่วยลดความล่าช้าได้ แต่ไม่ได้แก้ไขสาเหตุที่แท้จริง

มีความพยายามหลายอย่างในการแทนที่เดมอนเริ่มต้นแบบดั้งเดิมเพื่อแก้ไขปัญหานี้และปัญหาการออกแบบอื่นๆ ซึ่งรวมถึง:

ทั่วไป

ชื่อ นักพัฒนา รุ่นล่าสุดใบอนุญาตหมายเหตุ
เวอร์ชั่น วันที่
บูตสคริปต์ผู้ร่วมให้ข้อมูลสคริปต์ GoboLinux [ 14 ]016.02 16 สิงหาคม 2560 ; 8 ปีที่แล้ว จีพีแอล[]
บัสซี่บ็อกซ์-อินิตบรูซ เปเรนส์ฯลฯ[ 15 ] [ 16 ] [ 17 ]1.36.1 [ 18 ] แก้ไขข้อมูลนี้บนวิกิดาต้า19 พฤษภาคม 2023 ; 3 ปีที่แล้ว GPL-2.0 เท่านั้นตั้งแต่ 1.3.0 [ 19 ] GPL-2.0 หรือเวอร์ชันที่ใหม่กว่าจนถึง 1.2.2.1 [ 20 ][]
ดินิต ดาวิน แมคคอล[ 21 ]0.21.0 [ 22 ] แก้ไขข้อมูลนี้บนวิกิดาต้า9 มีนาคม 2026 ; 3 เดือนที่แล้ว อัล2[]
ยุค ผู้มีส่วนร่วมในยุค[ 23 ]1.3.0 24 มิถุนายน 2558 ; 10 ปีที่แล้ว ไม่ได้รับอนุญาต[ d ]
ฟินิท โยอาคิม ไวเบิร์ก เป็นต้น[ 25 ]4.16 [ 25 ]27 กุมภาพันธ์ 2026 ; 3 เดือนที่แล้ว เอ็มไอที
ginitd เอสเอ็ม วูด-แมทเทอุสสัน [ e ]
อินิตงผู้มีส่วนร่วมเริ่มต้น[ 27 ]0.6.10.2 25 มีนาคม 2550 ; 19 ปีที่แล้ว GPL-3.0 [ 27 ][ f ]
เปิดตัวบริษัท แอปเปิล อิงค์10.4 29 เมษายน 2548 ; 21 ปีที่แล้ว เป็นกรรมสิทธิ์เฉพาะ (เดิมคือAPSLแล้วตามด้วยAL2 ) [ g ]
โอเพ่นอาร์ซีนักพัฒนา OpenRC 0.63.2 [ 28 ] แก้ไขข้อมูลนี้บนวิกิดาต้า13 มิถุนายน 2026 ; 9 วันที่แล้ว เงื่อนไข BSD-2[ชม]
โปรซีด แดเนียล โกลเล เป็นต้น[ 29 ]25 มีนาคม 2026 ; 2 เดือนที่แล้ว เฉพาะ GPL-2.0 เท่านั้น
รูนิตGerrit Pape, นักพัฒนา runit 2.3.1 [ 30 ] แก้ไขข้อมูลนี้บนวิกิดาต้า7 กุมภาพันธ์ 2026 ; 4 เดือนที่แล้ว เงื่อนไข BSD-3[ฉัน]
ศูนย์จัดการบริการ (SMF) ซัน ไมโครซิสเต็มส์5.10 31 มกราคม 2548 ; 21 ปีที่แล้ว ซีดีดีแอล[ j ]
คนเลี้ยงแกะLudovic Courtès  [ 32 ]เป็นต้น[ 33 ]แก้ไขข้อมูลนี้บนวิกิดาต้า1.0.9 [ 34 ] แก้ไขข้อมูลนี้บนวิกิดาต้า3 ธันวาคม 2025 ; 6 เดือนที่แล้ว จีพีแอล-3.0 หรือเวอร์ชันที่ใหม่กว่า[ k ]
s6 ลอเรนต์ แบร์โกต์[ 36 ]2.14.0.1 [ 37 ] แก้ไขข้อมูลนี้บนวิกิดาต้า24 มกราคม 2026 ; 4 เดือนที่แล้ว ไอเอสซี[ l ]
ซิสเต็มดีเรดแฮท[ 40 ] 345 ในปี 2018 [ 41 ]รวม 2,032 [ 42 ]261 [ 43 ] แก้ไขข้อมูลนี้บนวิกิดาต้า19 มิถุนายน 2026 ; 3 วันที่แล้ว LGPL-2.1-หรือเวอร์ชันที่ใหม่กว่า[ 44 ][]
ซิสเต็มสตาร์เตอร์วิลเฟรโด ซานเชซ 10.4 29 เมษายน 2548 ; 21 ปีที่แล้ว บีเอสดี[ n ]
อัพสตาร์ทบริษัท แคนอนิคอล จำกัด1.13.2 [ 46 ]4 กันยายน 2014 ; 11 ปีที่แล้ว เฉพาะ GPL-2.0 เท่านั้น[ o ]
ชื่อ นักพัฒนา รุ่นล่าสุดใบอนุญาตหมายเหตุ
เวอร์ชั่น วันที่
  1. ^สคริปต์บูตใน GoboLinux
  2. ^ busybox-initเหมาะสำหรับระบบปฏิบัติการฝังตัวใช้โดย Alpine Linux (ก่อนที่จะถูกแทนที่ด้วย OpenRC ), SliTaz 5 (Rolling), Tiny Core Linuxและ VMware ESXiและเคยใช้โดย OpenWrtก่อนที่จะถูกแทนที่ด้วย procd
  3. ^ dinit ซึ่งเป็นตัวจัดการบริการและระบบเริ่มต้น [ 21 ]
  4. ^ Epoch ระบบ init ของ Linux แบบเธรดเดียวที่เน้นความเรียบง่ายและการจัดการบริการ [ 24 ]
  5. ^ ginitd ซึ่งเป็นแพ็กเกจซอฟต์แวร์ที่ประกอบด้วยระบบ init และระบบการจัดการบริการ [ 26 ]
  6. ^ Initngคือฟังก์ชันทดแทน init อย่างสมบูรณ์ ออกแบบมาเพื่อเริ่มกระบวนการแบบอะซิงโครนัส
  7. ^ launchdคือโปรแกรมที่ใช้แทน init ใน Darwinและระบบปฏิบัติการที่ใช้ Darwin เป็นพื้นฐาน เช่น macOSและ iOSตั้งแต่ Mac OS X เวอร์ชัน 10.4 เป็นต้นไป (มันจะเรียกใช้ SystemStarter เพื่อรันกระบวนการ 'rc.local' และ SystemStarter แบบเก่า)
  8. ^ OpenRCคือโปรแกรมสร้างกระบวนการทำงานที่ใช้ init ที่ระบบจัดเตรียมไว้ให้ พร้อมทั้งให้การแยกกระบวนการทำงาน การเริ่มต้นแบบขนาน และการพึ่งพาบริการ ใช้โดย Alpine Linux , Gentooและระบบปฏิบัติการที่พัฒนาต่อยอดจาก Gentoo และมีให้เลือกใช้เป็นตัวเลือกใน Devuanและ Artix Linux
  9. ^ runitซึ่งเป็นการแทนที่ init แบบเต็มรูปแบบข้ามแพลตฟอร์มพร้อมการเริ่มต้นบริการแบบขนาน ใช้เป็นค่าเริ่มต้นใน Void Linux [ 31 ]
  10. ^ Service Management Facility (SMF) คือการทดแทน/ออกแบบใหม่ทั้งหมดของ init ตั้งแต่เริ่มต้นใน illumos / Solarisโดยเริ่มจาก Solaris 10 แต่ถูกเปิดใช้งานเป็นบริการเดียวโดย init แบบดั้งเดิมในรูปแบบ System V
  11. ^ Shepherdซึ่ง เป็นตัวจัดการบริการและเดมอน ของ GNUที่ให้การเริ่มต้นแบบอะซิงโครนัสตามการพึ่งพา เขียนด้วย Guile Schemeและมีจุดประสงค์เพื่อให้สามารถแฮ็กแบบโต้ตอบได้ในระหว่างการทำงานของระบบตามปกติ [ 35 ]
  12. ^ s6 ชุดซอฟต์แวร์ที่รวมระบบเริ่มต้น [ 38 ] [ 39 ]
  13. ^ systemdเป็นชุดซอฟต์แวร์ที่ใช้แทน init ใน Linux อย่างสมบูรณ์ ซึ่งรวมถึง daemon init พร้อมการเริ่มต้นบริการพร้อมกัน ตัวจัดการบริการ และคุณสมบัติอื่นๆ Debian (แทนที่ SysV init) และ Ubuntu ใช้ systemd รวมถึงการแจกจ่าย Linux ยอดนิยมอื่นๆ ณ เดือนกุมภาพันธ์ 2019 systemd ได้รับการนำไปใช้ในการแจกจ่าย Linux หลักๆ ส่วนใหญ่แล้ว [ 45 ]
  14. ^ SystemStarterคือโปรแกรมสร้างกระบวนการทำงานที่เริ่มต้นโดย init ในรูปแบบ BSD ใน Mac OS Xเวอร์ชันก่อน 10.4
  15. ^ Upstartซึ่งเป็นการแทนที่ init อย่างสมบูรณ์ ออกแบบมาเพื่อเริ่มกระบวนการแบบอะซิงโครนัส เริ่มต้นโดย Ubuntuและใช้งานโดย Ubuntu จนถึงปี 2014 นอกจากนี้ยังใช้ใน Fedora 9 [ 47 ] [ 48 ] Red Hat Enterprise Linux 6 [ 49 ]และ ChromeOSของ Google [ 50 ]

การสนับสนุนระบบปฏิบัติการ

ชื่อลินุกซ์บีเอสดีดาร์วินอื่น
บูตสคริปต์ใช่เลขที่เลขที่เลขที่
บัสซี่บ็อกซ์-อินิตใช่เลขที่เลขที่เลขที่
ดินิตใช่ใช่ใช่เลขที่
ยุคใช่เลขที่เลขที่เลขที่
ฟินิทใช่เลขที่เลขที่เลขที่
อินิตงใช่เลขที่เลขที่เลขที่
เปิดตัวเลขที่เลขที่ใช่เลขที่
โอเพ่นอาร์ซีใช่ใช่เลขที่เลขที่
โปรซีดใช่เลขที่เลขที่เลขที่
รูนิตใช่ใช่ใช่เลขที่
ศูนย์จัดการบริการ (SMF)เลขที่เลขที่เลขที่โซลาริส
คนเลี้ยงแกะใช่เลขที่เลขที่จีเอ็นยู เฮิร์ด
s6ใช่ใช่ใช่เลขที่
ซิสเต็มดีใช่เลขที่เลขที่เลขที่
ซิสเต็มสตาร์เตอร์เลขที่เลขที่ใช่เลขที่
อัพสตาร์ทใช่เลขที่เลขที่เลขที่
ชื่อลินุกซ์บีเอสดีดาร์วินอื่น

ความเข้ากันได้ อินเทอร์เฟซ และการเขียนโปรแกรม

การเปรียบเทียบระบบ init [ 51 ] [ 52 ]
ชื่อ musl เข้ากันได้กับlibcปราศจากการพึ่งพารูปแบบ สคริปต์ / บริการรูปแบบ บันทึกธรรมดาการกำหนดค่า ต่อบริการกิจกรรม ข้ามหน่วยงานการเริ่มต้น บริการแบบขนานการกำกับดูแลกระบวนการภาษาโปรแกรมขนาดของโค้ดเบส(บรรทัด)
บูตสคริปต์??สคริปต์เชลล์[ 14 ]?????เชลล์ 66.6%; C 19.0%; ไพธอน 12.7%; อื่นๆ 1.7% [ 14 ]?
บัสซี่บ็อกซ์-อินิต????????C 90.4%; สคริปต์เชลล์ 4.6%; C++ 1.7%; HTML 1.4%; แอสเซมบลี 0.8%; Make 0.5%; XML 0.2%; Perl 0.3%; Python 0.1% [ 53 ]319,897 [ 53 ]
ดินิต ใช่ ใช่ การกำหนดค่า ข้อความใช่ ใช่ ใช่ ใช่ พื้นเมือง C++ 96.1%; Starlark 1.0%; C 1.0%; Shell 0.9%; Makefile 0.7%; Zig 0.2%; Go 0.1% [ 21 ]~25,000
ยุค ใช่ libc, /bin/sh ไฟล์ .conf หลายไฟล์หรือไฟล์เดียวใช่ ใช่(เวอร์ชัน 1.1 ขึ้นไป) ( การสนับสนุนขั้นพื้นฐาน, เวอร์ชัน 1.3 ขึ้นไป) เลขที่ ใช่ C 98.2%; สคริปต์เชลล์ 1.8%; สร้าง 0.1% [ 54 ]10,546 [ 54 ]
ฟินิท ??ไฟล์ .conf หลายไฟล์หรือไฟล์เดียวใช่ ??ใช่ ใช่ C 86.7%; สคริปต์เชลล์ 9.7%; Automake 1.8%; Autoconf 1.5%; Make 0.3% [ 55 ]33,034 [ 55 ]
อินิตง????????C 67.5%; Assembly 12.8%; shell script 13.2%; Python 2.7%; CMake 1.5%; Jam 1.1%; HTML 0.6%; Make 0.5%; Vim Script 0.1% [ 56 ]59,471 [ 56 ]
เปิดตัว?ใช่ พีลิสต์?ใช่ เลขที่ ใช่ ใช่ C 96.1%; สคริปต์เชลล์ 2.2%; C++ 1.3%; Make 0.4%; XML 0.1% [ 57 ]28,128 [ 57 ]
โอเพ่นอาร์ซีใช่ เริ่มต้น(sysv หรือ BSD) สคริปต์ เชลล์ใช่ ใช่(ยืนยันแล้ว) ใช่ ปิดใช้งานโดยค่าเริ่มต้น ผ่านเครื่องมือ ภายนอกC 87.6%; สคริปต์เชลล์ 12.2%; Perl 0.2% [ 58 ]23,827 [ 58 ]
โปรซีด ??สคริปต์เชลล์[ 59 ]?ใช่[ 59 ]??ใช่[ 60 ]C 98.8%; CMake 0.8%; สคริปต์เชลล์ 0.4% [ 61 ]18,832 [ 61 ]
รูนิตใช่ ใช่ สคริปต์ เชลล์ใช่ เลขที่ ใช่ ผ่านโครงสร้างการ กำกับดูแลพื้นเมือง C 57.4%; HTML 32.1%; สคริปต์เชลล์ 6.3%; Make 4.0%; XML 0.2% [ 62 ]11,616 [ 62 ]
ศูนย์จัดการบริการ (SMF) ?เริ่มต้น(sysv?) XML (+ สคริปต์เชลล์) ใช่ ใช่( อินสแตนซ์บริการ) ใช่ ใช่ ใช่ ซี
คนเลี้ยงแกะ????????Scheme 70.5%; สคริปต์เชลล์ 28.3%; Automake 0.7%; Autoconf 0.4% [ 63 ]6,606 [ 63 ]
s6 ใช่ เอ็กเซคไลน์ เอ็กเซคไลน์/ เชลล์ ใช่ เลขที่ ใช่ ใช่ พื้นเมือง C 48.3%; HTML 46.1%; สคริปต์เชลล์ 2.8%; Autoconf 2.0%; Make 0.7%; Emacs Lisp 0.1% [ 64 ]31,069 [ 64 ]
ซิสเต็มดีจำกัด dbus udev dns ntp GNOME NetworkManager PipeWire ... [ 51 ]ไฟล์หน่วยไม่(บันทึก) ใช่ ใช่ ใช่ ติดตั้งมาแต่ทึบแสง C 77.9%; XML 12.5%; สคริปต์เชลล์ 3.9%; Python 3.2%; C++ 2.4%; CSS 0.1% [ 65 ]1,310,214 [ 65 ]
อัพสตาร์ท????????C 93.1%; Python 2.5%; Automake 1.1%; C++ 2.4%; สคริปต์เชลล์ 0.3%; XML 0.3%; Autoconf 0.1%; สคริปต์ Vim 0.1% [ 66 ]126,865 [ 66 ]
ชื่อ musl เข้ากันได้กับlibcปราศจากการพึ่งพารูปแบบ สคริปต์ / บริการรูปแบบ บันทึกธรรมดาการกำหนดค่า ต่อบริการกิจกรรม ข้ามหน่วยงานการเริ่มต้น บริการแบบขนานการกำกับดูแลกระบวนการภาษาโปรแกรมขนาดของโค้ดเบส(บรรทัด)

ดูเพิ่มเติม

  • หน้าคู่มือการใช้งาน FreeBSD init
  • เอกสารสรุปรูปแบบการเริ่มต้นระบบของ Unix (ปี 2007)
  • คู่มือเริ่มต้นใช้งานอย่างรวดเร็วสำหรับ Solaris Service Management Facilityที่Wayback Machine (เก็บถาวรเมื่อวันที่ 31 ธันวาคม 2548)
  • ประวัติความเป็นมาของระบบ init สมัยใหม่ (1992–2015) เก็บถาวรเมื่อ 2015-10-11 ที่Wayback Machine
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Init&oldid=1358421432 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เริ่มต้น

ใน ระบบปฏิบัติการ คอมพิวเตอร์ แบบ Unix นั้น init ( ย่อมาจาก initialization ) เป็น กระบวนการ ในพื้นที่ผู้ใช้ (user-space ) แรกที่เริ่มต้นระหว่าง การบูต ระบบปฏิบัติการ init เป็น...

ศึกษาเกี่ยวกับระบบ Unix/BSD

การวิจัย Unix init เรียกใช้ สคริปต์เชลล์ เริ่มต้น ที่อยู่ใน /etc/rc , [ 2 ] จากนั้นเรียกใช้ getty บนเทอร์มินัลภายใต้การควบคุมของ /etc/ttys .

สไตล์ SysV

เมื่อเปรียบเทียบกับรุ่นก่อนหน้า ระบบ UNIX System III ของ AT&T ได้นำเสนอรูปแบบใหม่ของการกำหนดค่าการเริ่มต้นระบบ [ 9 ] ซึ่งยังคงใช้ต่อไป (โดยมีการปรับเปลี่ยน) ใน UNIX System V และจึงเรียกว่า "SysV-style init"

ระดับการวิ่ง

ระดับ การทำงาน (runlevels) ใน System V อธิบายถึงสถานะต่างๆ ของเครื่อง โดยมีลักษณะเฉพาะคือ กระบวนการและโปรแกรมเบื้องหลัง (daemon) ที่ทำงานอยู่ในแต่ละสถานะ โดยทั่วไปแล้วมีระดับการทำงานเจ็ดระดับ ซึ่งสามระดับถือเป็น "มาตรฐาน"...