Minix
Розробник - Ендрю Таненбаум
сімейство ОС - UNIX- подібна операційна система
Остання версія - 3.2.1 - 21 лютого 2013
Тип ядра - микроядро
Ліцензія - BSD
стан - Актуальне
Minix - вільна Unix- подібна мікроядерна операційна система , поширювана за ліцензією BSD. Ендрю Таненбаум створив першу версію Minix в 1987 в якості « ілюстрації » підручника « Операційні системи: Розробка і реалізація ». Серед студентів, які вивчають теорію операційних систем по кодам Minix , найбільшої популярності досяг Лінус Торвальдс , розробник Linux. Спочатку , метою Minix було навчання студентів будовою комп'ютерів і основ операційних систем . Вихідні коди Minix зовсім відмінні від кодів ОС Linux , але як і Linux , Minix є Unix - подібною операційною системою з аналогічним набором команд.
Вихідний код Minix 3 з перекладеними на російську мову коментарями можна отримати на CD разом з книгою «Операційні системи : розробка та реалізація » ( Таненбаум Е. С. , Вудхалл А. С. , 3-е видання опубліковано в Росії в 2007 році ) , в якій детально розписано будову ОС на прикладі Minix .
1 листопада 2008 Ендрю Таненбаум отримав грант в 2,5 млн євро від Європейської дослідницької ради для роботи над проектом : «Дослідження дійсно надійного і безпечного системного програмного забезпечення ». Грант дозволить продовжити роботи з подальшого розвитку ОС MINIX 3 протягом не менше п'яти років ( до листопада 2013 року).
Історія
Minix
Ендрю Таненбаум створив Minix в Амстердамському вільному університеті для наочної демонстрації принципів , описуваних в його книзі « Operating Systems : Design and Implementation » (1987). ISBN 0-13-637406-9 . Скорочені 12000 рядків вихідного коду ядра , підсистеми управління пам'яттю і файлової системи Minix були надруковані в книзі. Minix написаний переважно на мові програмування C.
У далекому 1987 року Таненбаум ставився до Minix тільки як до навчального посібника . Щоб залишити код ОС доступним для вивчення протягом семестру , Ендрю Таненбаум відкидав пропозиції удосконалити Minix або прийняти патчі , які надходили від читачів його підручника . Роль проекту, в якому читачі Таненбаума втілили своє прагнення розробляти операційні системи , взяв на себе Linux.
Спочатку Таненбаум розробив Minix для комп'ютерів IBM PC і IBM PC / AT , доступних у той час . Minix версії 1.5 був портований на Motorola 68000 , що забезпечило сумісність з популярними платформами Amiga , Atari ST , Apple Macintosh . Крім того , були зроблені версії для SPARC , National Semiconductor NS32032 і транспьютерів .
Minix 2
Minix 2.0 знову підтримував тільки архітектуру x86. Він додавався до другої редакції книги Таненбаума , написаної ним у співавторстві з Альбертом Вудхалл ( Albert Woodhull ) . Minix 1 і 2 були засобами навчання.
Minix 3
Minix версії 3 був анонсований 24 жовтня 2005 Ендрю Таненбаумом під час його промови на конференції за принципами операційних систем , організованому Association for Computing Machinery ( ACM Symposium on Operating Systems Principles ) . Незважаючи на те , що Minix все ще служить в якості навчального прикладу в новій редакції книги Таненбаума і Вудхалл , він був перероблений і доведений до придатності до використання в якості надійної операційної системи для мікроконтролерів і інших вбудованих систем. Він доступний на LiveCD , з яким можна працювати без необхідності установки системи на жорсткий диск , а також у вигляді , сумісному з багатьма емуляторами , такими , як Bochs , QEMU , VMware , VirtualBox і Virtual PC .
Ця операційна система є компактною. Частини , які працюють в режимі користувача , розділені на невеликі модулі і добре ізольовані один від одного. Наприклад , кожен драйвер пристрою виконується як окремий процес користувацького режиму , і помилка в драйвері ( безумовно , джерело більшості помилок в будь-якій операційній системі ) не може повністю зупинити її . У Minix , коли драйвер терпить крах , він автоматично перезапускає , не вимагаючи користувацького втручання , перезавантаження , і не зачіпаючи виконуються програм . Перераховані особливості , мікроядерна архітектура та інші аспекти значно підвищують надійність цієї операційної системи.
Починаючи з версії 3.1.4 Minix підтримує віртуальну пам'ять.
Анонс змін в релізі 3.1.5 : покращена продуктивність , додана підтримка розділяється пам'яті ( Shared memory ) , додана функція setitimer , поліпшений код обробки сигналів , додані порти PostgreSQL , QEMU і Sudo .
Анонс змін в релізі 3.1.6 :
- Додані нові драйвери : Atheros L2 , Intel E1000 , Realtek 8169 , DEC Tulip ;
- Підтримка VirtualPC Network ( DEC Tulip ) ;
- Підтримка PipeFS ;
- Підтримка HGFS - монтування каталогів VMware як файлової системи;
- підтримка FPU ;
- Підтримка System Event Framework ( SEF )
- Експериментальна підтримка APIC (за замовчуванням відключена ) ;
Додані порти: - набір базових системних утиліт з OpenBSD - bsd - utils - інтерпретатор LUA 5.1.4 - файловий менеджер Midnight Commander - емулятор qemu 0.12 .2 - засоби для вимірювання продуктивності aim9 , lmbench3 - tcpdump
Анонс змін в релізі 3.1.7 :
Планування ресурсів на рівні користувача ( Userspace scheduling ) і підтримка серверів -планувальників ;
Коректна підтримка одночасної роботи з декількома Ethernet- картами одного типу; Виправлені помилки , що заважають запуску Minix під управлінням системи віртуалізації KVM ;
Завантажувач тепер може працювати з образами , розмір яких перевищує 16 Мб;
розмір кореневого розділу збільшений до 64 Мб , скрипт установки змінений з метою коректної роботи з кореневими розділами нестандартного розміру;
В системі збірки з'явилася підтримка збірки MINIX з використанням GCC (раніше використовувався набір компіляторів ACK ) , ведеться робота щодо забезпечення підтримки icc , clang і llvm - gcc ;
Проведена реорганізація та чистка дерева вихідних текстів ;
Додані нові порти: Git і GCC 4.4.3 ;
Реалізовано вторинний рівень кешування ФС в VM , що використовує всю доступну пам'ять для мінімізації затримки при введенні / виведенні ;
Підтримка кодувань cp -1251 і koi8 - u
Сьогодні Ендрю Таненбаум прихильно ставиться до участі в розвитку MINIX 3 . Серед розробників присутні російські програмісти.