Minix — вольная мікраядзерная апэрацыйная сыстэма, заснаваная на Unix. Эндру Танэнбаўм стварыў Minix для адукацыйных мэтаў. Акрамя таго, АС Minix стала правобразам Linux. Апісаньне Minix ёсьць у кнізе: «Апэрацыйныя сыстэмы: распрацоўка і рэалізація».

Minix 3.1.2a

Minix 3 — новая апэрацыйная сыстэма з адкрытым зыходным кодам, распрацаваная з мэтай забясьпечыць высокую надзейнасьць, гнуткасьць і бясьпеку. Яна заснаваная на папярэдніх вэрсіях Minix, але істотна адрозьніваецца шматлікімі ключавымі ўласьцівасьцямі. Minix 1 і 2 былі сродкамі навучаньня; Minix 3 можа выкарыстоўвацца як сур’ёзная сыстэма на кампутарах з абмежаванымі рэсурсамі, а таксама для прыкладаньняў, якія патрабуюць высокай надзейнасьці. Гэтая апэрацыйная сыстэма зьяўляецца кампактнай. Часткі, якія працуюць у рэжыме карыстача, падзеленыя на невялікія модулі і добра ізаляваныя адзін ад аднаго. Напрыклад, кожны драйвэр прылады выконваецца як асобны працэс рэжыма карыстача, і памылка ў драйвэры (безумоўна, самая вялікая крыніца памылак у любой апэрацыйнай сыстэме) ня можа цалкам спыніць яе. У Minix, калі драйвэр трывае крах, ён аўтаматычна перазапускаецца, не патрабуючы ўмяшаньня карыстача, перазагрузкі, і не закранаючы выконваемых праграм. Пералічаныя асаблівасьці, мікраядзерная архітэктура і іншыя аспэкты значна павышаюць надзейнасьць гэтай апэрацыйнай сыстэмы.

Ідэя мікраядра складаецца ў тым, каб рэалізаваць як мага менш функцыяў у ядры, у выніку чаго можна стварыць надзейнае і эфэктыўнае ядро. Задачы кіраваньня памяцьцю і файлавай сыстэмай такім чынам перамяшчаюцца ў працэсы карыстача. Ядро апрацоўвае перадачу паведамленьняў паміж працэсамі, амаль не займаючыся іншымі задачамі.

Перавага мікраядраў перад маналітнымі сыстэмамі выражаецца ў тым, што склад ядра лёгка зразумець і падтрымка такой сыстэмы значна прасьцей, дзякуючы яе модульнай структуры. Акрамя таго, перамяшчэньне праграмнага забесьпячэньня зь ядра ў прастору карыстача істотна павышае надзейнасьць сыстэмы, бо збой працэсу, які працуе ў рэжыме карыстача, здольны нанесьці меншую шкоду, чым збой кампанэнта ў рэжыме ядра. Асноўны недахоп складаецца ў некалькі меншай прадукцыйнасьці такой сыстэмы, звязанай з дадатковымі пераключэньнямі з рэжыму карыстача ў рэжым ядра. Але прадукцыйнасьць апэрацыйнай сыстэмы не галоўнае, што вызначае яе годнасьць.

Гісторыя рэдагаваць

Эндру Танэнбаўм у 1987 годзе стварыў Мінікс у амстэрдамскім Унівэрсытэце Ўрые для навочнай дэманстрацыі прынцыпаў, апісваемых у яго кнізе «Operating Systems: Design and Implementation» (1987, ISBN 0-13-637406-9). Скарочаныя 12 000 радкоў зыходнага кода ядра, падсыстэмы кіраваньня памяцьцю і файлавай сыстэмай былі надрукаваныя ў кнізе. Minix напісана пераважна на мове праграмаваньня C (11 800 радкоў на Сі і 800 радкоў на асэмблеры).

Функцыянальна сыстэма Minix вельмі падобна да Version 7 Unix і падтрымлівае стандарт Posix. Першапачаткова Танэнбаўм распрацаваў Minix для кампутараў IBM PC і IBM PC/AT, даступных у той час. Minix вэрсіі 1.5 быў партаваны на Motorola 68000, што забясьпечыла сумяшчальнасць з папулярнымі платформамі Amiga, Atari ST, Apple Macintosh. Акрамя таго, былі зробленыя вэрсіі для SPARC, National Semiconductor NS32032 і транспутэраў. Попыт на гэтыя архітэктуры падаў, і Minix 2.0 зноў падтрымліваў толькі архітэктуру x86. Ён прыкладаўся да другой рэдакцыі кнігі Танэнбаўма, напісанай ім у суаўтарстве з Альбэртам Вудхалам.

Minix вэрсіі 3 быў анансаваны 24 кастрычніка 2005 году Эндру Танэнбаўмам падчас яго прамовы на канфэрэнцыі па прынцыпах апэрацыйных сыстэм, арганізаваным Association for Computing Machinery (ACM Symposium on Operating Systems Principles). Нягледзячы на тое, што Minix усё яшчэ служыць у якасьці навучальнага прыкладу ў новай рэдакцыі кнігі Танэнбаўма і Вудхала, ён быў перапрацаваны і даведзены да прыдатнасьці да выкарыстаньня ў якасьці надзейнай апэрацыйнай сыстэмы для ўбудоўваемых кампутараў. Ён даступны на LiveCD, зь якім можна працаваць безь неабходнасьці ўсталёўкі сыстэмы на цьвёрды дыск, а таксама ў выглядзе, сумяшчальным са шматлікімі эмулятарамі, такімі, як Bochs, Qemu, VMware і Virtual PC.

Літаратура рэдагаваць

  • Tanenbaum, Andrew S. and Albert S. Woodhull. Operating Systems: Design and Implementation. Second Edition. Prentice Hall, 1997. ISBN 0-13-638677-6
  • Пераклад на расейскую мову: Таненбаум Э., Вудхалл А. Операционные системы: разработка и реализация. ISBN 5-469-00148-2
  • Tanenbaum, Andrew S. and Albert S. Woodhull. Operating Systems: Design and Implementation. Third Edition. Prentice Hall, 2006. ISBN 0-13-142938-8

Вонкавыя спасылкі рэдагаваць