Különleges fájlt univerzális interfész - Általános - Operációs rendszer - cikkek Directory -

Különleges fájlt univerzális interfész

A „speciális fájl” jelent meg a UNIX operációs rendszer. A speciális fájl, más néven virtuális fájl társítva egy bizonyos input-output eszköz és azt benyújtja a többi operációs rendszer és alkalmazás folyamatok formájában strukturálatlan gyűjteménye bájt, azaz a forma szabályos fájl. Azonban, ellentétben a szokásos fájl egy speciális fájl nem tárolja statikus adatokat, és egy interfész az egyik hardvermeghajtók OS.

A speciális fájlok sok esetben jelentősen leegyszerűsíti programozási műveleteket a külső eszközöket. Egy speciális fájl ugyanúgy működik, mint a hagyományos, azaz nyitott, olvasni, vagy írni bele egy bizonyos számú bájt, és miután a záró műveletet. Erre a célra, hogy sok ismerős programozók rendszer kéri, hogy dolgozik rendszeresen fájlokat: nyitott, létrehozni, olvasni, írni és közel. Ezen kívül van néhány rendszer kéri, csak ha dolgozik adott fájlokat, mint például a hívás loctl, amellyel a készülék továbbítja a parancsot, hogy a vezérlő. Ahhoz, hogy megjelenjen az alfanumerikus terminál társítva speciális fájl a / dev / tty3, üzenet «Helló, friendsl», egyszerűen nyissa meg a fájlt a nyílt rendszer hívást:

FD = open (7dev / tty3”, 2)

Ezután megjelenik egy üzenet a write rendszerhívás:

write (fd, "Hello, barátaim!", 15)

Olyan eszközök közvetlen hozzáférést értelme, mint egy mutató az aktuális pozícióját a fájlt, ami lehet szabályozni a rendszert használó hívás lseek.

Nyilvánvaló, hogy a képviselet a készüléket, mint egy fájlt, és az eszköz használata, hogy ellenőrizzék a fájlrendszer hívások egyszerre csak elvégezni egyszerű műveletek, amelyek csökkentik az átviteli készülék a bájtsorozatok. Bizonyos eszközök, az ilyen műveletek eléggé elfogadható, főleg olyan eszközök, amelyek megjelenítik a karakterlánc (alfanumerikus terminálok alfanumerikus nyomtatók) vagy fogadása a felhasználó egy karakterlánc (kulcs). Formázása IO eszközök ebben az osztályban a szolgáltatás végezzük kódkönyv kezdődik szimbólumokat és azok szekvenciái, például a soremelés és kocsi vissza a nyomtató vagy a terminál elegendő hozzá egy szekvenciát szöveges karaktert oktális kódok <12> <15>.

Eszközök esetében bonyolultabb szervezet adatait, mint például a grafikus kijelzők, a vezérlő felület, hogy támogatni kell bonyolultabb műveleteket, mint például a terület kitöltéséhez szín vagy megjeleníti alapvető grafikus primitívek és hardver eszközmeghajtók, mint amilyenek valójában működik. Azonban fájl alapú felületen, ami működik, csak egy strukturálatlan patak bájt, és hasznos a készülékek komplex adatok szervezet. Egy ilyen felület, mert az egyszerűség és a sokoldalúság teszi lehetővé építeni azt egy másik, bonyolultabb felület bármely szervezet.

Fájl felület áll a felhasználó, így az alkalmazás programozó tudja használni, hogy hozzon létre saját felületet minden olyan eszköz, kikerülve a mögöttes hardver meghajtó programot a készülékre rétegek magas szintű vezetők. Például, ha az alkalmazás programozó valamilyen okból nem elégedett a fájlrendszereket támogatja a bizonyos operációs rendszerek, akkor olvassa el a lemez, mint egy egység egy interface egy speciális fájl, amelynek hatására a merevlemez meghajtó, amely támogatja körmodellben formájában bájtok sorozata ( ábra. 8.1). Egy ilyen hardver vezető alkalmazás programozó gondoskodik az adatok bármely része a lemez eredeti megfelelő módon az ő igényeinek. Ebben az esetben nem szükséges, hogy dolgozzon ki egy magas szintű vezető saját fájlrendszert, ami nehezebb, összehasonlítva a fejlesztés a kérelem.

Különleges fájlt univerzális interfész - Általános - Operációs rendszer - cikkek Directory -

Ábra. 8.1. Bízza a lemez, mint egy fájl egy speciális

UNIX speciális fájlok általában helyezni a / dev könyvtárban, bár semmi nem akadályozza meg a létrehozott bármely fájlrendszer-könyvtár. Amikor egy új eszközt, és ennek megfelelően egy új vezető rendszergazda létrehozhat egy új fiókot a mknod parancs. Például az alábbi parancs létrehoz egy blokkot-orientált speciális fájl benyújtja a harmadik partíció a második lemez a negyedik, a SCSI vezérlő:

mknod / dev / dsk / scs1 b 32 33

Kommunikálni speciális fájl a vezető által létrehozott tárolt adatok egy külön fájlban leírója.

Először is, az inode eltárol egy jelzést, hogy a fájl különleges, és ez a funkció lehetővé teszi, hogy különbséget az osztály a megfelelő eszközmeghajtók, azaz, hogy meghatározza, hogy a vezető byte-orientált vagy blokk-orientált.

  • major - vezető számot
  • minor - száma a készüléket.

Jelentés fő (vezető szám) határozza meg a kiválasztási vezető, hogy fenntartja a speciális fájl, és értéke kisebb (a készülék száma) továbbítunk a vezető call paraméter, és rámutat egy a számos hasonló eszközök, hogy a vezető vezetheti. Például, illesztőprogramok lemez eszköz számát meghatározza nemcsak meghajtót, hanem egy rész a lemezen.

A fenti példában, parancsok létrehozásához egy speciális fájl / dev / dsk / SCSI érv b meghatározza a létrehozását egy speciális fájl egy blokk-orientált vezetők, az érv 32 definiálja a vezető számot, ami lehet nevezni, ha a nyitó eszköz / dev / dsk / SCSI, és az argumentum 33 dekódolásra kerül vezető (amelyben kódolt adatokat, hogy kell kezelni a harmadik szakaszban a negyedik SCSI-vezérlő második tárcsa).

UNIX operációs rendszer, hogy adatokat tároljon a telepített hardvermeghajtó két rendszer táblák:

  • bdevsw - táblázat blokk-orientált vezetők számára;
  • cdevsw - asztal byte-orientált vezetők.

Illesztőprogram száma (fő) egy megfelelő index az asztalra. Amikor megnyit egy adott fájl az operációs rendszer érzékeli, hogy foglalkozik a speciális fájl csak miután olvasni a lemezről, vagy a rendszer puffer az inode. Azonban, megtudja-e vagy nem okozott a vezető blokk vagy byte-orientált, akkor a meghajtó a számot utal egy adott vonal az egyik két táblázat: bdevsw vagy cdevsw (8.2 ábra.).

Különleges fájlt univerzális interfész - Általános - Operációs rendszer - cikkek Directory -

A UNIX fogalma speciális fájlok hajtottak végre számos operációs rendszer, hanem kommunikálni vezetők bennük gyakran mehanyzmy eltér a fent leírt. Így az OG Windows NT csatlakozni virtuális eszközöket (analógok speciális fájlok) tárgyak mechanizmust használnak a vezetők. A készülék objektum linkeket vezetők tárgyak, ahol, ha megnyit egy virtuális eszköz, a rendszer megkeresi a megfelelő illesztőprogramot.