Minix 3

Vikipedi, özgür ansiklopedi

Minix 3
Pencere Yöneticisi olarak twm ile X11 çalıştıran Minix 3
Geliştirici(ler)Andrew S. Tanenbaum et al.
İşletim sistemi ailesiUnix-benzeri
Kaynak türüAçık-kaynak
Lisans2005: BSD-3-Clause[a][1]
Original: BSD-3-Clause
Çekirdek türüMikroçekirdek
Platform desteğiIA-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 sitesiminix3.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 (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]

Sırasıyla monolitik çekirdek ve mikro çekirdek tabanlı işletim sistemlerinin yapısı

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]

MINIX 3 versions![21][22] Version
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
  • New Packman package manager.
  • Fixed an installation issue with auto-partitioning disks.
3.1.3 2007-04-13
  • Added new virtual file system
3.1.3a 2007-06-08
  • Bug fixes.
3.1.4 2009-06-09
3.1.5 2009-11-05
  • Improvements performance
  • Shared memory
  • setitimer function
  • ISO 9660 file system
  • Open Sound System
  • Trap NULL accesses now, for user convenience
  • Improved signal handling
  • Better support for debuggers (ptrace improvements, etc.)
  • Network card autodetection (for supported PCI cards), improved network configuration
3.1.6 2010-02-08
  • New Network drivers: Atheros L2, Intel E1000, Realtek 8169, DEC Tulip
  • PipeFS – removed pipe handling from filesystem drivers
  • HGFS – support for mounting VMware shared folders as file system
  • VFS: supplemental group support and sticky bit support
  • Floating-point unit support
  • System Event Framework (SEF)
  • Experimental APIC support
3.1.7 2010-06-16
  • Userspace scheduling and a scheduling server[26]
  • Proper support for multiple Ethernet cards of the same type
  • Boot monitor allows loading images > 16 MB
  • Buildsystem support for building Minix with GCC
  • Support for Windows-1251 and KOI8-U charsets
3.1.8 2010-10-04
  • New package management infrastructure: pkgsrc and pkgin
  • Unix domain socket support
  • Multiboot support
  • ext2 support
  • ACPI driver
  • full APIC mode including I/O APICs
  • Experimental AHCI support
3.2.0 2012-02-29
  • Porting GNU Debugger to Minix 3 and implementing core dumping support
  • FUSE support with experimental NTFS-3G file system
  • Gradually replacing userland, from Minix to NetBSD
  • Replacing the default compiler ACK with Clang; GCC is also supported
  • Switch to ELF and NetBSD libc libraries
  • Pkgsrc upstreaming and application porting
  • Asynchronous virtual filesystem (VFS) server
  • Replacing the bootloader from Minix to NetBSD
  • NCQ support in the AHCI driver
3.2.1 2013-02-21
3.3.0[27] 2014-09-15
  • ARM architecture support; cross-compilable
  • Support for mmap() I/O mechanism; allows for shared dynamic libraries and lower memory needs
  • New input infrastructure: input server and keyboard driver separated from TTY
  • VND: vnode disk (loopback) block driver
  • LLVM Bitcode build of the system
  • Import of LLVM and clang in the sources
  • Unified block cache shared by FSes and VM
  • Improved NetBSD compatibility: utilities, calls, types (lots of 64-bit), toolchain, codebase, and packages
  • C type for messages: cleaner, bigger[netleştirme gerekli]
  • Improved driver modularity: UDS separate from PFS, PTY from TTY, one controller per at_wini instance, LOG removed from boot image
  • Packages are now dynamically linked
3.4.0 rc6 2017-05-09 X11 is now part of the operating system.
  •   Book Release
  •   Old release
  •   Current stable release
  •   Current development release

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]

Minix 3'ün mimarisi

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]

Birkaç Unix benzeri sistem arasındaki ilişkilerin şeması

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]

Minix 3'ün maskotu Rocky Raccoon.

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]

  1. ^ a b c BSD-3-Clause with a fourth clause.

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ "The Minix license". 24 Kasım 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Kasım 2005. 
  2. ^ 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. 
  3. ^ "minix3.org". minix3.org. 24 Ekim 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Nisan 2017. 
  4. ^ "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. 
  5. ^ "OSNews.com". OSNews.com. 27 Haziran 2004 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014. 
  6. ^ "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. 
  7. ^ "Minix on Virtual PC: first look". Woodhull.com. 11 Aralık 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014. 
  8. ^ "Minix 3 on Virtual box". inopinion.org. 6 Ağustos 2014. 13 Temmuz 2015 tarihinde kaynağından arşivlendi. 
  9. ^ "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)
  10. ^ "Minix3". Minix3. 26 Ekim 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014. 
  11. ^ "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. 
  12. ^ "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)
  13. ^ "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)
  14. ^ "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. 
  15. ^ "Index of /Iso/Snapshot/". 25 Şubat 2013 tarihinde kaynağından arşivlendi. 
  16. ^ "minix3 - Google Groups". groups.google.com. 28 Ağustos 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mayıs 2022. 
  17. ^ "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)
  18. ^ "CSAIL Event Calendar". Csail.mit.edu. 4 Şubat 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014. 
  19. ^ 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. 
  20. ^ "Reliability". www.MINIX3.org. 1 Temmuz 2006 tarihinde kaynağından arşivlendi. 
  21. ^ "MinixReleases – Minix Wiki". Wiki.minix3.org. 7 Mart 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014. 
  22. ^ "Minix versions and their use in teaching". 11 Temmuz 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Haziran 2021. 
  23. ^ a b "LICENSE (3.1.0)". GitHub. 7 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Haziran 2021. 
  24. ^ a b "LICENSE (3.1.1)". 9 Şubat 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Haziran 2021. 
  25. ^ a b "LICENSE (3.1.2)". GitHub. 15 Haziran 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Haziran 2021. 
  26. ^ "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)
  27. ^ "MINIX Release 3.3.0". 7 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Haziran 2023. 
  28. ^ "Minix1: Copying and Use Policies". 13 Şubat 2007. 14 Haziran 2020 tarihinde kaynağından arşivlendi. 
  29. ^ "The MINIX 3 Operating System". minix3.org. 13 Ocak 2012 tarihinde kaynağından arşivlendi. 
  30. ^ "FAQ – Minix Wiki". Minix3.org. 9 Kasım 2013. 26 Ekim 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mayıs 2014. 
  31. ^ "Improvements since V2". www.minix3.org. 17 Nisan 2006 tarihinde kaynağından arşivlendi. 
  32. ^ "MINIX Releases". wiki.minix3.org. 21 Haziran 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Şubat 2012. 
  33. ^ "mascot [Wiki]". wiki.minix3.org (İngilizce). 7 Mart 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Temmuz 2017. 
  34. ^ "Minix3". 10 Kasım 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Temmuz 2006. 
  35. ^ "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]

Dış bağlantılar[değiştir | kaynağı değiştir]