next up previous contents
Next: A UNIX architekturájának Up: A UNIX operációs Previous: Védelem a UNIX

A UNIX INPUT/OUTPUT rendszere

A UNIX a hardver berendezésekkel a device driverek segítségével kommunikál (ott van "elrejtve" az operációs rendszer gépfüggo, hardver-függo része). A device driverek nem illeszthetok be olyan dinamikusan egy hagyományos UNIX rendszerbe, mint ahogyan az az MS-DOS alatt megy (a CONFIG.SYS fájlon keresztül), és a device driverek nem olyan felépítésuek, mint mondjuk a DOS megfeleloik (egy UNIX device drivernek más szolgáltatásokat kell nyújtania, mint egy DOS device drivernek). Azt érdemes tudni, hogy egyik PC-s UNIX sem használja a BIOS-t, mert a BIOS rutinok úgy vannak megírva, hogy várnak az I/O muvelet befejezodéséig, és csak ezután adják vissza a vezérlést az operációs rendszernek, ami egy multiprogramozott operációs rendszerben elfogadhatatlan.

A device drivereket a UNIX kernel többi részével össze kell linkelni (itt most a linkage editorra gondoljunk, ne a fájlrendszer linkjeire). A device driverek bizonyos szolgáltatásokat nyújtanak a kernelnek (pl. minden device drivernek lehet egy olyan rutinja, amelyet a rá vonatkozó open()-nél kell meghívni ...). Ezek a rutinok egy az egész kernelre nézve globális tömbben vannak felsorolva. Egy device driver szolgáltatásainek ezen tömbbeli indexét nevezik a devicehoz tartozó major device numbernek. (Lényegében ezen keresztül lehet a device drivereket egymástól megkülönböztetni.)

Minden device driver kezelhet több (egymástól akár független akár nem független) perifériát is, amiket az ún. minor device numberekkel különböztethet meg egymástól. (Egy speciális fájlhoz tartozó az i-nodeban a 13 blokk- cím helyén van többek közt a minor ill. major device number tárolva.) Amikor egy speciális fájlt megnyitunk a fájlrendszerben tárolt neve alapján, akkor az operációs rendszer az i-node alapján tudja, hogy az egy speciális fájl, megszerzi az i-nodeból a major ill. minor device numbereket, és a device driver open() szolgáltatását végzo rutint meghívja (többek közt a minor device numberrel mint paraméterrel).

A device driverek lényegében három csoportba sorolhatóak: a karakteres interface-t nyújtóak, a blokk-interfacet nyújtóak és a STREAMS driverek.



next up previous contents
Next: A UNIX architekturájának Up: A UNIX operációs Previous: Védelem a UNIX



Csizmazia Balazs
Tue Apr 2 00:06:27 MET DST 1996