Mach () – jądro dla systemów operacyjnych opracowane na amerykańskim Uniwersytecie Carnegie-Mellon. Projekt rozwijany tam był w latach 1985–1994 i skończył się na wersji 3.0. Dalej rozwijany był na Uniwersytecie Utah, gdzie opracowano wersję 4.

Historia W 1984 roku niewielka grupa naukowców z Carnegie Mellon University rozpoczęła pracę nad projektem Mach, a implementację rozpoczęto w kolejnym roku. Początkowo miał to być system przeznaczony do uruchamiania obliczeń równoległych dużej skali, jednak uznano iż projektowanie systemu wyłącznie z takim celem ograniczałoby jego użyteczność i zmieniono projekt tak by był on niezależny od architektury sprzętu.

Początkowo Mach został zaimplementowany dla komputerów Vax 11/780, a następnie dla innych architektur, w tym IBM RT PC, a także komputerów opartych na procesorach Intel 80386 oraz M68000, wśród których były m. in. stacje robocze NeXT oraz Sun-3.

Charakterystyka Od początku projektu dążono do usunięcia z jądra jak największej liczby elementów, które nie były niezbędne do jego działania. Do wersji 2.5 włącznie jądro posiadało warstwę wyższego poziomu, która zawierała API zgodne z Uniksem BSD. Wersja 3.0 była już mikrojądrem, w którym warstwę BSD usunięto poza jądro (działało w przestrzeni użytkownika). Dodano w niej także mechanizm kontynuacji. Pliki wykonywalne dla Macha są w formacie Mach-O.

Mach jest architekturą zapewniającą: obsługę wieloprocesowości zarówno w jednej maszynie, jak i poprzez sieć, obsługę wielu aplikacji pracujących w trybie wielozadaniowości z wywłaszczeniem, wielowątkowość działania aplikacji, bezpośrednią komunikację międzyprocesową, bezpieczną ochronę pamięci.

Znacznie rozbudowano komunikację międzyprocesową (IPC) opierając ją na komunikatach, czyli zestawach danych, oraz portach, czyli kolejkach komunikatów. Wykorzystują je nie tylko procesy użytkownika, ale także samo jądro i jest podstawowym mechanizmem komunikacji. Rozwiązywało to wiele problemów dotykających oryginalnego IPC Uniksa, ale jednocześnie było znacząco wolniejsze.

Wpływ Mach stał się podstawą do rozwoju takich projektów informatycznych jak: OSF/1 GNU/Hurd NeXTStep nieukończony system Rhapsody firmy Apple Computer jądro XNU w systemach Darwin i Mac OS X – współtwórcą systemu jest dr Avie Tevanian, były pracownik naukowy Uniwersytetu Carnegie-Mellon. MkLinux

Wprowadzony w Machu sposób zarządzania pamięcią wirtualną został później przyjęty w systemie BSD 4.4 oraz jego pochodnych.

Przypisy

Kategoria:Jądro systemu operacyjnego