Multik - Multics

Multikler
Multics logosu.gif
geliştirici MIT , GE , Bell Laboratuvarları
Yazılmış PL/I , Assembly dili
çalışma durumu Olgun, tarihi, öykünücü mevcut
Kaynak modeli Açık kaynak
İlk sürüm 1969 ; 52 yıl önce ( 1969 )
En son sürüm 12.7 / 28 Temmuz 2021 ; 2 ay önce ( 2021-07-28 )
depo
Uygun İngilizce
Platformlar GE-645 ana bilgisayarlar, Honeywell 6180 serisi makineler
çekirdek türü monolitik çekirdek
Etkilenen Unix , GEORGE 3 , ICL VME , PRIMOS , Etki Alanı/OS , Stratus VOS
Varsayılan
kullanıcı arayüzü
Komut satırı arayüzü
Lisans Orijinal olarak tescilli ,
2007'den beri Özgür yazılım Multics Lisansı
Öncesinde Uyumlu Zaman Paylaşımlı Sistem
Resmi internet sitesi www .multicians .org

Multics (" Multiplexed Information and Computing Service "), tek seviyeli bellek kavramına dayanan etkili bir erken zaman paylaşımlı işletim sistemidir . Multics'in "mikro bilgisayarlardan ana bilgisayarlara kadar tüm modern işletim sistemlerini etkilediği" söylenmiştir.

Multics için ilk planlama ve geliştirme 1964'te Cambridge, Massachusetts'te başladı . Başlangıçta , General Electric ve Bell Labs ile birlikte MIT ( Fernando Corbató ile Proje MAC) tarafından yönetilen bir ortak projeydi . Bunun için özel olarak tasarlanmış GE 645 bilgisayarında geliştirildi ; ilki Ocak 1967'de MİT'e teslim edildi.

Multics, General Electric için ticari bir ürün olarak tasarlandı ve çok başarılı olmasa da Honeywell için bir oldu . Pek çok yeni ve değerli fikri nedeniyle Multics, hatalarına rağmen bilgisayar bilimi üzerinde önemli bir etkiye sahip olmuştur.

Multics, telefon ve elektrik hizmetlerine benzer bir bilgi işlem yardımcı programını destekleyebilmesi için yüksek kullanılabilirlik sağlamayı amaçlayan çok sayıda özelliğe sahiptir . Bunu sağlamak için modüler donanım yapısı ve yazılım mimarisi kullanılmaktadır. Sistem, bilgi işlem gücü, ana bellek veya disk depolama gibi uygun kaynaktan daha fazlasını ekleyerek büyüyebilir. Her dosyadaki ayrı erişim kontrol listeleri esnek bilgi paylaşımı sağlar, ancak gerektiğinde tam gizlilik sağlar. Multics, mühendislerin sistemin performansını analiz etmesine olanak tanıyan bir dizi standart mekanizmaya ve ayrıca bir dizi uyarlanabilir performans optimizasyon mekanizmasına sahiptir.

Yeni fikirler

Multics Komutları başvuru kılavuzu

Multics , dosyalar ( Multics'te segmentler olarak adlandırılır ) ve işlem belleği arasındaki açık ayrımı göz ardı ederek, veri erişimi için tek seviyeli bir depo uygular . Bir işlemin belleği, yalnızca adres alanına eşlenmiş bölümlerden oluşur . Bunları okumak veya yazmak için, işlem sadece normal merkezi işlem birimi (CPU) talimatlarını kullanır ve işletim sistemi, tüm değişikliklerin diske kaydedildiğinden emin olmakla ilgilenir . In POSIX terminolojisi, her dosya sanki olduğunu ed; bununla birlikte, Multics'de Unix'in sahip olduğu gibi, eşlenen dosyaları tutmak için kullanılan bellekten ayrı bir işlem belleği kavramı yoktur . Tüm sistemin bellek parçası olan bir görünen segmenti, bir dosya sistemi ; buna işlemin geçici kazıma belleği, çekirdek yığını vb. dahildir. mmap()

Bunun bir dezavantajı, segmentlerin boyutunun 1 MB'ın biraz üzerinde  olan 256 kiloword ile sınırlı olmasıydı . Bunun nedeni, Multics'in çalıştığı makinelerin, 36 bitlik bir kelime boyutuna ve bu boyutun (18 bit) yarısı kadar olan indeks kayıtlarına (segmentler içinde adreslemek için kullanılır) sahip olduğu özel donanım mimarisiydi . Çok parçalı dosyalar adı verilen bundan daha büyük dosyalar üzerinde çalışmak için ekstra kod kullanılması gerekiyordu. Bir megabayt belleğin aşırı derecede pahalı olduğu günlerde ve büyük veritabanlarından ve daha sonra devasa bitmap grafiklerinden önce, bu sınırla nadiren karşılaşılırdı.

Multics'in bir diğer önemli yeni fikri dinamik bağlantıydı ; burada çalışan bir süreç, daha sonra yürütebileceği kodu içerebilen segmentler olan diğer segmentlerin adres alanına eklenmesini talep edebilirdi. Bu, uygulamaların, çağırdıkları herhangi bir harici rutinin en son sürümünü otomatik olarak kullanmalarına izin verdi, çünkü bu rutinler, yalnızca bir işlem kendilerinde ilk kez yürütmeye başlamaya çalıştığında dinamik olarak bağlanan diğer segmentlerde tutuldu. Farklı işlemler farklı arama kuralları kullanabileceğinden , farklı kullanıcılar otomatik olarak farklı harici rutin sürümlerini kullanabilir. Aynı derecede önemli olarak, Multics güvenlik tesislerinde uygun ayarlarla, diğer segmentteki kod daha sonra farklı bir süreçte tutulan veri yapılarına erişim kazanabilir.

Bu nedenle, kısmen arka plan programı (başka bir süreçte) olarak çalışan bir uygulama ile etkileşimde bulunmak için , bir kullanıcının süreci , dinamik olarak bağlandığı bir kod parçasına normal bir prosedür çağrısı talimatını gerçekleştirdi (bir kod parçası ile ilişkili bazı işlemleri uygulayan bir kod parçası). şeytan). Bu segmentteki kod, daha sonra arka planda tutulan ve kullanılan verileri değiştirebilir. İsteği başlatmak için gerekli eylem tamamlandığında, basit bir prosedür iade talimatı, kullanıcının sürecinin kontrolünü kullanıcı koduna geri verdi.

Multics ayrıca son derece agresif çevrimiçi yeniden yapılandırmayı da destekledi : merkezi işlem birimleri , bellek bankaları, disk sürücüleri vb. sistem çalışmaya devam ederken eklenip çıkarılabilir. Çoğu erken yazılım geliştirmenin yapıldığı MIT sisteminde, çok işlemcili sistemi mesai saatleri dışında iki ayrı sisteme bölmek, ikinci bir çalışma sistemi oluşturmak için yeterli bileşeni aşamalı olarak kaldırarak ve geri kalanı hala orijinal kayıtlı durumda bırakarak yaygın bir uygulamaydı. -kullanıcılarda. İkinci sistemde sistem yazılım geliştirme testi yapılabiliyordu, ardından ikinci sistemin bileşenleri, ana kullanıcı sistemine kapatılmadan tekrar eklendi. Multics, çoklu CPU'ları destekler; en eski çok işlemcili sistemlerden biriydi.

Multics, başından beri güvenli bir sistem olarak tasarlanan ilk büyük işletim sistemiydi . Buna rağmen, Multics'in ilk sürümleri defalarca kırıldı. Bu, sistemi çok daha güvenli hale getiren ve modern güvenlik mühendisliği tekniklerini önceden şekillendiren daha fazla çalışmaya yol açtı . İkinci nesil donanım tabanı benimsendikten sonra hırsızlıklar çok nadir hale geldi; halka odaklı güvenlik için donanım desteğine sahipti , ana mod kavramının çok düzeyli bir iyileştirmesiydi . Bir ABD Hava Kuvvetleri kaplan ekibi projesi, 1973'te ZARF kod sözcüğü altında Multics güvenliğini test etti. 28 Mayıs 1997'de Amerikan Ulusal Güvenlik Ajansı, ZARF kod kelimesinin bu kullanımının gizliliğini kaldırdı.

Multics, hiyerarşik bir dosya sistemi sağlayan ilk işletim sistemiydi ve dosya adları neredeyse rastgele uzunlukta ve sözdiziminde olabilir. Belirli bir dosya veya dizinin birden çok adı olabilir (tipik olarak uzun ve kısa bir form) ve dizinler arasındaki sembolik bağlantılar da desteklenir. Multics per- artık standart kavramı kullanmak için ilk işlem yığınları içinde çekirdek her bir güvenlik halkası için ayrı bir yığın ile. Aynı zamanda, sıradan kullanıcı kodu olarak uygulanan bir komut işlemcisine sahip olan ilk kişiydi - daha sonra Unix kabuğunda kullanılan bir fikir . Aynı zamanda ilk üst düzey bir dil (Multics yazılmış biriydi PL / I sonra,) Burroughs MCP yazılmış sisteme ALGOL .

Multics'in güvenli bilgi işlem ortamlarına yerleştirilmesi, yenilikçi destekleyici uygulamaların geliştirilmesini de teşvik etti. 1975 yılında, MITRE Corporation'dan Morrie Gasser, sınıflandırılmış bilgileri işleyen Hava Kuvvetleri Veri Hizmetleri Merkezi (AFDSC) gibi kurulumların parola gereksinimlerini karşılamak için belirgin bir rastgele kelime üreteci geliştirdi. Tahmin edilebilir parolalardan kaçınmak için, AFDSC parolalar atamaya karar verdi, ancak manuel atamanın çok fazla idari ek yük gerektirdiği sonucuna vardı. Böylece rastgele bir kelime üreteci araştırılmış ve ardından PL1'de geliştirilmiştir. Sistem, fonemlere dayalı olmak yerine, telaffuz edilebilirliği ve rastgeleliği geliştirmek için fonemik segmentleri (İngilizce'nin ikinci dereceden yaklaşımları) ve diğer kuralları, diğer yaklaşımlara karşı istatistiksel olarak modellenmiş olarak kullandı. Project Guardian sırasında Multics'e bu oluşturucunun soyundan gelen bir kişi eklendi.

Proje geçmişi

1964'te Multics, başlangıçta 36 bitlik bir sistem olan GE-645 ana bilgisayarı için geliştirildi . GE'nin Multics dahil olmak üzere bilgisayar işi, 1970 yılında Honeywell tarafından devralındı; 1973 civarında, Multics, koruma halkaları için donanım desteği de dahil olmak üzere güvenlik iyileştirmelerini içeren Honeywell 6180 makinelerinde desteklendi .

Bell Labs 1969'da projeden çekildi; orada çalışanlardan bazıları Unix sistemini oluşturmaya devam etti . Multics geliştirme MIT ve General Electric'te devam etti.

Honeywell, sistem geliştirmeye 1985 yılına kadar devam etti. Üniversitelerde, endüstride ve devlet tesislerinde yaklaşık 80 milyon dolarlık tesis kuruldu. Fransız üniversite sisteminin 1980'lerin başında birkaç tesisi vardı. Honeywell, Multics'i desteklemeyi bıraktıktan sonra, kullanıcılar Unix gibi diğer sistemlere geçti.

1985 yılında Multics, NSA'nın bir bölümü olan Ulusal Bilgisayar Güvenlik Merkezi'nden (NCSC) Güvenilir Bilgisayar Sistemi Değerlendirme Kriterlerini kullanarak B2 düzeyinde güvenli bir işletim sistemi olarak sertifika aldı, bu düzeyde değerlendirilen ilk işletim sistemi.

Multics tarafından 2000 1975 arası dağıtıldı Grup Bull içinde Avrupa ve Amerika Birleşik Devletleri'nde Bull HN Bilgi Sistemleri A.Ş. tarafından. 2006'da Bull SAS , Multics sürümleri MR10.2, MR11.0, MR12.0, MR12.1, MR12.2, MR12.3, MR12.4 ve MR12.5'in kaynak kodunu ücretsiz bir yazılım lisansı altında yayınladı .

Honeywell donanımında yerel olarak çalışan bilinen son Multics kurulumu , 30 Ekim 2000'de Kanada'nın Nova Scotia, Halifax kentindeki Kanada Ulusal Savunma Bakanlığı'nda kapatıldı .

Şu anki durum

2006'da Bull HN, 1992 Multics'in son sürümü olan MR12.5'in kaynak kodunu MIT'ye yayınladı. Sistemin çoğu, TCP/IP gibi bazı isteğe bağlı parçalar dışında , artık ücretsiz yazılım olarak mevcuttur .

2014'te Multics, bir öykünücü kullanılarak mevcut donanım üzerinde başarıyla çalıştırıldı. Emülatörün 1.0 sürümü artık mevcuttur. Multics'in 12.6f sürümü, öykünücünün 1.0 sürümüne eşlik eder ve komut satırı geri çağırma ve video sistemini kullanarak düzenleme dahil olmak üzere birkaç yeni özellik ekler.

Komutlar

Aşağıda, Multics komut satırı arabirimi tarafından desteklenen yaygın bilgi işlem görevleri için programların ve komutların bir listesi bulunmaktadır .

Retrospektif gözlemler

Unix'in ilk yıllarını kapsayan bir kitabın yazarı olan Peter H. Salus , bir pozisyonu belirtti: "Mullics ile çok daha çok yönlü ve esnek bir işletim sistemine sahip olmaya çalıştılar ve sefil bir şekilde başarısız oldu". Bununla birlikte, Multics'in teknik yeniliklerinin çoğu modern ticari bilgi işlem sistemlerinde kullanıldığından, bu konum bilgi işlem topluluğunda büyük ölçüde itibardan düşmüştür.

Zamanında çok büyük ve karmaşık olduğu düşünülen bir sistem olan Multics'in kalıcı olarak yerleşik çekirdeği yalnızca 135 KB koddu. Buna karşılık, 2007'deki bir Linux sistemi 18 MB işgal etmiş olabilir. İlk MIT GE-645 , 512 kiloword (2 MiB) belleğe sahipti, bu o zamanlar gerçekten çok büyük bir miktardı ve çekirdek, Multics ana belleğinin yalnızca orta düzeyde bir bölümünü kullandı.

İşletim sistemi ve karmaşık PL/1 derleyicisi , kullanıcı komutları ve alt program kitaplıkları dahil olmak üzere tüm sistem, yaklaşık 1500 kaynak modülünden oluşuyordu. Bunların her biri ortalama 200 satır kaynak koduna sahipti ve günün standartlarına göre oldukça büyük olan toplamda yaklaşık 4,5 MiB prosedür kodu üretecek şekilde derlendi.

Multics derleyicileri genellikle CPU performansından çok kod yoğunluğu için optimize edilmiştir , örneğin kısa standart kod dizileri için operatörler olarak adlandırılan küçük alt rutinler kullanarak nesne kodu boyutunun modern sistemlerle karşılaştırmasını daha az kullanışlı hale getirir. Yüksek kod yoğunluğu, pahalı ana belleğe sahip çok kullanıcılı bir sistem olarak Multics için iyi bir optimizasyon seçimiydi .

Ticari ürün tarihi boyunca, Honeywell Bilgi Sistemlerinin (HIS) (daha sonra Honeywell-Bull) satış ve pazarlama personelinin Honeywell'in diğer bilgisayar serisi olan DPS 6'yı çalıştıran GCOS'un iş gerekçesini oluşturmaya daha aşina olduğu ve bu konuda daha rahat olduğu dahili olarak sıklıkla yorumlandı. . DPS-6 ve GCOS, büyük bir müşteri tabanına sahip olduğu, envanter, muhasebe, kelime işlem ve bankacılık gibi dikey pazar uygulamaları için saygın ve güvenilir bir platformdu. Buna karşılık, Multics'in sıradan görevler için bile esnekliğinin tam potansiyeli o çağda anlaşılması kolay değildi ve özellikleri genellikle çağdaş iş analistlerinin becerilerinin dışındaydı. Bu kopukluğun kapsamı, CNO/CSC'den Paul Stachour tarafından aktarılan bir anekdotla somutlaştırıldı:

American Telephone and Telegraph 1983'te adını sadece AT&T olarak değiştirirken, Honeywell'in hukuk departmanından bir çalışan geldi ve bir Multician'a bilgisayarlı belgelerinin tümünde adın değiştirilmesini ayarlayıp ayarlayamayacağını sordu. İşlemin ne zaman tamamlanabileceği sorulduğunda, Multician "Bitti" yanıtını verdi. Görevli, yüzlerce, belki de binlerce belgenin güncellenmesi gerektiğini tekrarladı . Multician, personel konuşurken küresel bir arama ve değiştirme gerçekleştirdiğini ve aslında görevin tamamlandığını açıkladı.

Diğer projeler üzerindeki etkisi

Unix

Multics'in tasarımı ve özellikleri , orijinal olarak iki Multics programcısı Ken Thompson ve Dennis Ritchie tarafından yazılan Unix işletim sistemini büyük ölçüde etkiledi . Multics'in Unix üzerindeki yüzeysel etkisi, bazı komutların adlandırılması da dahil olmak üzere birçok alanda belirgindir. Ancak dahili tasarım felsefesi oldukça farklıydı, sistemi küçük ve basit tutmaya ve böylece zamanın sınırlı bilgisayar donanımı üzerindeki yüksek kaynak talepleri nedeniyle Multics'in algılanan bazı eksikliklerini düzeltmeye odaklanıyordu.

Unix adının (başlangıçta Unics ) kendisi Multics'te bir kelime oyunudur . U Unix içinde ayakta söyleniyor uniplexed aksine çoğullanmış ayrıca daha küçük bilgisayarlar için daha basit ve uygulanabilir bir yaklaşım lehine karmaşıklığına tasarımcıların Multics reddedip vurgulayan Multics ait. (Garfinkel ve Abelson alternatif bir kökene atıfta bulunuyorlar: Bell Laboratuarlarından Peter Neumann, prototipin bir gösterimini izlerken , Dennis Ritchie'nin bunu reddettiği söylense de, " hadımlar " olarak telaffuz edilen UNICS kelime oyununu "iğdiş edilmiş Multics" olarak önerdi . )

Ken Thompson, Peter Seibel ile 2007'de yapılan bir röportajda Multics'ten "aşırı tasarlanmış, fazla inşa edilmiş ve her şeyin üzerinde" olarak bahseder. Kullanılamaza yakındı. Onlar [Massachusetts Teknoloji Enstitüsü] hala bunun korkunç bir başarı olduğunu iddia ediyorlar, ancak açıkça değildi. ". Multics'in Unix üzerindeki etkisi üzerine Thompson, "(Multic'ler hakkında) gerçekten almayı yeterince sevdiğim şeylerin hiyerarşik dosya sistemi ve kabuk - başka bir işlemle değiştirebileceğiniz ayrı bir işlem" olduğunu belirtti.

Diğer işletim sistemleri

Başbakan Bilgisayar işletim sistemi, PRIMOS tarafından "bir ayakkabı kutusunun Multics" olarak sevk edildi William Poduška , şirketin kurucusu. Poduska daha sonra , AEGIS ve daha sonra bazen "Bir kibrit kutusunda Multics" olarak adlandırılan Etki Alanı/OS işletim sistemleri, Multics tasarımını yoğun bir şekilde ağ bağlantılı grafik iş istasyonu ortamına genişleten Apollo Computer'ı kurmaya devam etti .

Stratus Vos Stratus Computer (şimdi işletim sistemi Stratus Teknolojileri ) çok güçlü bir şekilde eski projeye dış kullanıcı arayüzü ve iç yapısı ayı birçok büyük benzerlikler hem Multics etkilenmiştir edildi ve. Multics'in yüksek güvenilirlik, kullanılabilirlik ve güvenlik özellikleri, güvenli, güvenilir işlem işlemeyi destekleyen yeni bir hataya dayanıklı bilgisayar sistemleri hattını desteklemek için Stratus VOS'ta genişletildi . Stratus VOS, bugün hala aktif geliştirme ve üretim kullanımında olan Multics'in en doğrudan ilişkili torunudur.

Güvenliğin temelidir özelliklerinin yanı diğerinde erişim kaynaklarına sistemin bir seviyede kod yeteneğini kısıtlayan Multics koruma mimarisi, kabul edildi ICL 'in VME işletim sistemi.

Ayrıca bakınız

Referanslar

daha fazla okuma

Literatür, Multics ve onun çeşitli bileşenleri hakkında çok sayıda makale içerir; Oldukça eksiksiz bir liste Multics Bibliyografyası sayfasında ve ikinci, daha kısa 1994 Multics bibliyografyasında (metin formatı) mevcuttur. En önemli ve/veya bilgilendirici olanlar aşağıda listelenmiştir.

Teknik detaylar

Güvenlik

Dış bağlantılar