Minix

Матеріал з Вікі ЦДУ
Версія від 23:07, 11 грудня 2013; Єршов Владислав (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук
Вікно 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 . Серед розробників присутні російські програмісти.