กระบวนการเริ่ม

จากวิกิพีเดีย สารานุกรมเสรี
เวอร์ชัน 7 ยูนิกซ์ :/etc แสดงรายการ กำลังแสดงinit และrc
เวอร์ชัน 7 Unix: เนื้อหาของไฟล์/etc/rc สคริปต์ เชลล์เป้าหมาย

ในระบบปฏิบัติการที่เหมือนยูนิกซ์ กระบวนการเริ่ม (อังกฤษ: init ย่อมาจาก Initialization) เป็นกระบวนการแรกที่เริ่มต้นระหว่างการปลุกเครื่อง กระบวนการเริ่มเป็นกระบวนการจำพวก daemon ที่ยังคงทำงานต่อไปจนกว่าระบบจะปิดตัวลง มันเป็นบรรพบุรุษโดยตรงหรือโดยอ้อมของกระบวนการอื่นๆ ทั้งหมด และรับกระบวนการกำพร้าทั้งหมดมาเป็นลูกบุญธรรมโดยอัตโนมัติ กระบวนการเริ่มเริ่มต้นโดยใจกลางระหว่างการปลุกเครื่อง ใจกลางแพนิกจะเกิดขึ้นหากเคอร์เนลไม่สามารถสตาร์ทได้ หรือเคอร์เนลควรจะตายไม่ว่าด้วยเหตุผลใดก็ตาม โดยทั่วไปแล้วกระบวนการเริ่มจะมีตัวระบุกระบวนการเป็น 1

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

ตั้งแต่นั้นมา มีการสร้างการใช้งาน init เพิ่มเติมหลายอย่าง โดยพยายามแก้ไขข้อจำกัดการออกแบบในเวอร์ชันดั้งเดิม ซึ่งรวมถึง launchd, Service Management Facility, systemd, Runit และ OpenRC

สไตล์ Research Unix/BSD[แก้]

กระบวนการเริ่มของ Research Unix รันเชลล์สคริปต์ซึ่งอยู่ที่ /etc/rc จากนั้นเปิด getty บนเทอร์มินัลภายใต้การควบคุมของ /etc/ttys

สไตล์ยูนิกซ์ซิสเต็มไฟฟ์[แก้]

sysv-rc-conf ซึ่งเป็นยูทิลิตี้ TUI ที่เลือกสคริปต์กระบวนการเริ่มสไตล์ยูนิกซ์ซิสเต็มไฟฟ์ ที่จะรันในแต่ละระดับการทำงาน

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

ดูเพิ่ม[แก้]

อ้างอิง[แก้]

  1. "Lennart Poettering on systemd's Tumultuous Ascendancy - The New Stack". web.archive.org. 2018-11-08. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2018-11-08. สืบค้นเมื่อ 2024-01-30.{{cite web}}: CS1 maint: bot: original URL status unknown (ลิงก์)
  2. "init(8)". minnie.tuhs.org. เก็บจากแหล่งเดิมเมื่อ 2021-07-27. สืบค้นเมื่อ 2015-09-12.

แหล่งข้อมูลอื่น[แก้]

แม่แบบ:Service management in Unix