Mach

A HupWiki-ből...

Mach

A Mach egy operációs rendszer kernel, amelyet a Carnegie-Mellon Egyetem fejlesztett ki.

Jellemzői

Széleskörű lehetőségekkel rendelkezik a memóriakezelés terén, biztosítja a folyamatonként (Mach terminológiában taszkonként) több végrehajtási pont létrehozásának lehetőségét (angol nevén threadek alkalmazását) és jó folyamatok (taszkok) közti kommunikációs eszközöket nyújt. A Mach alapvető jellemzői a következők:

  • Rugalmas memóriakezelési technikák biztosítása a futó folyamatoknak.
  • Transzparens hozzáférési lehetőség biztosítása a hálózaton keresztül elérhető erőforrásokhoz, ehhez a megfelelő kommunikációs módszerek biztosítása.
  • A korábbi szoftver-környezetekkel való kompatibilitás biztosítása (például a Berkeley UNIX rendszerrel).
  • Lehetőséget kell teremteni minél magasabbfokú párhuzamosításra mind az operációs rendszerben mind pedig az alkalmazói programokban.

A 2.5-ös és korábbi változataiban a Mach rendszert beágyazták a Berkeley UNIX-ba és így biztosították a "hagyományos" (UNIX-szerű) operációs rendszer szolgáltatások jó részét. A 3.0-ás változattól kezdve a Mach már csak alapvető kernel szolgáltatásokat nyújt, nem biztosítja a kernelbe ágyazva a korábbi változatokban megismert széleskörű operációs rendszer szolgáltatásokat (mint például a fájlkezelési operációs rendszer szolgáltatásokat). Itt az operációs rendszer funkcionalitást nem a kernelbe ágyazva, hanem ún. kernelen kívül futó szerverekkel biztosítják (Lásd: GNU/Hurd).

Természetesen a taszkok kommunikációján kívül vannak más szolgáltatások is, amiket a kernelnek kell biztosítania -- ilyenek például a következők:

  • A taszkok és végrehajtási pontjaik (threadek) kezelése.
  • A taszkok virtuális memóriájának biztosítása és kezelése.
  • Hardware perifériák kezelése (például a processzorok, perifériák és az óra), valamint egy magasabbszintű hardware-interfész biztosítása az operációs rendszer szolgáltatásokat biztosító taszkok felé.