2. Előadás

Számítógépek hardveres felépítése

  • Tárolt programok, utasítások adatok azonos módon a memóriában helyezkednek el.
  • Vezérlő egység (CPU), aretmetikai-logikai egység (ALU) az utasítások végrehajtását, alapvető aritmetikai műveleteket felügyelik.
  • Szükség van be/kimenetek (I/O) kezelésre.
  • Összekötő kapocs: busz (sín, adat, cím, vezérlő)

Processzor utasítások

A rendszer gyakorlatilag minden eleme intelligens, de a kulcsszereplő a processzor, mikrokontroller.

Regiszterek: speciális memória a processzoron belül. (általános, jelző, )

Utasításcsoportok:

  • Adatmozgató utasítások
  • Ugró utasítások (abszolút, relatív)
  • I/O port kezelés
  • Megszakítás kezelés

Védelmi szintek

  • Kernel mode (interrupt, I/O, bizonyos memória kezelése)
  • User mode

Adatok, utasítások a memóriában, ezeket a CPU végrehajtja.

Számítógépek szoftveres felépítése

  1. Logikai áramkörök
  2. CPU, mikroprogram, mikroarchitektúra szint
  3. Számítógép, gépi elemek gépi kódja
  4. Operációs rendszer
  5. Rendszeralkalmazások
  6. Alkalmazások

Operációs rendszer fogalma, feladata

Operációs rendszer: Olyan program ami egyszerű felhasználói felületet nyújt, eltakarva a számítógép(rendszer) eszközeit.

  • Absztrakt, virtuális gép
    • pl.: mindegy hogyan, de át akarok másolni egy képet.
  • Erőforrás menedzser
  • Felhasználói felület biztosítása
  • Kommunikáció perifériákkal
    • Lekérdezéses átvitel (polling): I/O portok folyamatos lekérdezése
    • Interrupt használat: A kívánt esemény bekövetkezésekor a megadott programrész kerül végrehajtásra.
    • DMA, közvetlen memória elérés

Programkönyvtárak

Lehetnek gépi kódban írtak, de leggyakrabban C-API-t biztosítanak.

Jellemzően réteges szerkezetű:

  • Rendszer szintű hívás (pl.: kommunákció a perifériákkal)
  • Felhasználói hívás

Firmware: Hardverbe a gyártó által épített szoftver

Middleware: OS feletti réteg, pl.: JVM

POSIX

POSIX = Portable Operating System Interface for uniX (IEEE 1003, ISO 9945)

Valójában egy minimális rendszerhívás API.

Szabvány ANSI C-vel azonos függvénykönyvtár.

Manapság mindens OS POSIX kompatibilis.

Fontosabb POSIX témakörök:

  • Fájl, könyvtárműveletek
  • Folyamatok kezelése
  • Szignálok
  • Csövek
  • Standard C függvénykönyvtár
  • Órák, időzítők
  • Szálak kezelése

Függvénycsoport példák

  • Matematikai függvények: pl. sin, cos, tan, atan, atan2, log, exp stb.
  • Állománykezelő függvények: pl. creat, open, fopen, close, read, write, unlink stb.
  • Könyvtárkezelő függvények: pl. opendir, closedir, mkdir, rmdir, readdir stb.
  • Karakterfüzér‐kezelő függvények: strcpy, strlen strcmp, strcat, strchar, strstr stb.
  • Memória-kezelők: malloc, free, memcpy stb.
  • Belső kommunikációs függvények: msgsnd, msgrcv, shmat, semop, signal, kill, pipe stb.

Források