„Unix-rendszerhéj” változatai közötti eltérés

[nem ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
Cherybot (vitalap | szerkesztései)
a Robot: Licenc magyarosan
Opa (vitalap | szerkesztései)
→‎Unix-eszközök: működése
40. sor:
Egy parancs leállítása esetén a rendszerhéj a billentyűzet-meghajtót is használja. ''CTRL-C'' a parancs leállítását vonja maga után, és ezt a billentyűzet-meghajtó indítja el.
 
=== Unix-eszközökMűködése ===
Az operációs rendszerek működtetése közben a felhasználó és a [[számítógép|gép]] közötti [[kommunikáció]] valamilyen terminálon (esetleg virtuális, vagy emulált környezeten) keresztül történik. Ennek egyik eszköze a shell is, melyen keresztül a vezérlés szöveges karakterekre korlátozódik. A vezérlő jelsorok elsődleges beviteli eszköze (''standard input, vagy röviden STDIN'') a használt terminál [[billentűzet]]e. Minden egyes billentyű lenyomásakor annak kódját a shell megkapja és egy pufferben tárolja, amelynek tartalmát többnyire szerkeszteni is lehet. A parancssor ezen szolgáltatását sorszerkesztőnek, vagy promptnak nevezzük. A sorszerkesztővel többnyire egyszerű műveleteket - törlést, felülírást, beszúrást - végezhetünk a [[kurzor]]mozgató billentyűk segítségével. Ezt követően a bevitt jelsor megjelenik a terminálon. Egy érvényesítő végjellel (alapértelmezésként ez az ENTER vagy RETURN billentyű) lehet a parancsot értelmeztetni.
A unix-rendszerhéj az operációs rendszer tulajdonságait is kihasználja. Maga csak a legszükségesebbet implementálja. Külső unix parancsok, mint pl. csőimplementációk egészítik ki a rendszerhéjat. Más hasonló parancsok, mint például szövegmanipuláció, szerkesztés, szószámlálás, betűátkódolás, sorlevágás és mások segítik a rendszerhéj munkáját.
 
Ilyenkor a [[puffer]] tartalmát megkapja a shell értelmező (''interpreter'') része, amely szétbontja utasításokra és paraméterekre. Az utasítások között elsőbbségek, precedenciák lehetnek, azaz nem feltétlenül beviteli sorrendben lesznek elindítva. Végrehajtás
során, ha szintaktikailag helyes az utasítássor, akkor a shell először helyettesítő névként (''alias''), ha nincs ilyen, akkor a beépített parancskészletében (builtin) keresi meg a parancshoz tartozó „cselekvéssort”. Ha ilyen nem létezik, akkor egy alkalmazás neveként értelmezi, és megkísérli elindítani. A beépített parancsok a shellbe vannak integrálva, így működésében olyan, mintha egy programfájl kerülne végrehajtásra, azzal a különbséggel, hogy nem különálló részként található meg a fájlrendszeren. Egyes shellekben
lehetőség nyílik a korábban kiadott parancsok tárolására, újbóli kiadására. Ezeket a parancsokat összefoglaló néven előzményeknek (''history'') nevezzük, az őket tartalmazófájl pedig az előzményfájl, mely általában rejtett, és a shellt futtató felhasználó saját könyvtárában, vagy bizonyos esetekben a shell saját programkönyvtárában, vagy ritkábban a gyökérkönyvtárban található.
 
Többnyire elmondható, hogy a végrehajtás szekvenciális, azaz egy újabb utasítás csak akkor adható ki, ha már egy korábbi lefutott. Ez igen nagy megkötés, ennek áthidalására szolgál a munkavezérlés, amellyel megtehetjük, hogy bizonyos parancsokat háttérben futtassunk külön folyamatként, vagy felfüggesszük. A felfüggesztett folyamatoktól a rendszer elveszi a [[CPU]] vezérlést, ha szükséges, a lefoglalt memóriájukat elsők között írja ki a [[lapozás (informatika)|lapozó]] (''swap'') partícióra.
 
==Irodalom==