kategória | ||||||||||
|
||||||||||
|
||
A számítógépes rendszerekben arra törekszünk, hogy azok jól strukturáltak, rétegekre bonthatók legyenek. Persze a rétegekre bontás nem teljesen egyértelmű, függhet a vizsgálat szempontjaitól. Ennek ellenére a számítógéprendszerben szinte minden esetben elkülöníthetünk három réteget: a legalsó szinten a hardvert, fölötte a szoftver alrendszert aminek az operációs rendszer is része, majd legfelsőként az alkalmazói réteget. Ennek a megközelítésnek felel meg az ISO (International Standard Organization), a Nemzetközi Szabványügyi Szervezet definíciója is:
Az operációs rendszer olyan programok rendszere, ami a számítógépes rendszerekben a programok végrehajtását vezérli: ütemezi a végrehajtást, elosztja a rendszer erőforrásait, biztosítja a felhasználó és a számítógéprendszer közötti kommunikációt.
Az ISO definíció eléggé tömör. Nézzük meg valamivel részletesebben az operációs rendszert, illetve környezetét:
Felhasználó, gépkezelő |
Felhasználói programok, alkalmazások |
Programkészítési támogatás, fejlesztő alrendszerek |
||||||
Shell Û |
Û Rendszerhívások és válaszok Û Application Programming Interface (API) |
|||||||
|
Rendszermag (Kernel) |
|||||||
|
processzor-kezelés |
memória-kezelés |
megszakítás-kezelés |
Állomány-kezelés |
Eszköz-kezelők (driver-ek) |
Hálózat-kezelés |
||
|
CPU |
Memória |
Megszakítás vezérlő |
Fájlok |
Eszköz-vezérlők |
Hálózati csatolók |
||
|
|
|
Perifériák, külső kapcsolatok |
|||||
A kiemelt rész az operációs rendszer. Központi része a kernel, ami rutinok, funkciók gyűjteménye. A felhasználók, gépkezelők és a felhasználói folyamatok rendszerhívások segítségével kérhetnek szolgáltatást a kernel-től. A kérésre adott kernel-válasz tájékoztatja a hívót a teljesítésről vagy a visszautasításról. A felhasználó vagy gépkezelő a rendszerhívásokat a shell segítségével továbbítja a rendszermagnak és a válaszokat is általában a shell-től kapja.
A kernel funkciók nemcsak a felhasználói oldal kéréseit hajtják végre, vannak közöttük olyanok is, amelyek a felhasználó számára hozzáférhetetlenek. Ilyenek például a CPU-t, a memóriát és a megszakításokat, általában a hardvert kezelő funkciók.
Az operációs rendszer felügyelete alatt a gépen futó programot, taszkot folyamatnak, process-nek nevezzük. A CPU kiosztása, használatának ütemezése a kernel sheduler-nek (ütemező) nevezett rutinjának a feladata. Preemtive-nek nevezzük azokat az ütemezőket, amelyek szabadon gazdálkodhatnak a CPU-val, azaz bármikor elvehetik egy folyamattól, ha ez az optimális működés miatt szükséges.
A kernel memóriakezelő részeinek a többfeladatos rendszerekben biztosítani kell a folyamatok számára szükséges tárterületet, illetve meg kell oldani az ilyenkor szükségszerűen jelentkező védelmi problémákat. A tárkezelési filozófiák elég hosszú fejlődés után mára szinte egységesen virtuális tárakat használnak ebből a célból.
A megszakítások kiszolgálásával a külső eszközök által kezdeményezett adatátvitel lebonyolítását, vezérlését kell elvégezni. Ezt bonyolultsága miatt nem lehet a felhasználói programokra bízni.
Az eszközkezelők egy részét -bár beépülnek az operációs rendszerbe-, általában az eszköz vagy periféria gyártója készíti el és külön installálással adhatjuk hozzá a kernelhez. Ma már létezik egy módszer, a Plug and Play (PnP), ami automatikussá teszi az illesztett periféria felismerését és a megfelelő driver beépítését a rendszerbe, de ez még enyhén szólva nem mondható tökéletesnek.
Az állománykezelési funkcióknak lehetővé kell tenni a tömegtárolókon elhelyezett adatok gyors elérését, a megbízható adatmegőrzést, a tárolóhellyel való takarékos gazdálkodást és a felhasználó igényekhez alkalmazkodó az adatszerkezetek kialakítását. Ez a kernel-feladat -bár vannak egyedi megoldások -, a különböző operációs rendszerekben gyakran kompatibilis adatszerkezeteket biztosít. Fontosabb file-rendszerek: FAT12, FAT16, FAT32, VFAT, HPFS, NTFS, UDF.
Találat: 1575