hogyan működnek az operációs rendszerek

a kapcsolási folyamat nyomon követéséhez szükséges összes információ egy folyamatvezérlő blokknak nevezett adatcsomagban található. A folyamatvezérlő blokk általában a következőket tartalmazza:

  • egy azonosító szám, amely azonosítja a folyamatot
  • A program azon helyeire mutat, ahol a feldolgozás utoljára történt
  • regiszter tartalma
  • különböző zászlók és kapcsolók állapota
  • a folyamathoz szükséges memória felső és alsó határára mutat
  • a folyamat által megnyitott fájlok listája
  • a folyamat prioritása
  • az összes adat állapota
  • /o a folyamathoz szükséges eszközök

minden folyamathoz tartozik egy állapot. Sok folyamat nem fogyaszt CPU időt, amíg nem kap valamilyen bemenetet. Előfordulhat például, hogy egy folyamat billentyűleütésre vár a felhasználótól. Amíg a billentyűleütésre vár, nem használ CPU időt. Amíg várakozik, “felfüggesztik”. Amikor a gombnyomás megérkezik, az operációs rendszer megváltoztatja állapotát. Amikor a folyamat állapota megváltozik, például függőben lévőről aktívra, vagy felfüggesztettről futásra, a folyamatvezérlő blokkban lévő információkat ugyanúgy kell használni, mint bármely más program adatait az operációs rendszer feladatváltó részének közvetlen végrehajtásához.

hirdetés

Ez a folyamatcsere közvetlen felhasználói beavatkozás nélkül történik, és minden folyamat elegendő CPU-ciklust kap ahhoz, hogy ésszerű idő alatt elvégezze feladatát. A hiba akkor kezdődhet, ha a felhasználó túl sok folyamatot próbál egyszerre működni. Maga az operációs rendszer bizonyos CPU-ciklusokat igényel az alkalmazási folyamatok összes regiszterének, sorainak és halmainak mentéséhez és cseréjéhez. Ha elegendő folyamat indul el, és ha az operációs rendszert nem gondosan tervezték meg, a rendszer elkezdheti használni a rendelkezésre álló CPU-ciklusok túlnyomó részét a folyamatok közötti váltáshoz, nem pedig a folyamatok futtatásához. Amikor ez megtörténik, ezt verésnek hívják, és általában valamilyen közvetlen felhasználói beavatkozást igényel a folyamatok leállításához és a rendszer rendjének visszaállításához.

Ez a tartalom nem kompatibilis ezen az eszközön.

Ez a tartalom nem kompatibilis ezen az eszközön.

az egyik módja annak, hogy az operációs rendszer tervezői csökkentsék a verés esélyét, az, hogy csökkentik az új folyamatok szükségességét a különböző feladatok elvégzéséhez. Egyes operációs rendszerek lehetővé teszik a” process-lite ” nevű szálat, amely képes kezelni a normál folyamat összes CPU-intenzív munkáját, de általában nem foglalkozik az I/O különféle típusaival, és nem hoz létre olyan struktúrákat, amelyek megkövetelik a rendszeres folyamat kiterjedt folyamatvezérlő blokkját. Egy folyamat sok szálat vagy más folyamatot indíthat el, de egy szál nem indíthat el egy folyamatot.

eddig az összes ütemezés, amelyet megvitattunk, egyetlen CPU-ra vonatkozott. Két vagy több CPU-val rendelkező rendszerben az operációs rendszernek meg kell osztania a munkaterhelést a CPU-k között, megpróbálva egyensúlyba hozni a szükséges folyamatok igényeit a különböző CPU-k elérhető ciklusaival. Az aszimmetrikus operációs rendszerek egy CPU-t használnak saját igényeikhez, és az alkalmazási folyamatokat felosztják a többi CPU között. A szimmetrikus operációs rendszerek megosztják magukat a különféle CPU-k között, kiegyensúlyozva a keresletet a CPU elérhetőségével, még akkor is, ha maga az operációs rendszer fut.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.