ทำไม Unix ถึงสนับสนุนตัวเอง?


63

ฉันอ่านเอกสารของ Ritchie และ Thompson เกี่ยวกับระบบไฟล์ Unix พวกเขาเขียนว่า 'มันคุ้มค่าที่จะสังเกตว่าระบบนี้มีการช่วยเหลือตัวเองทั้งหมด' ระบบก่อนที่ Unix จะไม่สนับสนุนตัวเองหรือไม่? ในรูปแบบใด?


3
มันเป็นสิ่งที่ควรค่าแก่การพิจารณาใน FOSDEM 2018 พูดคุยเกี่ยวกับวิวัฒนาการของ Unixโดย Diomidis Spinellis; ฉันยังสนุกกับ Liam Proven ของวงจรพูดคุยที่ใช้เวลาเดินทางน้อยกว่า
Basile Starynkevitch

5
มันอาจจะคุ้มค่าที่จะถามเกี่ยวกับระบบปฏิบัติการที่ไม่รองรับตัวเองในRetrocomputingซึ่งคุณน่าจะได้รับคำตอบอย่างละเอียด
Stephen Kitt

5
อีกคำสำหรับการช่วยเหลือตนเอง
Nayuki

มีความถูกต้องเท่าเทียมกันในการเรียกมันว่าเป็นตัวเองด้วยเหตุผลเดียวกันกับรายการอื่น ๆ ไม่สามารถรวบรวมระบบใหม่ (เคอร์เนล, userland) ได้ แต่หน้าคู่มือและเอกสารมักจะปรากฏอยู่ยกเว้นในระบบฝัง / เล็ก
user2497

คำตอบ:


97

คำถามในชื่อของคุณจะได้รับการแก้ไขทันทีหลังจากที่คุณอ้างในเอกสาร :

ซอฟต์แวร์ Unix ทั้งหมดได้รับการดูแลบนระบบ; ในทำนองเดียวกันกระดาษนี้และเอกสารอื่น ๆ ทั้งหมดในปัญหานี้ถูกสร้างและจัดรูปแบบโดยตัวแก้ไข Unix และโปรแกรมการจัดรูปแบบข้อความ

ดังนั้น“ การช่วยเหลือตนเอง” หมายความว่าเมื่อระบบ Unix ติดตั้งมันก็พอเพียงและผู้ใช้สามารถใช้เพื่อทำการเปลี่ยนแปลงกับระบบได้ “ ปัญหานี้” ในข้อความข้างต้นอ้างถึงวารสารเทคนิคระบบเบลล์เล่มที่ 57 หมายเลข 6 ตอนที่ 2 กรกฎาคม - สิงหาคม 2521 ซึ่งเป็นเรื่องเกี่ยวกับระบบยูนิกซ์ (และทำให้การอ่านที่น่าสนใจสำหรับทุกคนที่สนใจ Unix และประวัติของมัน) .

ความจริงที่ว่า Unix รองรับตัวเองไม่ได้หมายความว่าระบบอื่น ๆ ทั้งหมดก่อนที่มันจะไม่ได้; แต่ระบบปฏิบัติการบางระบบจำเป็นต้องใช้ระบบอื่นเพื่อสร้างมันขึ้นมา (นี่กลายเป็นเรื่องธรรมดามากขึ้นในเวลาต่อมาในความเป็นจริงกับการมาถึงของไมโครคอมพิวเตอร์ - ซึ่งระบบมักถูกพัฒนาบนมิมส์) Unix เป็นสิ่งใหม่ที่รวมเครื่องมือการเรียงพิมพ์ซึ่งหมายความว่ามันไม่เพียงสร้างตัวเอง แต่ยังผลิตเอกสารของมันทั้งแบบออนไลน์และในการพิมพ์ (ฉันจินตนาการว่า Unix อาจไม่ใช่ระบบแรกเช่นนี้ แต่นี่น่าจะเป็นที่ ผิดปกติน้อยที่สุด)


20
เครื่องมือเรียงพิมพ์ ( roff) มีความสำคัญอย่างยิ่งสำหรับ Unix ยุคแรก ส่วนหนึ่งของเงินทุนมาจากสัญญาว่าจะผลิตระบบเรียงพิมพ์เอกสาร
Kusalananda

22
@ Kusalananda IIRC จากบัญชีที่เขียนเป็นลายลักษณ์อักษรของทีม Unix / C ดั้งเดิมพวกเขาขออนุญาตทำงานบนระบบปฏิบัติการที่เรียบง่ายขนาดเล็กเพราะ Multix ช้าเกินไป แต่ไม่ได้รับอนุญาต พวกเขาได้งานพัฒนาระบบการจัดการเอกสาร (ซึ่งการเรียงพิมพ์เป็นเพียงส่วนหนึ่งส่วนอื่น ๆ รวมถึงระบบไฟล์และตัวแก้ไขไฟล์) ในแบบของแฮ็กเกอร์ทั่วไปตัดสินใจที่จะเขียนระบบปฏิบัติการเพื่อพัฒนาผลิตภัณฑ์
slebetman

Multics นั่นคือ
Artelius

นั่นหมายความว่าระบบปฏิบัติการที่ใช้ buildroot ไม่สนับสนุนตัวเองอีกต่อไปเพราะทีมลบ gcc เป็นแอปเป้าหมายหรือไม่
ทิวดอร์

คอมไพเลอร์ C ที่รวมอยู่จะไม่เป็นสิ่งที่สำคัญที่สุดใช่ไหม
Faheem Mitha

14

PDP-11 ผลิตโดย Digital Equipment Corporation และระบบปฏิบัติการของผู้ผลิตสำหรับ PDP-11 ได้แก่ :

  • RT-11
  • RSX-11
  • RSTs / E

อย่างน้อยต้องมีระบบปฏิบัติการอื่นเพื่อสร้างระบบ มันเป็นระบบปฏิบัติการดิสก์ของผู้ใช้คนเดียวที่เรียกว่า DOS แน่นอนว่ารองรับเพียงเล็กน้อย แต่ดิสก์ดิสก์โทรพิมพ์sysgenโปรแกรมที่ถามคำถามการตั้งค่าและสร้างไฟล์การกำหนดค่าภาษาแอสเซมเบลอร์และแอสเซมเบลอร์และตัวเชื่อมโยง ผลลัพธ์ของsysgenโปรแกรมคือระบบปฏิบัติการที่สามารถบูตได้ RSTS / E ฉันไม่สามารถพูดกับ RT-11 หรือ RSX-11 ได้เพราะฉันไม่เคยทำ sysgen แต่ฉัน sysgen'd RSTS / E หลายครั้งในปลายปี 1970

พวกเขาแก้ไขทั้งหมดโดย RSTS / E เวอร์ชัน 6b หรืออาจเป็น 6c ซึ่งโฮสต์sysgenโปรแกรมเองผ่านทางระบบรันไทม์ RT-11 (และยังมีระบบรันไทม์ RSX-11) แต่ทั้งหมดนี้เกิดขึ้นตั้งแต่นั้นมา 2511 ดังนั้นเน้นที่ยูนิกซ์เป็นตัวสนับสนุน


RT-11 มีsysgenและทำงานในลักษณะเดียวกัน อย่างไรก็ตามมันทำงานบนระบบ RT-11 ปกติซึ่งเป็นผู้ใช้คนเดียวแม้ว่าจะมีระบบบุคคลที่สามที่เรียกว่าTSX-Plusซึ่งทำให้ RT-11 มีผู้ใช้หลายคน
wallyk

10

เพื่อตอบคำถามเดิมทำไม Unix ถึงสนับสนุนตัวเอง? เป็นเพราะระบบที่ไม่ได้ถูกโฮสต์แบบดูด

เมื่อมีระบบอื่นที่จำเป็นในการพัฒนาระบบผลลัพธ์จะไม่ได้รับความสนใจที่จำเป็นต่อการเชื่อถือได้และเป็นมิตรและใช้งานได้

ในช่วงต้นของประวัติศาสตร์Sequentพวกเขาใช้ VAXes เพื่อพัฒนาระบบปฏิบัติการ Unix และส่วนประกอบอื่น ๆ ในประวัติศาสตร์ที่เกี่ยวข้องวิศวกรกล่าวอย่างภูมิใจว่าทันทีที่ผลิตภัณฑ์ของพวกเขาเชื่อถือได้ส่วนใหญ่ประธาน บริษัท ได้ช่วย VAXes ให้ห่างออกไปเพื่อให้การพัฒนาต้องเป็นโฮสติ้งด้วยตนเองและ บริษัท ระบุว่า de-VAXing เป็นเหตุการณ์สำคัญ ความน่าเชื่อถือสูงและเป็นมิตรต่อผู้ใช้ในการขับขี่

ฉันได้สัมผัสกับระบบการพัฒนาตัวเองที่น่ารำคาญและไม่ได้โฮสต์ด้วยตัวเองหลายครั้งตั้งแต่ปี 1970: ISISและiRMXซึ่งได้รับการพัฒนาขึ้นบน VAXen ถึงแม้ว่าฉันคิดว่า iRMX อาจเป็นโฮสต์ของตัวเองในช่วงปลายทศวรรษ 1980


10
เรื่องนี้เป็นที่รู้จักกันอย่างไม่เป็นทางการว่า 'กินอาหารสุนัขของคุณเอง' มันชัดเจนมากในช่วงปี 1980 ซึ่งผู้ผลิตซอฟต์แวร์ทำและไม่ใช้ผลิตภัณฑ์ของตนเองภายใน
user207421
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.