A minix 3 bemutatása

Milyen gyakran állította vissza az Ön TV-jét az elmúlt évben? Talán sokkal kisebb a számítógépénél. Természetesen sok "ok" van erre, de egyre több felhasználó, távol a technológiától, nem akar hallani róla. Csak azt akarják, hogy a számítógépük mindig jól működjön, és soha ne utasítsa el. Minix 3 egy projektet, amely az operációs rendszer olyan megbízható, mint a televízió, a beágyazott rendszerek és a kritikus fontosságú alkalmazások, mint valóban, és a jövő egyetlen chip 50 dolláros laptop és az általános asztali használatra. Ma ez a kicsi, egyszerű és megbízható operációs rendszer már létezik. És kérjük, vegye figyelembe: ez az utolsó kiadvány az alternatív operációs rendszer témakörében.

Történelmi kitérés

újjászületés

Számos tanulmány kimutatja, hogy a szoftver általában körülbelül 6 ÷ 16 hibát tartalmaz 1000 sornyi kódra, és hogy az eszközvezérlők 3-7-szer több hibát tartalmaznak, mint az operációs rendszer többi része. Ha hozzáfűzi azt a tényt, hogy a tipikus operációs rendszer 70% -a eszközvezérlőkből áll, világossá válik, hogy az eszközvezérlők a legnagyobb hibaforrás. Például a Windows XP esetében a hibák 85% -a az eszközillesztők hibáinak köszönhető. Nyilvánvaló, hogy az operációs rendszer megbízhatóvá válik, meg kell tennie valamit a "rosszindulatú" eszközmeghajtókkal. A rendszer kiépítése megbízható, annak ellenére, hogy a járművezetők hibái elkerülhetetlenül fennálltak, a MINIX 3 megjelenésének fő oka volt.

tervezés

A MINIX 3-ban a nagy megbízhatóság elérése érdekében alkalmazott megközelítés a hibák elkülönítésén alapul. Különösen, ellentétben a hagyományos OS, ahol az összes kódot egybeolvadt hatalmas végrehajtható program fut kernel módban, Minix 3 csak egy kis darab kód fut kernel módban - körülbelül 4000 sornyi kódot. Ez a kód megszakításokat, folyamatok diszpécserzését és interprocess kommunikációt (IPC) szolgálja. A fennmaradó operációs rendszer fut, mint egy sor folyamat a felhasználói térben, és mindegyik védi hardver memória vezérlő (MMU), és egyikük sem root jogokkal. Az egyik ilyen folyamat, az úgynevezett reinkarnációs szerver. tárolja az összes többi folyamat táblázatait, és amikor az egyik ilyen folyamat elkezd rosszul működni vagy sikertelen, a reinkarnációs szerver automatikusan új példányra cseréli. Mivel sok hibát nem stabilak, és hirtelen jelentkeznek, a legtöbb esetben újraindítja a hibás alkatrészt megoldja a problémát, és lehetővé teszi a rendszer javítási magát újraindítása nélkül, és anélkül, hogy a felhasználó akkor is észrevenné. Ezt a tulajdonságot "öngyógyítónak" (vagy "öngyógyításnak" nevezik - amelyik inkább hasonlít - a fordító megjegyzése), és nincs jelen a hagyományos rendszerekben.

A MINIX 3 struktúráját az 1. ábrán mutatjuk be. 1. Többszintű kialakítású. Alul a kernel módban működő mikrokernel, amely kb. 3'000 sornyi kódot tartalmaz C-ben és 800 sornyi kódot az összeszerelőben. Ez felett az eszközvezérlők szintje, és minden meghajtó egy különálló folyamat a felhasználói felületen annak megkönnyítése érdekében, ha nem sikerül. Ezután az operációs rendszer magját képező kiszolgálók jönnek. Ezek közé tartozik a fent említett reinkarnációs szerver, a fájlkiszolgáló, a folyamatkezelő stb., Beleértve az X kiszolgálót, az adattárolót és még sok mást. És végül vannak felhasználói folyamatok a tetején. Bár belülről a MINIX 3 teljesen különbözik a többi UNIX-szerű rendszertől, támogatja a szabványos POSIX-alapú alkalmazásfelületet, így a rendszeres UNIX-szoftvereket könnyen átviheti.

A minix 3 bemutatása

Ábra. 1. A MINIX 3 architektúrája

Az összetevők kölcsönhatásba lépnek egymással rögzített hosszúságú üzenetek küldésével. Például egy felhasználói folyamat kérést kér egy üzenet elküldésével a fájlkiszolgálóhoz, amely viszont ellenőrzi annak gyorsítótárát, és ha a szükséges blokk nincs jelen, akkor üzenetet küld a lemezvezérlő folyamatnak, hogy elkezdje a blokk fogadását. És bár az üzenet küldése kicsit több időt vesz igénybe a cserefolyamat időtartamára (kb. 500 ns-3 GHz Pentium 4), a rendszer elég gyors marad. Például a rendszer teljes összeszerelése, amely több mint 120 összeállítást igényel, 10 másodpercen belül elfér.

Felhasználó szemszögéből

A felhasználó szemszögéből nézve a MINIX 3 úgy néz ki, mint a UNIX, de nem túl fáradt. Tartalmazza az X Window rendszert és több mint 400 szabvány UNIX programot, többek között:
Parancsprocesszorok (kagylók): hamu, bash, pdksh, rsh
  • Programozási nyelvek (nyelvi eszközök): cc, gcc, g ++, bölény, flex, perl, python, yacc
  • Programozási eszközök: cdiff, make, patch, tar, touch
  • Hálózati eszközök: ssh, telnet, ftp, hiúz, e-mail, rlogin, wget, fenyő
  • Fájl segédprogramok: macska, cp, bzip2, tömörítés, mv, dd, uue, GNU segédprogramok
  • Szöveg segédprogramok: grep, fej, beillesztés, előkészítés, rendezés, varázslat, farok
  • Adminisztráció: adduser, cron, fdisk, mknod, mount, cvs, rcs
  • Játékok: dungeon, nethack

  • Jelenleg csak X a felhasználói felület, de idővel grafikus felhasználói felületet (GUI) lehet hozzáadni, ha megfelelő egyszerű GUI-t talál. Itt láthatók a képernyőképek.

    elérhetőség

    Kedves kiadás. A munka nem eszik semmit.

    > Például, az összes eloszlásban szereplő munka, amely (kb. 10) használtam, mindig sokkal több CPU-időt fogyaszt, mint a Windowsban.

    Kedves kiadás. A munka nem eszik semmit.

    > Például, az összes eloszlásban szereplő munka, amely (kb. 10) használtam, mindig sokkal több CPU-időt fogyaszt, mint a Windowsban.

    és Venda - uralkodik.

    Operációs rendszer Minix, Andrew Tenenbaum professzor, a holland Vrije egyetem munkatársa az Európai Kutatási Tanácstól (Európai Kutatási Tanács) összesen 2,5 millió euró támogatást kapott. A pénzt az operációs rendszer fejlesztésére irányuló további kutatásokra fordítják, amely maga is megtalálhatja a kód sebezhetőségét, majd később megszünteti azokat.

    A szoftver hibáit soha nem fogja teljesen felszámolni, írta Tanenbaum a projekt előadásában. De az ilyen operációs rendszerek, mint a Windows és a Linux, eredetileg úgy tervezték, hogy nem fordítottak kellő figyelmet a kód stabilitására. A szoftveripar sokkal felelőtlenebb a késztermékek minőségének ellenőrzésében, mint például az autóiparban, ahol egy hiba észlelése az egész modellt felidézi. A probléma megoldása egy biztonságos operációs rendszer létrehozása lehet, amely szigorúbb követelményeket támaszthat a végrehajtható kódra.

    A mikrokernelek koncepciója, amely körül a Minix épül, bizonyos korlátozásokat ró a folyamatok közötti kölcsönhatásra. Ezzel minimalizálhatja azokat a helyzeteket, amikor az instabil futó perifériás illesztőprogram vagy bármely más, a rendszermagban futó kód okoz rendszerösszeomlást. Tanenbaum koncepciója szerint az instabilitásnak a mikrokernelben kell lokalizálnia, és az eljárással való kölcsönhatás megakadályozta.

    Az elkülönített pénzeszközöknek elegendőnek kell lenniük ahhoz, hogy a következő öt évben három kutató és két programozó munkáját fizessék.

    Kapcsolódó cikkek