Tud Intuit, előadás, eszközök, terminálok és folyamatok

vonal terminál

Ahogyan a „készülék” kifejezés olyan készüléket, és a külső - „vasat”, és ennek logikus ábrázolása a rendszeren belül, a „terminális” alkalmazzák az eszközöket az első típus a fent leírt, és a speciális eszközök a második típusú, a továbbiakban termináljára. Adta a ls / dev / tty * *. tudjuk néha talál számtalan eszköz nevét, beleértve a tty. Ezek az eszközök - terminálok. vagy terminál vonal ([6] a terminál vonal azt mondta részletesen fogjuk szorítkozunk meglehetősen felületes vizsgálat elégséges ahhoz, hogy a felhasználó nem merül fel holtpontra jutott a munkát). Szemszögéből a UNIX terminál vonal - nem csak eszközök. átvitt bájtok: ezek közül néhány bájtot (például már lefedett 7. fejezet eltávolítását szimbólumok) különleges jelentéssel bírnak. Sőt, ha beírja a terminál szimbólum aktuális bejegyzés törlése (általában ^ U) kezeli a rendszer maga (értsd: a terminál vonal), és a programot. mely várja adatbevitel, hogy nem veszi észre. Parancssori felület sürgetik line üzemmódban terminál vonal. mindent, ami a felhasználó által megadott, a feldolgozást és tárolt speciális puffer, amíg el nem jön új sor. Ezt követően, a teljes puffer továbbítjuk várhatóan be a programot (shell. Például), és a sort kezd betelni az újat.

terminál vonal viselkedése nem függ a terminál képességeit. Ez a tulajdonság a rendszer, az úgynevezett feldolgozott adatátviteli mód (főtt állapotban). Bizonyos esetekben, például ha egy program akar önállóan kezelni az összes beírt karakterek terminál vonal lehet lefordítani „nyers” módban (nyers állapotban). Különféle beállítások terminál vonal kimenet parancs stty -a (vagy stty --all). Többek között beállításokat vonalak, például, amelyben egy karakterlánc fordítás transzformáció (LF) és egy kocsi vissza (CR) egymásba bemeneti és kimeneti. A UNIX, azt feltételezzük, hogy egy szöveges fájlban sorokat leállítottuk egy karakter - New Line. NL. Ez a szimbólum általában azonos az új sor karaktert, LF. Közben több terminálok levezetését a sorok szükség, mint egy írógép, két szimbólum. első - CR, majd - LF. Néha terminálok csak egy karakter, de a CR. Ezzel szemben, ha belépsz a billentyűzet, az Enter billentyű küldhet és LF és CR és CR + LF. Stty beállításai határozzák meg, hogy mit kell érteni a UNIX NL bemeneten a billentyűzet és a kimenetet a jelenlegi terminál képernyőjén.

A kérdés stty -a találunk ismerős parancsot: ^ C. ^ D. ^ U, és így tovább. D. Mit jelentenek ezek? stty parancs lehetővé teszi, hogy felülbírálja a legegyszerűbb parancsokat törölni beviteli: karakter törlése (törlés általában - ^ H ^ vagy.?), szóval (werase általában ^ W.), és az egész sort (általában megölik ^ az U.). Miért szükséges? Például Volker Craig terminál visszatér ^ U a gomb a jobb nyíl. Szeretném, ha ez a szimbólum a továbbító program, nem feldolgozott terminál vonal. A parancs stty pusztulás ^ E felülírás paranccsal törölheti a teljes szöveg a Ctrl + E. Megjegyzés: ^ E érveket a közüzemi - ez a két karakter, az stty megkönnyíti a munkánkat, a következő megállapodás képviseletét az escape szekvenciát.

Egy másik csoport működik a terminál parancssor. például, ha azt akarjuk, hogy állítsa le a kijelző a nagy terjedelmű szöveg (elfelejti az időt, hogy kihasználják a közüzemi vagy kevesebb), akkor a stop parancs (általában ^ S): azt mondja a rendszer, hogy a terminál átmenetileg fogadja az adatokat, és a másik írási művelet befejeződött mindaddig, amíg a vonal nem kap start parancs (^ Q). Ha egy bizonyos program, olvassa el az adatokat a fájl, a következő olvasási művelet befejeződött a diagnosztika EOF (End Of File), hogy melyik program kezelni. Ha a leolvasott érték a terminál. hogy a program megkülönböztethetetlen olvasása fájlból, a parancssorból terminál EOF (általában ^ D) vezet ugyanarra az eredményre.

A harmadik parancs csoport különösen fontos. Ez egy módja annak, hogy nyújtson be egy programot, hogy adatokat cseréljen a terminál. jelek a billentyűzeten. Amint azt az [35]. jel - ez a módja a rövid szöveges üzenetek folyamatok között UNIX. Logikája szerint a jel a rendszer szintjén hasonlít megszakítás a hardver. Az eljárás figyelmen kívül hagyja a jelet. lehallgatott (kezelni), vagy hagyja a feldolgozó rendszer. A jel eljárás származhat egy másik folyamat. és létrehozhatjuk a mélységben. Jelek nem túl sok; jelzi a különböző szempontjából a jel feladónak. helyzetekben különböző jeleket. Különösen, parancssor terminál intr (általában ^ C) használunk, hogy teljes mértékben leállítani a folyamatot, ami megkapja az INT jel (a megszakítási. Interrupt) folyamat. amelynek standard bemenet van társítva, hogy a terminál.

Folyamatok és jeleket

csak egyetlen folyamat lehet csatlakoztatni egy adott bemeneti C vonal. Ezt a folyamatot nevezik aktív, és amellett, hogy a tulajdonságokat, hogy jeleket a billentyűzetet, csak tudja olvasni belőle. A többi felhasználó folyamatok csak akkor jelenhetnek meg a kimeneten. úgy kell lépnie máshonnan. Ezek a folyamatok az úgynevezett háttér. Ha a folyamatot. vett jelet INT. nem fogja kezelni, a rendszer leállítja annak működését. Amikor ez lesz az aktív szülő. és m. g. legfeljebb getty démon. amely az első eljárás. csatlakozik bemenet a terminál vonal. További információk a getty lesz szó az alábbiakban, de a terminál vonal. csoport folyamatok, és így tovább. megtalálható [6].

Ha le akarja állítani a folyamatot, hogy bármi áron, szükséges, hogy egy jel QUIT (kilép. Általában ^ \), ami általában nem fogott. A folyamat lehet útján felfüggesztésre STOP (susp. ^ Z) jel. Aztán átmenetileg leáll már nem lesz aktív, és nem fog működni, amíg amíg meg nem kapja a CONT jel (nincs billentyűzet, mert, miután megszűnt az aktív, akkor nem fér hozzá, és sok kagyló is a fg parancsot, és BG a felfüggesztett folyamat tovább dolgozni, mint egy aktív vagy a háttérben, sorrendben).

Mint már említettük, az első rendszer csatlakozik a terminál rendszer segédprogram getty. akinek feladata -, hogy milyen típusú terminál és bemeneti / kimeneti paramétereket, a vonalat, amikor a tevékenységet végzik. A vonal, ami egy olyan rendszer segédprogram, amely foglalkozik az ügyek a felhasználó (általában - login segédprogram felhasználói hitelesítés). Állítsa be a vonal nem olyan egyszerű, ha az csatlakoztatva van a modem. és a tényleges terminál eszköz lehet bármilyen felhasználó terminálján. Amikor a munka befejeződött a vonal, a modem „leteszi”, és együttműködik a vonalat a program megkapja HUP jelet (az leteszi). Kézhezvételét követően a jelzőrendszer kell elfelejteni a régi terminál vonal beállításait (felhasználó -Ez csatlakoztatva), és indítsa újra a getty. Feltételek futni getty és egyéb rakodók terminál vonal jelzi a / etc / inittab (USG a fészek) vagy / etc / ttys (BSD foglalat). Ez vezetett a másik UNIX megállapodást. ha a démon kap HUP jelet. azt újra kell indítani, és újra olvasni a konfigurációt; Például, ha megváltozott a telepítést inetd fájlt. ő veszi észre ezeket a változásokat követően killall -HUP inetd.

Ha a számítógép rendelkezik port soros adatok (IBM PC, általában felveszi a RS-232 szabvány), ez elég alkalmas terminál. Ezért, a / dev van a megfelelő terminál eszköz egy nevet tartalmazó substring tty. Linux, például, hogy lesz a neve ttyS0. és FreeBSD - ttyd0. A FreeBSD, mellesleg, ez biztosítja a másik készülékre. cuaa0. amely tulajdonképpen ugyanúgy működik port, de nem dolgozza fel a továbbított adatok jeleket, és nem továbbít; egy szó, akkor működik „nyers”. Ritkán soros port a rendszerben több mint négy (általában kettő). Honnét, majd, ezt az összeget a kibocsátás a ls / dev / * TTY *?

Modern UNIX-rendszer alapján az IBM PC nem tartalmazott olyan külső eszközt. mint egy terminál. Igen ez, és nincs ok: a rendszer egység, és tartalmaz egy billentyűzetet és egy monitort. megjelenítésére képes grafikus, és ezért a szöveges információkat. Azonban ez teljesen független a készülék. megnyom egy gombot a billentyűzeten által feldolgozott speciális eszköz úgynevezett billentyűzet vezérlő. és a monitor állapotát jeleníti meg a grafikus kártya. Azonban egy része a központi rendszer, a továbbiakban a virtuális konzolra. Ez látja el a terminál. dolgozik egy monitort és billentyűzetet, mint egyetlen eszköz. A konzol UNIX terminál értjük (talán nem az egyetlen), melyek a rendszer maga megjeleníti a diagnózis a munkahelyen, és amelyből szabályozható. Hozzárendelése egy virtuális konzolt a felhasználó ül a monitor és billentyűzet IBM PC, mint egy terminál. és UNIX „gondolja”, hogy egy ilyen terminál eddig. És a kényelem a virtuális konzolok általában több alkalommal rendezett, nyomja Linux vagy FreeBSD Alt + F6 vezet az a tény, hogy olyan lesz, mintha a terminál előtt a 6-os szám és elkezd vele dolgozni, és elindította a / dev / tty6 (a FreeBSD - / dev / ttyv6) getty program felismeri tevékenység az eszközön.

Kapcsolódó cikkek