Skip to main content

4A. Tétel: Operációs rendszerek

Operációs rendszerek fogalma, felépítése, osztályozásuk.

Operációs rendszerek fogalma

Az operációs rendszer olyan programrendszer, amely a számítógépes rendszerben a programok végrehajtását vezérli: így például ütemezi a programok végrehajtását, elosztja az erőforrásokat, biztosítja a felhasználó és a számítógépes rendszer közötti kommunikációt.

Az operációs rendszer felépítése

rendszermag

Feladata a hardver optimális kihasználásának irányítása, a kért programok futtatása, alkalmazói kéréseknek kiszolgálása.

API

Olyan szabálygyűjtemény, mely leírja hogyan kell kérni a szolgáltatásokat a kerneltől, és a kernel válaszát hogyan kapjuk meg.

Rendszerhéj

Feladata a parancsértelmezés. Lehet a shell parancssoros vagy grafikus felületű.

Szerviz- és segédprogramok

a felhasználói "élményt" fokozó kiegészítő programok, amelyek nem képzik a rendszer elválaszthatatlan részét.

Az operációs rendszerek osztályozása:

  1. Felhasználók szempontjából: egyfelhasználós többfelhasználós
  2. Egyidőben futtatható programok száma: egyfeladatos, többfeladatos
  3. Megvalósítás szerint: interaktív, nem interaktív
  4. A gép méretétől függő: mikrogépes, kisgépes, nagygépes
  5. Terjesztési licenc alapján: kereskedelmi, szabad

Fájlok és fájlrendszerek.

Fájl

A számítógépen lévő információtárolási egysége a fájl. Egy fájl tartalma a gép szempontjából vagy adat, vagy program. A fájlok alapvető jellemzői: fájlnév, kiterjesztés, méret, dátum, idő.

Fájlrendszer

Egy fájlrendszer absztrakt adattípusok halmaza, amelyeket adatok tárolására, hierarchikus rendezésére, kezelésére, megtalálására, illetve navigálásra, hozzáférésre, és visszakeresésére hoztak létre

Speciális fájlok Unix alatt.

A linnkel: hivatkozni lehet más fájlra.

A nevesített csővezeték folyamatok közötti kommunikációra ad lehetőséget, oly módon, hogy az egyik alkalmazás kimenetét egy másik alkalmazás bemenetére köti. Egyszerű FIFO pufferekről van szó, amikbe írni és amikből olvasni lehet .

A socket: egy speciális fájl, melyet a pipeokhoz hasonlóan, folyamatok közötti kommunikációra használnak, de immár hálózatos környezetbe szerver-kliens kommunikáció során.

Az eszköz fájlok: a hardver elemeit reprezentálják a fájlrendszerben így hozzáférési jogokat adhatunk az egyes elemeknek, és utasításokban használhatjuk közvetlenül magát az eszközöket.

Átirányítás, csővezetékek.

Mind a bemenet, mind pedig a kimenet (hibakimenet) átirányítható egy tetszőleges állományba: <, >, >>, 2>, &>

A cső vagy csővezeték a programok egy olyan sorozata, amelyek a szabványos folyamaik által vannak összekötve, azaz a Program1 kimenetét a Program2 bemenetére köti.

Folyamatkezelés.

A Linux többfeladatos és többfelhasználós rendszer. Ebből következik, hogy akár egy felhasználó egy időben több programot is futtathat. Az elindított program a processz, azaz folyamat. A folyamatok jól definiált hierarchiát alkotnak. Minden folyamatnak pontosan egy szülője van, és egy vagy több gyermek folyamata lehet. A folyamat hierarchia tetején az init folyamat helyezkedik el. A Linux minden egyes feladathoz két számot, feladat azonosítót és szülő azonosítót rendel.

Folyamatkezelő parancsok pl: pstree: Az initből induló folyamathierarchiát lehet a parancs segítségével megtekinteni fa szerkezetű ábrázolásban. A top a kill és a ps parancs egyesített változata mely folyamatosan futva listázza az éppen aktív folyamatokat, információt nyújt a rendszer állapotáról és terheltségi mutatóiról, illetve lehetőséget ad szignálok küldésére folyamatok számára.

Jelzések, szignálok.

A Linux rendszer a folyamatok vezérlését a folyamatoknak küldött ún. szignálok segítségével végzi: a Ctrl+Z billentyű például egy STOP szignált küld az előtérben futó processznek. A kill a nevével ellentétben nem csak folyamatok megölésére használható, hanem tetszőlegese signalt küldhetünk vele bármely folyamatnak melynek tudjuk a tudjuk a PID számát és rendelkezünk a folyamat kezeléséhez megfelelő jogokkal.

Ütemezett végrehajtás.

A UNIX multitaszking képessége nem korlátozódik csak a jelenben a futó folyamatokra. Tartalmaz programokat, amelyek lehetővé teszik a programok ütemezett futtatását, akár egyszeri, akár ismétlődő időközönként. Egy adott időben az at program segítségével indíthatunk el folyamatokat, ismétlődő esetekben pedig a crontab alkalmazással.