Mach
Ця стаття не містить посилань на джерела. (вересень 2016) |
Тип | мікроядро і програмне забезпечення |
---|---|
Автор | Університет Карнегі-Меллон |
Версії | 3.0 |
Мова програмування | C і асемблер |
Вебсайт | cs.cmu.edu/afs/cs/project/mach/public/www/mach.html |
Mach — мікроядро операційної системи, розроблене в Університеті Карнегі-Меллон при проведенні дослідницьких робіт у галузі операційних систем, головним чином, розподілених та паралельних обчислень. Це один з найперших прикладів мікроядра, який досі є стандартом для таких проєктів.
Проєкт існував у 1985—1994 роках, закінчився виходом Mach 3.0. Декілька дослідницьких груп продовжили розробку Mach; наприклад, в Університеті Юта деякий час існував проєкт Mach 4. Mach розроблявся як заміна ядра BSD UNIX, тому не було необхідності в розробці нового операційного оточення. Подальші науково-дослідницькі роботи по проєкту Mach, схоже, закінчилися; попри це, Mach та його похідні використовуються в ряді комерційних операційних систем, наприклад NeXTSTEP, найпомітнішою з яких є Mac OS X, де використовується ядро XNU, вібравши в себе Mach 2.5. Система керування віртуальною пам'яттю Mach була перейнята розробниками BSD в CSRG та використовується в сучасних UNIX-системах, похідних від BSD, наприклад FreeBSD. А ні Mac OS X, а ні FreeBSD не залишили мікроядерну архітектуру, що використовується в Mach, хоча Mac OS X пропонує для використання в прикладних програмах мікроядерну систему міжпроцессорної взаємодії та примітиви керування.
Mach є логічним продовженням ядра Accent, також розробленого в Університеті Карнегі-Меллон. Провідний розробник проєкту Річард Рашид з 1991 року працює в Microsoft в підрозділі Microsoft Research. Ще один з основних розробників, Авадіс Теваніан працював головою департаменту розробки програм в NeXT, потім, до березня 2006, головою департаменту перспективних програмних технологій в Apple.
Оскільки Mach спроєктовано як швидку заміну традиційному ядру UNIX, подивимось в основному на відмінності Mach від Unix. Стало зрозумілим, що Unix-концепція «все — файл» більше не працює на сучасних системах, але такі системи, як Plan 9 від Bell Labs, все ж таки намагаються слідувати цьому шляху. Розробники Mach примітили негнучкість такого підходу, та запропонували, що інший рівень віртуалізації може заставити систему «працювати» знов.
Одна з найважніших абстракцій в Unix — це конвеєри (pipe). Що схоже на конвеєри та дозволить на загальнішому рівні зробити доступним різноманітні переміщення інформації між програмами? Така система може існувати, завдяки міжпроцесній взаємодії (IPC) — схожий з конвеєрами принцип организації взаємодії процесів, дозволяючий переміщувати будь-яку файлоподібну інформаціїю між двома програмами. В той час, як у багатьох системах, включно різні Unix, вже декілька років існували різні реалізації IPС, але вони були призначені для спеціальних цілей та не могли забезпечити те, що творці Mach від них чекали.
Це незавершена стаття про операційні системи. Ви можете допомогти проєкту, виправивши або дописавши її. |