• Nem Talált Eredményt

Az operációs rendszer indítása

In document Informatikai rendszerek alapjai (Pldal 161-167)

Operációs rendszerek 1

11. Az operációs rendszer indítása

A számítógép kikapcsolva nem több, mint milliónyi elektronikus alkatrész m˝uködésképtelen halmaza. Az élettelen „vas” a különböz˝o szoftverek által kel életre. A szoftvereket azonban szoftverek indítják, a felhasználói programok indítását egy alapvet˝o szoftver, az operációs rendszer végzi. Néhány szót kell arról szólni, hogy miképpen tud az operációs rendszer elindulni.

11.1. BIOS

Bizonyos programok bele vannak építve a számítógép hardver elemeibe, így ezeket a hardver és szoftver analógiájára firmware-nek hívjuk (ennek a szónak nem alakult ki magyarosított alakja). Ezek az apró programok képesek többek között arra, hogy önmaguk épségét leellen˝orizzék és felismerjék a saját környezetüket. Több eszköznek is vannak ilyen programjai, közülük a legfontosabb az alaplap és a videokártya BIOS-a – ezeknél általában így hívják ezt a „gyárilag” beépített programot. A BIOS a Basic Input/Output System rövidítése, tipikusan néhány megabájt méret˝u és flash RAM-on tárolódik, hogy szükség esetén ki lehessen cserélni egy újabb verzióra.

Alapvet˝o feladata, hogy kapcsolatot biztosítson a hardver és szoftver részek között. A gép bekapcsolásakor, illetve némi késleltetéssel újraindítás után is a BIOS lép m˝uködésbe, és különböz˝o alapvet˝o tesztekkel

feltérképezi a rendelkezésre álló hardverelemeket. Az egyes elemekt˝ol kapott válaszok alapján azt is igyekszik eldönteni, hogy azok m˝uköd˝oképesek-e. Nem teljes mélység˝u tesztelést végez, csak azt ellen˝orzi, hogy az egyes eszközök szabályosan reagálnak-e a megszólításra. Ha ennek során komolyabb problémát talál, akkor a kiírt hibaüzenet mellett különböz˝o ütem˝u csipogásokkal jelzi az egyes hibákat – ebben a fázisban még az sem biztos, hogy a videokártya elindult, és a képerny˝on ezért nem a m˝uködés eredményét látjuk (esetleg semmit sem), de az alaplapra szerelt csipogó biztosan megszólal és jelzi, hogy számítógép valamelyik részegysége nem megfelel˝oen m˝uködik. Hogy éppen melyik egység az, a hozzáért˝o szakember a csipogás stílusából is felismerheti.

11.1. ábra. Egy tipikus BIOS-képerny˝o

A hardverkörnyezet beállítását a 11.1. ábrán látható egyszer˝u felületen némileg befolyásolni tudjuk – letilthatunk egyes eszközöket, például USB portot, DVD-t vagy az alaplapi videokártyát, cserélgethetjük a háttértárak hivatkozási sorrendjét, módosíthatjuk a processzor m˝uködési frekvenciáját, beállíthatjuk a pontos id˝ot, befolyásolni tudjuk a gép energiagazdálkodási elveit, stb. Valójában csupa olyan dolgot, amit a mai

operációs rendszerekkel is be lehet állítani. Ezértazt kell, hogy mondjuk, a BIOS szerepe egyre csökken, kiváltása folyamatban van az eredetileg az Intel által fejlesztett UEFI (Unified [vagy Universal] Extensible Firmware Interface, magyarul Egységes B˝ovíthet˝o Firmware Interfész) rendszerrel (eredetileg EFI-nek hívták). A BIOS egy több évtizedes technológia terméke, folyamatos foltozgatással tartják életben. Lassú, kezelése nehézkes, az új eszközök hozzáillesztése egyre nehezebb.

Aktivitás: Ha lehet˝oségünk van rá, lépjünk be a gépünk BIOS-ába és tekintsük meg, milyen beállítási lehet˝oségeket kínál. Indokolatlanul semmit ne módosítsunk.

A BIOS leváltása a sok meglév˝o eszköz miatt nem egyszer˝u, ezért lassan halad. Ígymég ma is a BIOS indul el el˝oször a mai gépen dönt˝o többségén (11.2. ábra). Ha a hardverek gyorstesztjén túl van, akkor a beállításai ban megadott hely(ek)en elkezdi keresni az operációs rendszert. Ha indíthatót talál, nem keres tovább, hanem elkezdi azt betölteni. Maga az operációs rendszer a rendszermag, az úgynevezett kernel betöltésével indul: ez az operációs rendszernak legalapvet˝obb szolgáltatásokat nyújtó része. A hardver er˝oforrások, többek között a processzor, a memória kezeléséért felel. A kernel inicializálja az számítógép részegységeit, majd elindítja a különböz˝o speciális feladatokat elvégz˝o, folyamatosan futó programokat. Több tucatnyi olyan programot elindít, amelyek egy-egy konkrét funkcióval (szolgáltatással) b˝ovítik az operációs rendszer képességeit. Ilyen például a nyomtatási sorok, különböz˝o biztonsági funkciók kezelése, a felhasználók ki-be jelentkeztetése.

A szolgáltatásokat nyújtó programok elindítása után az operációs rendszer gyakorlatilag m˝uköd˝oképessé vált, a felhasználó utasítására vár, aki elkezdheti a munkát a számítógépen, vagy a rendszer beállításától függ˝oen névvel és jelszóval azonosítva magát vezérelheti az operációs rendszert vagy indíthatja felhasználói programjait.

A bejelentkezés után általában további programok is elindulhatnak. Ezek többnyire felhasználóhoz tartozó apró segédprogramok. Ilyen például a képerny˝ore kitett valós id˝ot mutató óra vagy id˝ojárás-el˝orejelz˝o piktogram, de lehet olyan program is, amivel a felhasználó legtöbbször dolgozik.

11.2. ábra.Az operációs rendszer indulása 12. A számítógépek m˝uködésének szoftveres feltételei

Az operációs rendszer kitüntetett szerepet foglal a szoftverek között. Természetesen nem „kötelez˝o” operációs rendszert használni, de akkor annak funkcióit a gépen futtatott szoftvernek magának kell biztosítania – ez legtöbb esetben csak óriási többletterhet jelentene a szoftver készít˝ojének, és talán semmi el˝onnyel sem járna.

Ezért szoktuk azt mondani, hogy az operációs rendszer a számítógép „alapfelszereléséhez” tartozik, ami nélkül m˝uködésképtelen. Most tekintsük át, hogy mik is az operációs rendszer legfontosabb részei!

• Kernel

A kernel a hardver er˝oforrások kezeléséért felel. Egy „nem látható” program, nem tartozik hozzá felhasználói felület (lásd a következ˝o pontot), mindvégig fut, de nem látjuk, ha például valamilyen segédprogrammal megnézzük a futó programok listáját. A kernelt szokás magyarul rendszermagnak is nevezni, de inkább az angol megnevezés terjedt el, ezért a továbbiakban is ezt használjuk.

Alapvet˝oen kétféle megközelítésben szokták a kernelt összeállítani, ez alapján beszélünk monolitikus és mikrokernelr˝ol. A monolitikus kernel egyetlen, hagyományos értelemben vett nagyobb program, amibe minden szükséges funkciót, az összes szükséges hardverelem kezel˝oprogramját (ún. meghajtóprogram, driver) beépítették. Mikrokernelen egy jóval kisebb programot értünk, ami még a kernelfunkciók közül

is csak a legfontosabbakat tartalmazza, és a futás közben betölthet˝o modulok felhasználói programként tölthet˝ok be. Ezzel a megoldással könnyebb biztosítani a (sokkal kisebb) kernel stabilitását, hibamentes m˝uködését, ráadásul kényelmes, hogy a kernel csak a valóban szükséges részeket tölti be a memóriába, és a betöltött modulok készlete bármikor változtatható. Az egyes modulok elszeparáltabbak, így a biztonsági és stabilitási problémák könnyebben kezelhet˝ok. A megoldás hátránya egy monolitikus kernelhez képest, hogy – elvileg – némi teljesítményromlást jelent a modulok közötti interfészek kezelése.

A két alapelvet a modern kernelek sokszor ötvözik azzal, hogy választható, mely részek kerüljenek be monolitikus kernel módjára az állandóan futó központi részbe és melyek azok a kevésbé fontos, vagy opcionális részek, amiket akkor kell betölteni, ha erre szükség van. Ez a kerneltípus ahibrid kernel.

• UI (User Interface) – felhasználói felület

A számítógépet emberek használják, ezért mindenképpen szükséges egy olyan szoftverkomponens, ami azt biztosítja, hogy a kimeneti adatok emberi érzékszervekkel és intelligenciával felfogható legyenek, a felhasználó pedig a gépnek szánt utasításait megadhassa.

A13. fejezetben részletesen foglalkozunk a felhasználói felületekkel.

• Segédprogramok (utilities)

Az operációs rendszert sok-sok segédprogram egészíti ki a teljesebb, kényelmesebb m˝uködés érdekében.

A definíció alapján nem teljesen egyértelm˝u, hogy ezek közül pontosan melyeket kell az operációs rendszer részének tekinteni, melyek azok, amik hasznos segédprogramként támogatják a felhasználó munkáját.

Következzék néhány, a sokszáz közül:

pontos id˝o beállítása, megjelenítése, háttértárak fájlrendszerének menedzselése, szabad hely meghatározása az adattárolókon, tömörítés támogatása,

id˝ozítve történ˝o programindítás, például mentés minden éjjel, képek megjelenítése,

email küldés parancssorból,

képerny˝o háttérképének beállítása, konverzió fájltípusok között, fájl másolása, törlése, átnevezése.

A listát a végtelenségig folytathatnánk, a szabad operációs rendszerek szinte kimeríthetetlen lehet˝oséget biztosítanak a munka támogatására, a fizet˝os rendszerek készít˝oi sokkal sz˝ukmarkúbbak és jelent˝osen korlátozottabb segédprogram-készletet biztosítanak.

• Fejleszt˝oeszköz

Az operációs rendszer biztosítja, hogy a számítógépünk m˝uköd˝oképes legyen, de nem ad lehet˝oséget arra, hogy tetsz˝oleges problémát megoldhassunk vele. Programot kell írnunk vagy íratnunk az operációs rendszerünkhöz a problémáink megoldásához. Ehhez azonban fejleszt˝oeszközre van szükségünk. Egy operációs rendszer attól válik igazán er˝ossé, hogy fejleszt˝orendszert is biztosítanak hozzá. A felhasználó ugyanis az esetek többségében nem a „gépet” szeretné kezelni, hanem saját céljaira készült programot szeretne használni.

Ezenkívül magát a fejleszt˝oeszközt és az operációs rendszert is fejleszteni kell, annak összes segédprogramjával együtt. Eljutottunk a tyúk és tojás els˝obbségének a problémájáig, ezért meg kell említeni, hogy alapvet˝oen kétféle környezetre készíthet programot egy fejleszt˝orendszer: azin-platform fejlesztés olyan programot készít, ami a fejleszt˝oeszközt futtató operációs rendszeren és hardveren fut, az ún. cross-platform fordítók segítségével azonban más operációs rendszerre, akár más hardverre is készíthetünk szoftvereket.

Egy teljesen új operációs rendszer els˝o példányát mindig egy másik, már létez˝o operációs és fejleszt˝o rendszer segítségével készítik el. A továbbfejlesztéshez ez a változat már felhasználható lesz.

Az eltér˝o hardver- és szoftverkörnyezetben történ˝o fejlesztésre példa lehet egy okostelefonon futó operációs rendszer vagy felhasználói program kifejlesztése, hiszen nehezen képzelhet˝o el – bár elvileg lehetséges lenne –, hogy a pár centiméteres érint˝oképerny˝on egy ujjal gépelve készült. Kényelmesebb egy önálló fejleszt˝oi számítógépen fejleszteni, és a megfelel˝o hardverre lefordított kódot másolni át a tényleges futtató hardverre.

A 12.1. ábrán látható, hogy a felhasználó illetve a felhasználói programok miképpen érik el a hardvert.

A felhasználó vagy valamely felhasználói programmal dolgozik (ez esetben az adott program veszi igénybe az operációs rendszer szolgáltatásait), vagy közvetlenül az operációs rendszert használja annak valamilyen felületén keresztül. A kernel éri el ténylegesen a számítógép hardverelemeit.

12.1. ábra. Az operációs rendszer a hardver és a felhasználói programok között

In document Informatikai rendszerek alapjai (Pldal 161-167)