Shell (számítástechnika)

A Wikipédiából, a szabad enciklopédiából

A számítástechnikában a shell, magyarul héj egy felhasználói felület, amely által hozzáférhetünk az operációs rendszer szolgáltatásaihoz. Általában a rendszerhéjak parancssori felületet (CLI) vagy grafikus felhasználói felületet (GUI) használnak, a számítógép szerepétől és az adott művelettől függően.

A shell, avagy héj elnevezés abból ered, hogy ez a felhasználói felület az operációs rendszer kernelének legkülső rétege.

A CLI-héjak a felhasználótól valamennyi jártasságot várnak parancsok terén, és a hívó szintaxis ismeretét.

A grafikus héjak használata egyszerűbb, ezáltal kezdő felhasználók számára ajánlottak.

Áttekintés[szerkesztés]

Az operációs rendszerek különféle szolgáltatásokat nyújtanak a felhasználók számára, ideértve a fájlkezelést, a folyamatirányítást (alkalmazások futtatása és leállítása), a kötegelt – batch – feldolgozást, valamint az operációs rendszer megfigyelését és konfigurálását.

A legtöbb operációs rendszer héja nem közvetlen interfész az alapul szolgáló kernelhez, még akkor sem, ha a héj a felhasználóval közvetlenül, a számítógéphez csatlakoztatott perifériás eszközökön keresztül kommunikál. A héjak valójában speciális alkalmazások, amelyek ugyanolyan módon használják a kernel API-t, mint más alkalmazási programok. Egy héj kezeli a felhasználó-rendszer interakciót azáltal, hogy felszólítja a felhasználót a bevitelre, értelmezi a bemenetet, majd kezeli az alapul szolgáló operációs rendszer kimenetét (hasonlóan a read-eval – print loop, REPL). Mivel az operációs rendszer héja valójában egy alkalmazás, a legtöbb operációs rendszerben könnyen helyettesíthető egy másik hasonló alkalmazással.

A helyi rendszereken futó héjakon kívül a távoli rendszereket a helyi felhasználók számára is elérhetővé tehetik; az ilyen megközelítéseket általában távoli hozzáférésnek vagy távoli adminisztrációnak nevezik. A távoli hozzáférés kiterjedt az Unix-szerű rendszerekre és a Microsoft Windowsra is. Kezdetben többfelhasználós nagyszámítógépeken, minden aktív felhasználó számára elérhető szöveges alapú felhasználói felületeket biztosítottak. Ehhez egyidejűleg egy sor terminál vagy modem segítségével a nagyszámítógépekhez csatlakoztatott szöveges terminált alkalmaztak. Unix-szerű rendszereken a Secure Shell protokollt általában a szövegalapú héjakhoz használják, míg az SSH az X Window System alapú grafikus felhasználói felületekhez (GUI) használható. A Microsoft Windows rendszeren a Remote Desktop Protocol használható GUI távoli hozzáférés biztosításához. A Windows Vista és a PowerShell Remote szöveges alapú távoli eléréshez használható WMI, RPC és WS-Management segítségével.

A legtöbb operációs rendszer héja két kategóriába tartozik: parancssori és grafikus. A parancssori héjak parancssori felületet (CLI) biztosítanak az operációs rendszer számára, míg a grafikus héjak grafikus felhasználói felületet (GUI) biztosítanak. Egyéb lehetőségek, bár nem ilyen általános módon, de tartalmazzák a nem CLI, a hang és szöveg alapú felhasználói felület (TUI) különféle megvalósításait. A CLI- és GUI-alapú héjak relatív érdemeiről gyakran vitatkoznak.

Szöveges (CLI) héjak[szerkesztés]

A parancssori felület (CLI) egy operációs rendszer héja, amely billentyűzeten gépelt alfanumerikus karaktereket használ az utasítások és adatok interaktív továbbításához az operációs rendszerhez. Például egy távíró a billentyűleütéseket ábrázoló kódokat küldhet a számítógépen futó parancsértelmező programnak; a parancsértelmező elemzi a billentyűleütések sorozatát, és hibaüzenettel válaszol, ha nem ismeri fel a karaktersorozatot, vagy végrehajthat más programműveleteket, például betöltheti az alkalmazási programot, felsorolhat fájlokat, bejelentkezhet egy felhasználói fiókba és még sok mást is csinálhat.

Az olyan operációs rendszerek, mint a UNIX, sokféle héjprogrammal rendelkeznek, különféle parancsokkal, szintaxissal és képességekkel. Néhány operációs rendszernek csak egy parancssori felülete van; az árucikkek operációs rendszerei, mint például az MS-DOS, szokásos parancsfelülettel jöttek létre, de gyakran rendelkezésre álltak harmadik féltől származó interfészek is, amelyek kiegészítő funkciókat vagy funkciókat kínálnak, mint például a menübeállítás vagy a program távoli végrehajtása.

Az alkalmazási programok végrehajthatják a parancssori felületet is. Például Unix-szerű rendszerekben a telnet program számos parancsot tartalmaz a távoli számítógépes rendszerhez való kapcsolat vezérlésére. Mivel a program parancsai ugyanolyan billentyűleütésekkel készülnek, mint a távoli számítógépre küldött adatok, a kettő megkülönböztetéséhez bizonyos eszközökre van szükség. Egy bizonyos küldetésmegszakító rendszer (escape system) meghatározható speciális billentyűleütéssel, amely soha nem kerül továbbításra, de a helyi rendszer mindig értelmezi. A program modálissá válik, átváltva a billentyűzetről kapott parancsok értelmezésére vagy a feldolgozásra kerülő adatok továbbítására.

Számos parancssori héj jellemzője a parancssorozatok mentése az újrafelhasználás céljából. Az adatfájl olyan parancsok sorozatait tartalmazhatja, amelyeket a CLI követhet úgy, mintha egy felhasználó írná be őket. A CLI különleges jellemzői alkalmazhatók e tárolt utasítások végrehajtásakor. Az ilyen kötegelt fájlok (szkript fájlok) többször felhasználhatók, például rutinműveletek automatizálására. Ilyen, ha egy programkészletet inicializálunk a rendszer újraindításakor. A héjak kötegelt módú használata általában a programozási nyelvek struktúráit, feltételeit, változóit és egyéb elemeit foglalja magában; egyesek nem rendelkeznek ilyen célra konkrét elemekkel, mások nagyon kifinomult programozási nyelvek már önmagukban is. Ezzel szemben néhány programozási nyelv interaktív módon használható az operációs rendszer héjában vagy egy erre a célra épített programban.

A parancssori héj olyan funkciókat kínálhat, mint a parancssori kitöltés, ahol az értelmező a felhasználó által beírt néhány karakter alapján kibővíti a parancsokat. A parancssori tolmács előzményfunkciót kínálhat, így a felhasználó visszahívhatja a rendszernek korábban kiadott parancsokat, és megismételheti azokat, esetleg néhány szerkesztéssel. Mivel az operációs rendszer minden parancsát a felhasználónak kellett gépelnie, a rövid parancsnevek és a kompakt rendszerek a programopciók ábrázolásához voltak általánosítások. A rövid neveket néha nehéz volt visszahívni a felhasználónak, a korai rendszereknek pedig hiányoztak a tárolási erőforrások ahhoz, hogy részletes online felhasználói útmutatót biztosítsanak.

Grafikus (GUI) héjak[szerkesztés]

A grafikus héjak (vagy asztali héjak) eszközöket biztosítanak a grafikus felhasználói felületen (GUI) alapuló programok manipulálásához, lehetővé téve olyan műveleteket, mint például az ablakok megnyitása, bezárása, áthelyezése és átméretezése, valamint az ablakok közötti fókuszváltás. A grafikus héjak beépíthetők az asztali környezetekbe, vagy külön, lazán összekapcsolt segédprogramokként is létezhetnek.

A legtöbb grafikus felhasználói felület egy elektromos “íróasztalként” jelenik meg, ahol az adatfájlokat mappák illusztrálják és az alkalmazások, programok is grafikusan vannak ábrázolva ahelyett, hogy parancsokkal érnénk el őket.

Unix jellegű rendszerek[szerkesztés]

Grafikus héjak általában ablak-paradigmát megvalósító felhasználói felületre épülnek. Az X Window System, illetve a Wayland esetében a héj egy X window managerből vagy egy Wayland compositorból áll, illetve egy vagy több programból, amelyek a telepített alkalmazások elindításának, a nyitott ablakok és a virtuális asztalok kezelésének, valamint a widget-motor támogatásának a funkcióját biztosítják.

A macOS esetében az ablak-paradigmát a Quartz valósíthatja meg, ilyenkor a héj a Finderből, Dockból, a SystemUIServerből és a Mission Controlból áll.

Microsoft Windows[szerkesztés]

A Microsoft Windows operációs rendszer újabb verziói már a Windows rendszerhéjat használják. A Windows Shell biztosítja az ismerős asztali környezetet, a Start menüt és a tálcát, valamint egy grafikus felhasználói felületet az operációs rendszer fájlkezelési funkcióinak eléréséhez. A régebbi verziók tartalmazzák a Programkezelőt is, ami a Microsoft Windows 3.x sorozatának héja volt, amely a Windows 95-ös és NT-s verziójának későbbi verzióinál és a Windows XP-nél is használatban maradt. A Windows 1. és 2. verziójának interfészei jelentősen különböznek egymástól.

Az asztali alkalmazásokat héjaknak is tekinthetjük, feltéve, hogy harmadik fél motorját használják. Hasonlóképpen, a sok elégedetlen fejlesztő és felhasználó megalkotta Windows Explorer szoftvert, amely megváltoztatja a héj működését és megjelenését, és akár teljesen helyettesítheti is. A StarDock által készített WindowBlinds jó példája a korábbi alkalmazásoknak. Utóbbi jó példái a LiteStep és az Emerge Desktop.

Az interoperabilitási programok és a célra tervezett szoftverek lehetővé teszik a Windows felhasználók számára, hogy a többféle Unix-alapú grafikus felhasználói felületek ekvivalenseit, valamint a Macintosh szoftvert használják. Az OS/2 Presentation Manager 3.0 verziójának megfelelője futtathat bizonyos OS/2 programokat bizonyos feltételek mellett az OS/2 környezeti alrendszer használatával a Windows NT verzióiban.

A kifejezés egyéb felhasználási módjai[szerkesztés]

A "Shell" kifejezést néha használják az olyan alkalmazási szoftverek leírására is, amelyek egy adott összetevő körül "épülnek", például a böngészők és az e-mail-kliensek, analógiában a természetben található héjakkal. Ezeket néha "csomagolóknak" is nevezik.

A szakértői rendszerekben a héj egy olyan szoftverdarab, amely "üres" szakértői rendszer, anélkül, hogy tudná az alapot bármelyik alkalmazáshoz.

Fordítás[szerkesztés]

  • Ez a szócikk részben vagy egészben a Shell (computing) című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.