Mach (jądro)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Mach (ang. Mach kernel) to 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.

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
  • wątkowanie działania aplikacji
  • bezpośrednią komunikację międzyprocesową
  • bezpieczną ochronę pamięci

Od początku projektowania Mach 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 wydania 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 w przestrzeni użytkownika). Dodano w niej także mechanizm kontynuacji.

Pliki wykonywalne dla Macha są w formacie Mach-O.

Komunikacja międzyprocesowa (IPC) w Machu jest bardzo rozbudowana - oparta 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. Jest to rozwiązanie wygodne w użyciu i rozwiązujące wiele problemów istniejących w IPC Uniksa, ale jest znacznie od niego wolniejsze.

Mach stał się podstawą do rozwoju takich projektów informatycznych jak:

Zobacz też[edytuj | edytuj kod]