Minix 3
Geliştirici(ler) | Andrew S. Tanenbaum et al. |
---|---|
İşletim sistemi ailesi | Unix-benzeri |
Kaynak türü | Açık-kaynak |
Lisans | 2005: BSD-3-Clause[a][1] Original: BSD-3-Clause |
Çekirdek türü | Mikroçekirdek |
Platform desteği | IA-32, ARM |
Öncülü | Minix 1.0, 1.5 and 2.0 |
Kullanıcı alanı | Minix, NetBSD |
Kullanıcı arayüzü | Almquist shell/ash |
Web sitesi | minix3.org |
Dil sayısı | İngilizce |
Minix 3, Unix benzeri bir küçük bir işletim sistemidir. BSD-3-Lisansı [a] altında yayınlanır ve önceki sürümler olan Minix 1 ve 2'nin devamı niteliğinde bir projedir.
Projenin ana hedefi, sistemin herhangi bir kullanıcı müdahalesi olmadan anında tespit edilip onarılarak sistemin arızaya dayanıklı hale getirilmesidir. Sistemin temel kullanımlarının gömülü sistemler ve eğitim olması öngörülmektedir.[2]
(2017 itibarıyla), Minix 3, IA-32 ve ARM mimarili işlemcileri destekler. Bochs, VMware Workstation, Microsoft Virtual PC, Oracle VirtualBox ve QEMU gibi emülatörler veya sanal makineler üzerinde de çalışabilir. PowerPC mimarisi için bir port geliştirme aşamasındadır.[3][4][5][6][7][8][9]
Dağıtım, canlı bir CD'de gelir ve canlı USB kurulumunu desteklemez.[10]
Minix 3'ün, Skylake ve Kaby Lake işlemcilerle birlikte kullanılan ME 11'in piyasaya sürülmesinden başlayarak Intel'in Platform Denetleyici Merkezinde bulunan Intel Management Engine (ME) işletim sistemine ilham verdiğine inanılıyor.[11][12]
Intel ME'de kullanılması nedeniyle Minix'in Microsoft Windows, Linux veya macOS'tan daha fazla kurulumla x86 / AMD64 işlemcilerde en yaygın kullanılan işletim sistemi olabileceği tartışıldı.[13]
Minix 3 tartışma grubu hala aktif olmasına rağmen, proje 2018'den beri atıl durumdadır ve en son sürüm 2017'den 3.4.0 rc6'dır[14][15][16]
Projenin hedefleri
[değiştir | kaynağı değiştir]Bir sürücünün (Minix'in yaratıcısı Tanenbaum'a göre normal bir programa göre yaklaşık 3-7 kat daha fazla hataya sahip olan)[17] tüm sistemi çökertebileceği yekpare çekirdek tabanlı sistemlerin doğasını düşünerek,[18] Minix 3, "güvenilir, kendi kendini iyileştiren, çok sunuculu Unix klonu" olan bir işletim sistemi oluşturmayı amaçlar.[19]
Bunu başarmak için, dosya sunucusu, işlem sunucusu ve her bir aygıt sürücüsü ayrı kullanıcı modu işlemleri olarak çalışırken, çekirdekte çalışan kod minimum düzeyde olmalıdır. Her sürücü, reenkarnasyon sunucusu adı verilen sistemin bir bölümü tarafından dikkatle izlenir. Bir sürücü bu sunucudan gelen pinglere yanıt veremezse kapatılır ve sürücünün yeni bir kopyası ile değiştirilir.
Monolitik bir sistemde, bir sürücüdeki bir hata, tüm çekirdeği kolaylıkla çökertebilir. Bunun Minix 3'te olma olasılığı çok daha düşüktür[20]
Tarih
[değiştir | kaynağı değiştir]Release date | Description | |
---|---|---|
3.1.0 (OSDI3) |
2005-10-18 |
|
3.1.1 (SOSP) |
2005-10-24 |
|
3.1.2 | 2006-04-18 |
|
3.1.2a | 2006-05-29 |
|
3.1.3 | 2007-04-13 |
|
3.1.3a | 2007-06-08 |
|
3.1.4 | 2009-06-09 |
|
3.1.5 | 2009-11-05 |
|
3.1.6 | 2010-02-08 |
|
3.1.7 | 2010-06-16 | |
3.1.8 | 2010-10-04 | |
3.2.0 | 2012-02-29 |
|
3.2.1 | 2013-02-21 |
|
3.3.0[27] | 2014-09-15 |
|
3.4.0 rc6 | 2017-05-09 | X11 is now part of the operating system. |
|
Minix 3, 24 Ekim 2005'te Andrew Tanenbaum tarafından Association for Computing Machinery (ACM) Sempozyumu İşletim Sistemleri İlkeleri konferansının zirvesindeki açılış konuşması sırasında kamuoyuna duyuruldu. Hala Tanenbaum ve Woodhull'un ders kitabının yeni baskısı için bir örnek teşkil etse de, "kaynak sınırlı ve gömülü bilgisayarlarda ve yüksek güvenilirlik gerektiren uygulamalarda ciddi bir sistem olarak kullanılabilir" olacak şekilde kapsamlı bir şekilde yeniden tasarlandı.
Başlangıçta, Minix'in 2000'den beri lisanslandığı aynı BSD-3-Clause lisansı altında yayınlandı.[23][24] 2005 sonlarında telif hakkı sahibi değiştirildi ve dördüncü bir madde eklendi.[25][28]
Güvenilirlik politikaları
[değiştir | kaynağı değiştir]Minix 3'ün ana hedeflerinden biri güvenilirliktir. Aşağıda, güvenilirliğini artıran daha önemli ilkelerden bazıları tartışılmaktadır.
Çekirdek boyutunun küçültülmesi
[değiştir | kaynağı değiştir]Linux ve FreeBSD gibi monolitik işletim sistemleri ve Windows gibi hibrit işletim sistemleri milyonlarca satırlık çekirdek koduna sahiptir. Buna karşılık, Minix 3'te yaklaşık 6.000 satır yürütülebilir çekirdek kodu vardır,[29] bu kodda sorunların bulunmasını kolaylaştırabilir.
Böcekleri (hataları) kafesleyebilme
[değiştir | kaynağı değiştir]Monolitik çekirdeklerde, aygıt sürücüleri çekirdekte bulunur. Böylece yeni bir çevre birimi kurulduğunda çekirdeğe bilinmeyen, güvenilmeyen kod eklenir. Bir sürücüdeki hatalı bir kod satırı sistemi çökertebilir.
Bunun yerine, Minix 3'te her aygıt sürücüsü ayrı bir kullanıcı modu işlemidir. Sürücüler ayrıcalıklı yönergeleri yürütemez, sayfa tablolarını değiştiremez, isteğe bağlı giriş/çıkış (G/Ç) gerçekleştiremez veya mutlak belleğe yazamaz. Bu hizmetler için çekirdek çağrıları yapmaları gerekir ve çekirdek her yetki çağrısını kontrol eder.
Sürücülerin bellek erişimini sınırlayabilme
[değiştir | kaynağı değiştir]Monolitik çekirdeklerde, bir sürücü herhangi bir bellek sözcüğüne yazabilir ve böylece kazara kullanıcı programlarını bozabilir.
Minix 3'te, bir kullanıcı örneğin dosya sisteminden veri beklediğinde, kimin ve hangi adreslerde erişime sahip olduğunu söyleyen bir tanımlayıcı oluşturur. Daha sonra, bu tanımlayıcıya bir dizini, onu bir sürücüye iletebilecek olan dosya sistemine iletir. Dosya sistemi veya sürücü daha sonra çekirdeğe tanımlayıcı aracılığıyla yazmasını ister, bu da arabellek dışındaki adreslere yazmalarını imkansız hale getirir.
Kötü işaretçilerden kurtulabilme
[değiştir | kaynağı değiştir]Bir sürücü içindeki hatalı bir işaretçinin başvurusunun kaldırılması, sürücü sürecini çökertecektir, ancak bir bütün olarak sistem üzerinde hiçbir etkisi olmayacaktır. Reenkarnasyon sunucusu, çöken sürücüyü otomatik olarak yeniden başlatacaktır. Kullanıcılar bazı sürücüler için (örn. disk ve ağ) kurtarmayı fark etmeyeceklerdir ancak diğerleri için (örn. ses ve yazıcı) fark edebilirler. Monolitik çekirdeklerde, bir sürücüdeki hatalı bir işaretçinin başvurusunun kaldırılması normalde sistem çökmesine neden olur.
Sonsuz döngüleri işleyebilme
[değiştir | kaynağı değiştir]Bir sürücü sonsuz bir döngüye girerse, zamanlayıcı boşta kalana kadar önceliğini kademeli olarak düşürür. Sonunda reenkarnasyon sunucusu durum isteklerine yanıt vermediğini görecek, bu nedenle döngü sürücüsünü öldürecek ve yeniden başlatacaktır. Yekpare bir çekirdekte, bir döngü sürücüsü sistemi kilitleyebilir.
Arabellek taşmalarından kaynaklanan hasarı sınırlayabilme
[değiştir | kaynağı değiştir]Minix 3, belirli arabellek taşmalarını ve arabellek yönetimi sorunlarını ortadan kaldıran dahili iletişim için sabit uzunlukta mesajlar kullanır. Ayrıca, birçok istismar, saldırgan tarafından kontrol edilen belleğe, genellikle taşma arabelleğine işaret eden üzerine yazılmış bir yığın dönüş adresi kullanarak programı bir işlev çağrısından geri dönmesi için kandırmak üzere bir arabelleği taşarak çalışır. Minix 3'te, talimat ve veri alanı bölündüğü ve yürütülebilir alan koruması olarak adlandırılan yalnızca (salt okunur) talimat alanındaki kod yürütülebildiği için bu saldırı hafifletilir. Ancak, yasal olarak yürütülebilir belleğin kötü niyetli bir şekilde çalıştırılmasına dayanan saldırılar (libc'ye dönüş, geri dönüş yönelimli programlama ) bu hafifletme ile engellenmez.
Çekirdek işlevlerine erişimi kısıtlayabilme
[değiştir | kaynağı değiştir]Aygıt sürücüleri, çekirdek çağrıları yaparak çekirdek hizmetlerini (kullanıcıların adres alanlarına veri kopyalamak gibi) alır. Minix 3 çekirdeği, her sürücü için hangi çağrıları yapmaya yetkili olduğunu belirten bir bit haritasına sahiptir. Monolitik çekirdeklerde, her sürücü yetkili olsun ya da olmasın her çekirdek işlevini çağırabilir.
G/Ç bağlantı noktalarına erişimi kısıtlayabilme
[değiştir | kaynağı değiştir]Çekirdek ayrıca her sürücünün hangi G/Ç bağlantı noktalarına erişebileceğini söyleyen bir tablo tutar. Bu nedenle, bir sürücü yalnızca kendi G/Ç bağlantı noktalarına dokunabilir. Monolitik çekirdeklerde, hatalı bir sürücü başka bir aygıta ait G/Ç bağlantı noktalarına erişebilir.
İşletim sistemi bileşenleriyle iletişimi kısıtlayabilme
[değiştir | kaynağı değiştir]Her sürücü ve sunucunun diğer tüm sürücü ve sunucularla iletişim kurması gerekmez. Buna göre, işlem başına bir bit haritası, her işlemin hangi hedeflere gönderim yapabileceğini belirler.
Ölü veya hasta sürücüleri reenkarne edin
[değiştir | kaynağı değiştir]Reenkarnasyon sunucusu adı verilen özel bir işlem, her aygıt sürücüsüne düzenli aralıklarla ping gönderir. Sürücü ölürse veya pinglere doğru yanıt veremezse, reenkarnasyon sunucusu otomatik olarak onu yeni bir kopyayla değiştirir. Çalışmayan sürücülerin algılanması ve değiştirilmesi kullanıcının herhangi bir işlem yapmasına gerek kalmadan otomatik olarak yapılır. Bu özellik şu anda disk sürücüleri için çalışmamaktadır, ancak bir sonraki sürümde sistem, rastgele erişim belleğinde (RAM) gölgelenecek olan disk sürücülerini bile kurtarabilecektir. Sürücü kurtarma, çalışan işlemleri etkilemez.
Kesintileri ve mesajları entegre edebilme
[değiştir | kaynağı değiştir]Bir kesme meydana geldiğinde, düşük seviyede uygun sürücüye gönderilen bir bildirime dönüştürülür. Sürücü bir mesaj bekliyorsa, kesmeyi hemen alır; aksi takdirde, bir sonraki sefer bir mesaj almak için RECEIVE
bildirim alır. Bu şema, iç içe kesintileri ortadan kaldırır ve sürücü programlamayı kolaylaştırır.
Mimari
[değiştir | kaynağı değiştir]Görülebileceği gibi, en alt seviyede, yaklaşık 4.000 satırlık koddan (çoğunlukla C'de ve az miktarda da Assembly dilinde) oluşan mikro çekirdek bulunur. Kesintileri, zamanlamayı ve ileti geçişini yönetir. Ayrıca, yetkili sunucuların ve sürücülerin yapabileceği yaklaşık 30 çekirdek çağrısından oluşan bir uygulama programlama arabirimini (API) destekler. Kullanıcı programları bu çağrıları yapamaz. Bunun yerine, sunuculara mesaj gönderen POSIX sistem çağrıları yapabilirler. Çekirdek çağrıları, kesmeleri ayarlamak ve adres alanları arasında veri kopyalamak gibi işlevleri yerine getirir.
Bir sonraki seviyede, her biri ayrı bir kullanıcı alanı işlemi olarak çalışan aygıt sürücüleri vardır. Her biri, disk veya yazıcı gibi bazı G/Ç aygıtlarını kontrol eder. Sürücülerin G/Ç bağlantı noktası alanına erişimi yoktur ve doğrudan G/Ç yönergeleri veremez. Bunun yerine, yazılacak G/Ç bağlantı noktalarının ve yazılacak değerlerin bir listesini veren çekirdek çağrıları yapmaları gerekir. Bunu yaparken küçük bir miktar ek yük olsa da (tipik olarak 500 ns), bu şema çekirdeğin yetkilendirmeyi kontrol etmesini mümkün kılar, böylece örneğin ses sürücüsü diske yazamaz.
Bir sonraki seviyede sunucular var. Bu, neredeyse tüm işletim sistemi işlevlerinin bulunduğu yerdir. Kullanıcı işlemleri, örneğin dosyaları açmak, kapatmak, okumak ve yazmak için dosya sunucusuna mesajlar göndererek dosya hizmeti alır. Buna karşılık, dosya sunucusu, diski kontrol eden disk sürücüsüne mesajlar göndererek disk G/Ç'sini gerçekleştirir.
Anahtar sunuculardan biri reenkarnasyon sunucusudur. Görevi, sağlıklarını periyodik olarak kontrol etmek için diğer tüm sunucuları ve sürücüleri yoklamaktır. Bir bileşen doğru şekilde yanıt vermezse veya çıkarsa veya sonsuz bir döngüye girerse, reenkarnasyon sunucusu (sürücülerin ve sunucuların ana işlemidir) hatalı bileşeni öldürür ve onu yeni bir kopyayla değiştirir. Bu sayede çalışan programlara müdahale etmeden sistem otomatik olarak kendi kendini onarır hale getirilir.
Şu anda reenkarnasyon sunucusu, işlem sunucusu ve mikro çekirdek, güvenilir bilgi işlem tabanının parçalarıdır. Bunlardan herhangi biri başarısız olursa, sistem çöker. Bununla birlikte, Linux ve Windows sistemlerinde olduğu gibi 3-5 milyon satır koddan güvenilir bilgi işlem tabanını yaklaşık 20.000 satıra düşürmek, sistem güvenilirliğini büyük ölçüde artırır.
Minix 3 ve önceki sürümler arasındaki farklar
[değiştir | kaynağı değiştir]Minix 1.0, 1.5 ve 2.0, insanların işletim sistemlerinin tasarımı hakkında bilgi edinmelerine yardımcı olacak araçlar olarak geliştirildi.
1987'de piyasaya sürülen Minix 1.0, 12.000 satır C ve biraz x86 derleme diliydi. Minix 1.0'ın çekirdeğinin, bellek yöneticisinin ve dosya sisteminin kaynak kodu kitapta basılıdır. Tanenbaum, Minix'i orijinal olarak o sırada mevcut olan IBM PC ve IBM PC/AT mikrobilgisayarlarıyla uyumluluk için geliştirdi.
1991'de piyasaya sürülen Minix 1.5, MicroChannel IBM PS/2 sistemleri için destek içeriyordu ve ayrıca Atari ST, Commodore Amiga, Apple Macintosh ve Sun Microsystems SPARCstation bilgisayar platformlarını destekleyen Motorola 68000 ve SPARC mimarilerine taşındı. SunOS altında bir kullanıcı işlemi olarak çalışan bir Minix sürümü de mevcuttu.
1997'de piyasaya sürülen Minix 2.0, yalnızca x86 ve Solaris tarafından barındırılan SPARC mimarileri için mevcuttu. Minix-vmd, iki Vrije Universiteit araştırmacısı tarafından oluşturuldu ve X Pencere Sistemi için sanal bellek ve destek eklendi.
Minix 3 de aynı şeyi yapar ve birçok yeni araç ve birçok Unix uygulamasıyla modern bir işletim sistemi sağlar.[30] Prof. Tanenbaum bir keresinde şöyle demişti:
“ | Lütfen MINIX 3'ün büyükbabanızın MINIX'i olmadığını unutmayın ... MINIX 1 bir eğitim aracı olarak yazılmıştır ... MINIX 3 ise bunun yanı sıra son derece güvenilir, kendi kendini iyileştiren, şişkinlikten arındırılmış bir işletim sistemi oluşturmaya yönelik bir başlangıçtır ... MINIX 1 ve MINIX 3, Windows 3.1 ve Windows XP ile aynı şekilde ilişkilidir: aynı ilk isim.[19] | „ |
Minix 2 sürümünden bu yana çekirdeğin yapısında da birçok iyileştirme yapılarak sistem daha güvenilir hale getirildi.[31] Minix sürüm 3.1.5, 5 Kasım 2009'da yayınlandı. X11, Emacs, vi, cc, GCC, Perl, Python, Almquist kabuğu, Bash, Z kabuğu, FTP istemcisi, SSH istemcisi, Telnet istemcisi, Pine ve 400'ün üzerinde diğer yaygın Unix yardımcı programlarını içerir. X11'in eklenmesiyle bu sürüm salt metin sisteminden geçişi işaret ediyor. Gelecekte geliştirilecek olan bu versiyonun bir başka özelliği de, sistemin aygıt sürücüsü çökmelerine dayanabilmesi ve çoğu durumda çalışan işlemleri etkilemeden bunları otomatik olarak değiştirebilmesidir. Bu sayede Minix kendi kendini onarır ve yüksek güvenilirlik gerektiren uygulamalarda kullanılabilir.
Minix 3.2.0, Şubat 2012'de yayınlandı. Bu sürüm, Clang derleyici, deneysel simetrik çoklu işlem desteği, procfs ve ext2fs dosya sistemi desteği ve GNU Hata Ayıklayıcı (GDB) dahil olmak üzere birçok yeni özelliğe sahiptir. Önyükleyici, libc ve çeşitli yardımcı programlar ve diğer kitaplıklar dahil olmak üzere NetBSD'nin çeşitli bölümleri de yayına entegre edilmiştir.[32]
Minix 3.3.0, Eylül 2014'te piyasaya sürüldü. Bu sürüm, x86'ya ek olarak ARM mimarisini destekleyen ilk sürümdür. Ayrıca, kutudan çıkar çıkmaz çalışan binlerce NetBSD paketiyle bir NetBSD kullanıcı alanını da destekler.
Maskot
[değiştir | kaynağı değiştir]Rocky Raccoon, Minix 3'ün maskotudur.[33]
MINIXCon
[değiştir | kaynağı değiştir]MINIXCon, Minix ile ilgili konuşmaların, çabaların ve araştırmaların paylaşıldığı bir konferanstır.
2016 yılında bir kez yapılmıştır. MINIXCon2017, sunulan görüşme eksikliği nedeniyle iptal edildi.[34][35]
Ayrıca bakınız
[değiştir | kaynağı değiştir]- İşletim sistemi çekirdeklerinin karşılaştırılması
- MINIX dosya sistemi
- Bilgi işlem maskotlarının listesi
- Kategori:Bilgisayar maskotları
Not listesi
[değiştir | kaynağı değiştir]Kaynakça
[değiştir | kaynağı değiştir]- ^ "The Minix license". 24 Kasım 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Kasım 2005.
- ^ corbet (24 Ekim 2005). "Minix 3 hits the net". Lwn.net. 14 Aralık 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "minix3.org". minix3.org. 24 Ekim 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Nisan 2017.
- ^ "Getting Started with Minix on Bochs on Mac OS". Woodhull.com. 4 Şubat 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "OSNews.com". OSNews.com. 27 Haziran 2004 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "Minix under VMWare Installation How-To". Patrick.wagstrom.net. 12 Kasım 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "Minix on Virtual PC: first look". Woodhull.com. 11 Aralık 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "Minix 3 on Virtual box". inopinion.org. 6 Ağustos 2014. 13 Temmuz 2015 tarihinde kaynağından arşivlendi.
- ^ "A port of the MINIX OS to the PowerPC platform" (PDF). 27 Eylül 2007 tarihinde kaynağından (PDF) arşivlendi. Yazar
|ad1=
eksik|soyadı1=
(yardım) - ^ "Minix3". Minix3. 26 Ekim 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "Intel ME: The Way of Static Analysis". blog.ptsecurity.com. 1 Temmuz 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ağustos 2017.
- ^ "me_cleaner: Tool for partial deblobbing of Intel ME/TXE firmware images". GitHub. 28 Ağustos 2017. 28 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ağustos 2017. Yazar
|ad1=
eksik|soyadı1=
(yardım) - ^ "An Open Letter to Intel". 17 Haziran 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Eylül 2022. Yazar
|ad1=
eksik|soyadı1=
(yardım) - ^ "git.minix3.org Git - minix.git/summary". git.minix3.org. 16 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mayıs 2022.
- ^ "Index of /Iso/Snapshot/". 25 Şubat 2013 tarihinde kaynağından arşivlendi.
- ^ "minix3 - Google Groups". groups.google.com. 28 Ağustos 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mayıs 2022.
- ^ "Introduction to MINIX 3". OSnew. OSnews. 25 Eylül 2006. 16 Ekim 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Temmuz 2008.
From Rebirth section: "Various studies have shown that software broadly contains something like 6-16 bugs per 1000 lines of code and that device drivers have 3-7 times as many bugs as the rest of the operating system. When combined with the fact that 70% of a typical operating system consists of device drivers, it is clear that device drivers are a big source of trouble. For Windows XP, 85% of the crashes are due to bugs in device drivers. Obviously, to make OSes reliable, something has to be done to deal with buggy device drivers. Building a reliable system despite the inevitable bugs in device drivers was the original driving force behind Minix 3."
Yazar|ad1=
eksik|soyadı1=
(yardım) - ^ "CSAIL Event Calendar". Csail.mit.edu. 4 Şubat 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ a b "Tanenbaum-Torvalds debate, Part II". Cs.vu.nl. 12 Mayıs 2006. 1 Haziran 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "Reliability". www.MINIX3.org. 1 Temmuz 2006 tarihinde kaynağından arşivlendi.
- ^ "MinixReleases – Minix Wiki". Wiki.minix3.org. 7 Mart 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "Minix versions and their use in teaching". 11 Temmuz 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Haziran 2021.
- ^ a b "LICENSE (3.1.0)". GitHub. 7 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Haziran 2021.
- ^ a b "LICENSE (3.1.1)". 9 Şubat 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Haziran 2021.
- ^ a b "LICENSE (3.1.2)". GitHub. 15 Haziran 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Haziran 2021.
- ^ "Individual Programming Assignment User Mode Scheduling in Minix 3" (PDF). Minix3.org. 12 Kasım 2013 tarihinde kaynağından (PDF) arşivlendi. Yazar
|ad1=
eksik|soyadı1=
(yardım) - ^ "MINIX Release 3.3.0". 7 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Haziran 2023.
- ^ "Minix1: Copying and Use Policies". 13 Şubat 2007. 14 Haziran 2020 tarihinde kaynağından arşivlendi.
- ^ "The MINIX 3 Operating System". minix3.org. 13 Ocak 2012 tarihinde kaynağından arşivlendi.
- ^ "FAQ – Minix Wiki". Minix3.org. 9 Kasım 2013. 26 Ekim 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014.
- ^ "Improvements since V2". www.minix3.org. 17 Nisan 2006 tarihinde kaynağından arşivlendi.
- ^ "MINIX Releases". wiki.minix3.org. 21 Haziran 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Şubat 2012.
- ^ "mascot [Wiki]". wiki.minix3.org (İngilizce). 7 Mart 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Temmuz 2017.
- ^ "Minix3". 10 Kasım 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Temmuz 2006.
- ^ "Minix3". www.minix3.org. 26 Ekim 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Kasım 2017.
İleri okumalar
[değiştir | kaynağı değiştir]- Tanenbaum, Andrew S; Woodhull, Albert S. (14 Ocak 2006). Operating Systems: Design and Implementation (3. bas.). Prentice Hall. ISBN 0-13-142938-8. 24 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Haziran 2023.
- Building a dependable operating system: fault tolerance in MINIX 3 2 Haziran 2023 tarihinde Wayback Machine sitesinde arşivlendi. by Jorrit N. Herder (PDF)
- Reorganizing Unix for Reliability 8 Haziran 2023 tarihinde Wayback Machine sitesinde arşivlendi. by Jorrit N. Herder, Herbert Bos, Ben Gras, Philip Homburg, and Andrew S. Tanenbaum (PDF)
- Modular system programming in MINIX 3 7 Ağustos 2007 tarihinde Wayback Machine sitesinde arşivlendi. by Jorrit N. Herder, Herbert Bos, Ben Gras, Philip Homburg, and Andrew S Tanenbaum (PDF)
- J. N. Herder et al., Modular System Programming in MINIX 3, ;Login, April 2006 7 Ağustos 2007 tarihinde Wayback Machine sitesinde arşivlendi. (PDF)
- Pablo A Pessolani. MINIX4RT: A Real-Time Operating System Based on MINIX 7 Haziran 2023 tarihinde Wayback Machine sitesinde arşivlendi.
- Building Performance Measurement Tools for the MINIX 3 Operating System, by Rogier Meurs 2 Haziran 2023 tarihinde Wayback Machine sitesinde arşivlendi. (PDF)
- Design and implementation of the MINIX virtual file system 2 Haziran 2023 tarihinde Wayback Machine sitesinde arşivlendi. (PDF)
- Reference manual for MINIX 3 Kernel API 13 Ekim 2006 tarihinde Wayback Machine sitesinde arşivlendi. (PDF)
- Towards a true microkernel operating system 2 Haziran 2023 tarihinde Wayback Machine sitesinde arşivlendi. (PDF)
- Construction of a Highly Dependable Operating System 4 Aralık 2022 tarihinde Wayback Machine sitesinde arşivlendi. (PDF)
- Minix 3 and the microkernel experience: Smart Kernel 21 Mart 2023 tarihinde Wayback Machine sitesinde arşivlendi. by Rüdiger Weis (PDF)
- Safe and Automatic Live Update 2 Haziran 2023 tarihinde Wayback Machine sitesinde arşivlendi. by Cristiano Giuffrida (PDF)