Unix neden 'kendini destekliyor'?


63

Ritchie ve Thompson'un Unix dosya sistemi hakkındaki makalesini okuyordum. “Sistemin tamamen kendi kendini desteklediğini belirtmekte fayda var” diye yazıyorlar. Unix'ten önceki sistemler kendinden destekli değil miydi? Hangi şekillerde?


3
Diomidis Spinellis'in Unix evrimi üzerine FOSDEM 2018 konuşmasına bakmaya değer ; Ayrıca Liam
Proven'ın

5
Ayrıca, Retrocomputing'deki kendi kendini desteklemeyen işletim sistemleri hakkında sormaya değer olabilir , burada çok ayrıntılı cevaplar alabilirsiniz.
Stephen Kitt

5
İçin bir başka terim kendini destekleyen bir öz barındırma
Nayuki

Diğerlerinin listelediği nedenlerden dolayı, kendi kendine yeten demek, aynı derecede doğrudur. Yalnızca yeni bir sistem (çekirdek, kullanıcı alanı) derlenemez, aynı zamanda gömülü / küçük sistemler dışında genellikle manuel sayfalar ve belgeler bulunur.
user2497,

Yanıtlar:


97

Başlığınızdaki soru , makaledeki teklifinizden hemen sonra ele alınmıştır :

Tüm Unix yazılımı sistemde korunur; Benzer şekilde, bu makale ve bu konudaki diğer tüm belgeler Unix editörü ve metin formatlama programları tarafından oluşturulup formatlanmıştır.

Dolayısıyla “kendi kendini destekleyen”, bir Unix sistemi kurulduktan sonra, kendi kendine yetecek ve kullanıcıları sistemin üzerinde değişiklik yapmak için kullanabileceği anlamına gelir. Yukarıdaki alıntıda yer alan “bu sayı”, tüm Unix sistemiyle ilgili olan Bell Sistem Teknik Dergisi, Cilt 57, Sayı 6, Bölüm 2, Temmuz-Ağustos 1978'i ifade eder (ve Unix ve tarihiyle ilgilenen herkes için büyüleyici bir okuma yapar). .

Unix'in kendi kendini desteklediği gerçeği, daha önce olmayan diğer tüm sistemler anlamına gelmez; Ancak bazı işletim sistemleri, onları inşa etmek için başka sistemlerin kullanılmasını gerektiriyordu (bu daha sonra, aslında sistemleri minis'te geliştirilen mikro bilgisayarların ortaya çıkmasıyla daha da yaygınlaştı). Unix, aynı zamanda sadece kendini oluşturmakla kalmayıp aynı zamanda hem çevrimiçi hem de basılı belgelerini de üretebileceği anlamına gelen dizgi araçlarını da içerdiği için yeniydi (Unix'in bu tür ilk sistem olmayabilirdi, ama bu en az olağandışı).


20
Dizgi araçları ( roff) erken Unix için çok önemliydi. Fonun bir kısmı, bir belge dizgi sistemi üretme vaadiyle geldi.
Kusalananda

22
@Kusalananda IIRC, orijinal Unix / C ekibinin yazılı hesaplarından, çok küçük bir basitleştirilmiş işletim sistemi üzerinde çalışmak için izin istedi, çünkü Multix çok geç kaldı, ancak izin verilmedi. Daha sonra (diziliminin sadece bir kısmıydı, diğer kısımlar dosya sistemini ve dosya düzenleyiciyi içeriyordu) bir belge yönetim sistemi geliştirme işini yaptılar ve tipik bir bilgisayar korsanı olarak ürünü geliştirmek için bir işletim sistemi yazmaya karar verdiler
Slebetman

Multics, bu
Artelius

Bu, buildroot tabanlı işletim sistemlerinin artık takımları hedef uygulama olarak gcc'yi kaldırdığı için kendi kendini desteklemediği anlamına mı geliyor?
tudor

Dahil olan bir C derleyicisi en önemli şey olmaz mıydı?
Faheem Mitha

14

PDP-11, Digital Equipment Corporation tarafından yapıldı ve üreticinin PDP-11 için işletim sistemleri şunlardı:

  • RT-11
  • RSX-11
  • RSTS / E

Bunlardan en azından RSTS / E, sistemi oluşturmak için başka bir işletim sistemi gerektiriyordu. Tabii ki DOS'u destekleyen, çok az destekleyici olan tek bantlı, tek kullanıcılı bir Disk İşletim Sistemi idi, elbette çok az destekledi, teyp, diskler, teletype, sysgensize yapılandırma sorularını soran ve derleme dili yapılandırma dosyaları oluşturan bir program ve bir assembler ve linker. Programın çıktısı sysgenbir RSTS / E önyüklenebilir işletim sistemi idi. RT-11 veya RSX-11 için konuşamam, çünkü bunları asla sysgen yapmak zorunda kalmamıştım, ancak 1970'lerin sonlarında RSTS / E'yi defalarca sysgen'dim.

Bunları sysgen, bir RT-11 çalışma zamanı sistemi (ve ayrıca bir RSX-11 çalışma zamanı sistemi vardı) aracılığıyla programı barındıran RSTS / E sürüm 6b veya muhtemelen 6c ile düzelttiler , ancak bu zamandan beri devam etmekte olan 1968. Bu nedenle Unix'in vurgusu kendi kendini desteklemektedir.


RT-11 gerçekten de sysgenaynı şekilde çalıştı ve çalıştı. Ancak, tek kullanıcılı normal bir RT-11 sistemi kullanıyordu, ancak RT-11 çok kullanıcılı yapan TSX-Plus adlı üçüncü taraf bir sistem vardı .
wallyk

10

Asıl soruya cevap vermek için Unix neden kendini destekliyor? Bunun nedeni, kendini barındırmayan sistemlerin emilmemesiydi.

Geliştirilmesi gereken başka bir sistem olduğunda, ortaya çıkan sistem güvenilir , arkadaş canlısı ve kullanılabilir olması için gereken özeni göstermez .

Sequent'ın tarihinin başlarında , Unix benzeri işletim sistemlerini ve diğer bileşenlerini geliştirmek için VAX'leri kullandılar. Kendi geçmişi ile ilgili olarak, mühendisler gururla kısa sürede kendi ürün çoğunlukla güvenilir olduğu gibi, şirket başkanı geliştirme böylece uzağa VAXes rulo yardım ettiğini ifade vardı öz barındırma olmak ve şirket önemli bir dönüm noktası sonuçlanan olarak de-VAXing atfedilen yüksek güvenilirlik ve kullanıcı dostu sürüş.

1970'lerin can sıkıcı, kendi kendine barındırmayan birçok geliştirme sistemini kişisel olarak deneyimledim: iRMX'in 1980'lerin sonlarında büyük ölçüde kendi kendini barındırmadığını düşünmeme rağmen, VAXen'de ünlü olarak geliştirilen ISIS ve iRMX .


10
Bu gayrı resmi olarak 'kendi köpek yemeğinizi yeme' olarak bilinir. 1980'lerde yazılım üreticilerinin kendi ürünlerini kendi içinde kullandıkları ve kullanmadıkları çok açıktı.
user207421,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.