Operációs rendszer kérdések PDF

Summary

Az dokumentum egy operációs rendszerrel kapcsolatos kérdéseket és válaszokat tartalmazó dokumentum. A kérdések között szerepelnek az operációs rendszerek generációi, direkt programozás, és a kernel trap lépései. Ezek a témák a számítástechnika, programozás területén fekszenek.

Full Transcript

Írja le az operációs rendszer funkcióit? Extended virtual machine (Kiterjesztett virtuális gép): A perifériák intim ismeretének elkerülhetővé tétele. A különbözőségeket szimbolikus nevek mögé rejti és standard interface biztosít (/dev). Resource manager (Erőforrás kezelő): hardware (CPU-k,...

Írja le az operációs rendszer funkcióit? Extended virtual machine (Kiterjesztett virtuális gép): A perifériák intim ismeretének elkerülhetővé tétele. A különbözőségeket szimbolikus nevek mögé rejti és standard interface biztosít (/dev). Resource manager (Erőforrás kezelő): hardware (CPU-k, perifériák) és software (pl. adatbázis) manage-elése. Responding machine (Válaszoló gép): Kernel API szolgáltatásai. (ld. később.) 2. Sorolja fel az operációs rendszerek generációit. 1. Generáció 1945-55 2\. Generáció: 1955-65 (Exploiting Machine Power) 2. Generáció folyt. 3. Generáció 1965-80 (reducing machine) 4. Generáció 1980-90 (reducing complexity) 5. Ma 3. Mi a direkt programozás? A **direkt programozás** egy egyszerű és közvetlen programozási technika, amelyben a programozó explicit módon megadja az összes utasítást, lépést és logikai feltételt, amelyeket a számítógép végre fog hajtani. A direkt programozás a programozási paradigmák között a legalapvetőbb módszer, amely különösen jellemző az alacsony szintű programozási nyelvek használatára, például az Assembly vagy a gépi kód esetében. **1. Közvetlen utasítások** - A programozó explicit módon határozza meg, hogy milyen műveletek történjenek lépésről lépésre. - Példa: Assembly nyelven történő programozás vagy gépi kód használata, ahol minden utasítást kézzel definiálnak. **2. Hardverközeli fejlesztés** - Direkt programozás gyakran fordul elő olyan rendszerekben, ahol közvetlen hozzáférés van a hardverhez. - Példa: Beágyazott rendszerek, mikrokontrollerek programozása. **3. Alacsony szintű absztrakció** - Az absztrakciós szintek minimálisak vagy teljesen hiányoznak, így a programozónak közvetlenül kell foglalkoznia például a memória kezelésével, regiszterekkel, vagy adatstruktúrák pontos implementációjával. **4. Kódolási kontroll** - A direkt programozásban a programozónak maximális kontrollja van a kód viselkedése felett, ami nagyfokú optimalizálási lehetőségeket ad. - Példa: Kézi ciklusszervezés vagy optimalizálás CPU-regiszterekre. 4. Milyen operációs rendszer csoportosítást adna meg célkitűzések szerint? Mainframe operating systems: VMS Server/Desktop operating systems Single/Multi-processor operating systems Real-time operating systems: safety systems, multimedia Embedded operating systems symbian, embedded linux Smart card operating systems: pico JAVA 5. Írja le a kernel trap lépéseit! Rajzolja le a stack-et utána. Mi válthatja ki? A **kernel trap** egy olyan esemény, amely során a processzor egy **felhasználói módban** futó programtól vagy hardvertől érkező kivételt vagy megszakítást kezel, és ezzel belép a **kernel módba**. Ez lehet például rendszerhívás, hiba (pl. invalid memóriaelérés), vagy hardveres megszakítás. **Kernel trap lépései:** 1. **Esemény bekövetkezése**: - Egy felhasználói program kivált egy olyan műveletet, amelyet a CPU-nak kernel módban kell kezelnie (pl. rendszerhívás, invalid utasítás, osztás nullával, vagy hardveres megszakítás). 2. **Trap azonosítása**: - A processzor megszakítja a futó kódot, és az aktuális futási kontextust (regiszterek, program számláló) elmenti a stack-be. 3. **Privilegizált módra váltás**: - A processzor átvált felhasználói módról kernel módra. Ez egy védelmi mechanizmus, amely lehetővé teszi, hogy a kernel hozzáférjen az érzékeny rendszererőforrásokhoz. 4. **Trap handler címének betöltése**: - A processzor a kivételt vagy megszakítást kezelő **trap handler** (kernel oldali kezelőfüggvény) címét az **Interrupt Descriptor Table (IDT)** alapján megtalálja, és erre ugrik. 5. **Trap kezelés végrehajtása**: - A kernel végrehajtja a trap kezelésére szolgáló kódot: - Kivétel esetén (pl. osztás nullával) hibaüzenet jelenik meg, vagy a folyamat megszakad. - Rendszerhívásnál a kernel végrehajtja a megfelelő műveletet. - Hardveres megszakítás esetén az eszközhöz tartozó megszakításkezelőt futtatja le. 6. **Visszatérés felhasználói módba**: - A kezelő befejezi a munkáját, visszaállítja az elmentett kontextust (pl. regisztereket), és visszaadja az irányítást a felhasználói programnak. **Mi válthatja ki a kernel trap-et?** 1. **Rendszerhívások (syscalls)**: - Amikor egy felhasználói program kernel szintű szolgáltatást kér (pl. fájlműveletek, memóriakezelés). - Pl. read(), write(), open(). 2. **Kivétel (exception)**: - Hibák vagy speciális körülmények a program futása során: - Osztás nullával. - Memória hozzáférési hiba (segmentation fault). - Nem megengedett utasítás végrehajtása. 3. **Hardveres megszakítások**: - Külső hardvereszközök jeleznek a processzornak (pl. billentyűzet, hálózati kártya, vagy óra). 6. Mi ezen belül a dispatch mechanizmus? A **dispatch mechanizmus** a **kernel trap** részeként azt a folyamatot jelenti, amely során a rendszer meghatározza, hogy a trap mely konkrét kezelőfüggvényt kell végrehajtania, és annak végrehajtását elindítja. Ez egy fontos része a kernel működésének, mivel a trap-ek típusától függően más-más műveletet kell végrehajtani. 7. Írjon példákat hardware erőforrásokra, amelyeket az op.rendszernek manege-elnie kell. CPU (Központi Feldolgozó Egység) Memória (RAM) Tárhely (HDD/SSD) Perifériák (I/O eszközök) 8. Mi a virtualizáció? Mondjon 3 példát rá. A **virtualizáció** egy technológia, amely lehetővé teszi, hogy egyetlen fizikai hardveren több logikai (virtuális) erőforrás működjön párhuzamosan. Ez a hardvererőforrások, például a CPU, memória, tárhely vagy hálózat elválasztását jelenti a fizikai szinttől, hogy ezek virtuális formában használhatók legyenek. **3 példa virtualizációra** Virtuális gépek (VM-ek) Konténerizáció Hálózati virtualizáció 9. Milyen különbségek vannak a monolitikus/moduláris(mikro) kernel közt?  A **monolitikus kernel** erőssége a teljesítmény, de a biztonság és stabilitás terén hátrányban van.  A **mikrokernel** megközelítés kisebb és biztonságosabb rendszereket eredményez, de a teljesítmény csökkenése miatt nem minden helyzetben ideális.  A modern operációs rendszerek, mint például a Linux, gyakran **hibrid megközelítést** alkalmaznak, hogy ötvözzék a két architektúra előnyeit. 10. Rajzoljon le egy hálózaton lezajló kernel támogatott, file rendszer elérési sémát. ![A képen szöveg, diagram, képernyőkép, Tervrajz látható Automatikusan generált leírás](media/image2.png) 11. Mi az API és mit jelent? Az **API** az angol **Application Programming Interface** rövidítése, ami magyarul **alkalmazásprogramozási felületet** jelent. Az API egy szabványosított felület vagy szabálykészlet, amely lehetővé teszi különböző szoftverek és rendszerek közötti kommunikációt és együttműködést. Az API-n keresztül egy alkalmazás vagy szolgáltatás funkcióit más programok könnyen elérhetik és használhatják, anélkül, hogy ismerniük kellene a belső működés részleteit. 12. Mi volt a WinNT „nagy" újítása? A Windows NT legnagyobb újítása az új, moduláris és robusztus kernel architektúra volt, amely alapot adott a modern Windows operációs rendszerekhez. 13. Mi az /etc/fstab és az /etc/mtab funkciója? 1\. /etc/fstab Az /etc/fstab fájl a fájl-rendszerek csatolási konfigurációs fájlja, amely megadja, hogy a rendszerindításkor vagy manuálisan mely fájlrendszereket kell csatolni, és hogyan. Funkciója: - Meghatározza a csatolási pontokat és paramétereket. - Lehetővé teszi, hogy a rendszer automatikusan csatolja a fájlrendszereket az indítás során. - Előírja a fájlrendszer típusát, helyét és hozzáférési szabályait. 2\. /etc/mtab Az /etc/mtab fájl a jelenleg csatolt fájlrendszerek dinamikus listája. Ez a fájl futásidőben tükrözi a rendszer aktuális állapotát. Funkciója: - Információt szolgáltat a rendszeren jelenleg aktívan csatolt fájlrendszerekről. - A rendszer vagy a felhasználó által csatolt fájlrendszerek állapotát tartalmazza. - Eszközök, mint például a df vagy a mount, ezt a fájlt használják a csatolási állapotok megjelenítéséhez. 14. Írjon példát egy floppy mount-olására es unmount-olására! Mount-olás: A floppy lemez csatolása egy könyvtárhoz: sudo mount /dev/fd0 /mnt/floppy Unmount-olás: A floppy lemez biztonságos leválasztása: sudo umount /mnt/floppy 15. Írjon példát egy loopback device használatra! root\@red:/home/lev\# dd if=/dev/zero of=vfat\_file count=1000 1000+0 records in 1000+0 records out 512000 bytes (512 kB) copied, 0.008633 seconds, 59.3 MB/s root\@red:/home/lev\# losetup /dev/loop1 vfat\_file root\@red:/home/lev\# mkfs.vfat /dev/loop1 mkfs.vfat 2.11 (12 Mar 2005) Loop device does not match a floppy size, using default hd params root\@red:/home/lev\# mkdir mount\_point root\@red:/home/lev\# mount /dev/loop1 mount\_point root\@red:/home/lev\# ls -l mount\_point/ root\@red:/home/lev\# more /etc/mtab \| grep point /dev/loop1 /home/lev/mount\_point vfat rw 0 0 16. Mi a procfs és a mi a tmpfs, mi a win registry?  procfs: A Linux és más Unix-szerű rendszerek által használt fájlrendszer, amely a rendszer és a folyamatok információit tárolja.  tmpfs: A memóriában tárolt fájlrendszer, amely ideiglenes adatokat tárol, gyors hozzáférést biztosítva.  Windows Registry: A Windows operációs rendszer központi adatbázisa, amely a rendszer és alkalmazások beállításait tárolja. 17. Mi a FUSE? Miért jó? Miért rossz? Írjon legalább egy példát rá. FUSE -- file system in user space A FUSE (Filesystem in Userspace) egy Linux és más Unix-szerű operációs rendszerekben használt technológia, amely lehetővé teszi fájlrendszerek létrehozását a felhasználói térben, anélkül, hogy közvetlenül a kernel módba kellene belépni. Pro: Lehet magas szintű nyelvben is file rendszert írni. (pl perl), mert nem kell nagyon gyorsnak lennie. Biztonságos, mert ha pl. végtelen ciklusba kerül a fájl rendszer, nem rántja magával az egész rendszert Con: Viszonylag lassú Komplikált kernel támogatás kell hozza. SSHFS - SSH Fájlcsatlakozás FUSE segítségével: **Telepítés:** - Ubuntu rendszeren például az SSHFS telepítése: sudo apt-get install sshfs **Távoli könyvtár csatolása:** - Csatoljuk a távoli könyvtárat az SSH-n keresztül egy helyi könyvtárhoz: sshfs username\@remote\_host:/path/to/remote/dir /path/to/local/mountpoint **Leválasztás:** - Ha végeztünk a munkával, leválaszthatjuk a fájlrendszert: fusermount -u /path/to/local/mountpoint 18. Mi a gmail file system és a sshfs? Gmail fájl system: A felhasználónként 15Gb-nyi levelesládát, amelyet a Google biztosít mindenki számára, lehet felhasználni mint egy önálló fájl rendszer, perl-ben írták. SSHFS: ssh segítségével valósít meg egy fájl rendszert. 19. Milyen jelentései vannak a virtuális file rendszernek? Fájl- és fájlrendszer absztrakciója Operációs rendszer fájlrendszer mechanizmus Eszközkészletek és virtuális fájlok kezelése Felhasználói térben létrehozott virtuális fájlrendszerek 20. Mi van a /etc/passwd-ben és mi indokolta a /etc/shadow file használatát?  A /etc/passwd fájl a rendszer felhasználóinak alapvető információit tárolja, mint a felhasználónevek, UID, GID, home könyvtár, és a shell. A jelszavak titkosított tárolása érdekében a jelszavakat nem ebben a fájlban, hanem a /etc/shadow fájlban tárolják.  A /etc/shadow fájl elválasztja a jelszavakat és azok kezelését a nyilvános fájlrendszertől, biztosítva a jelszavak védelmét és biztonságát. 21. Mi a CL és mi az ACL? CL: Capability List (képességi listák) : Minden erőforráshoz felsoroljuk, hogy mely csoportoknak milyen hozzáférésük van. Access control lists (jogosultsági listák): Megadjuk minden csoporthoz, hogy mihez férhet hozzá 22. Egy linux milyen boot lépéseken megy keresztül? 1) Bootloader (lilo vagy grub) betöltése az MBR-ből 2) kernel image betöltése 3) initrd (ram disk) betöltése -- pl. HD kezelő module-okat lehet elhelyezni rajta 4) inittab (events.d) végrehajtása 5) rc.d végig olvasása és végrehajtása 23. Mi a lilo és a grub? LILO: A LILO egy régebbi, egyszerűbb bootloader, amely kézi konfigurációt igényel és nem rendelkezik dinamikus funkcionalitással. GRUB: A GRUB egy modernebb és rugalmasabb bootloader, amely képes automatikusan felismerni az operációs rendszereket és lehetővé teszi a grafikus menük és interaktív beállítások használatát. 24. Mit szabályoz a runlevel? A runlevel a Linux és Unix alapú rendszerekben egy rendszerállapotot jelöl, amely meghatározza, hogy a rendszer milyen szolgáltatásokat és folyamatokat indít el az indításkor. 25. Mi az UDP és a TCP között a különbség? A TCP megbízható, kapcsolat-alapú kommunikációt biztosít, míg az UDP gyors, de nem biztosít megbízhatóságot vagy kapcsolatkezelést. A választás a két protokoll között attól függ, hogy az adott alkalmazásban a sebesség vagy a megbízhatóság a fontosabb. 26. Hogyan nézzük meg egy gép IP és MAC address címét? Linux: - IP cím: ip a vagy ifconfig - MAC cím: ip link vagy ifconfig Windows: - IP cím: ipconfig - MAC cím: ipconfig /all 27. Rajzoljon le egy IP route-olást. IP Route táblák példái: - PC 1 routing tábla: - Cél: 10.0.0.0/24 - Gateway: 192.168.1.1 (Router 1) - Router 1 routing tábla: - Cél: 10.0.0.0/24 - Gateway: 10.0.0.1 (Router 2) - Router 2 routing tábla: - Cél: 10.0.0.0/24 - Gateway: közvetlen kapcsolat (PC 2) - PC 2 routing tábla: - Cél: 192.168.1.0/24 - Gateway: 10.0.0.1 (Router 2) 28. Hogyan állítjuk be egy gép IP címét, routing tábláját, DNS címeit? - Debian/Ubuntu rendszeren: A /etc/network/interfaces vagy a Netplan fájlokat kell módosítani. - RHEL/CentOS/Fedora rendszeren: A /etc/sysconfig/network-scripts/ifcfg-\* fájlokat kell módosítani. 29. Rajzoljon le egy távoli Xservert használó alkalmazás működését. 30. Mi az XDMCP, SMB, cups deamon? XDMCP: Egy protokoll, amely lehetővé teszi a grafikus felület távoli elérését az X Window System-en keresztül. SMB: Egy fájlmegosztási és nyomtatómegosztási protokoll, amelyet a Windows rendszerek és más rendszerek (például Linux) is használnak fájlok és más erőforrások megosztására. CUPS: A Unix-alapú rendszerek nyomtatókezelő rendszere, amely lehetővé teszi a nyomtatók kezelését és megosztását hálózaton keresztül, és támogatja a különböző nyomtatási protokollokat. 31. Jelentkezzen be a moria-ra X11 protokoll támogatással! lev\@red:\~\$ ssh tlevente\@moria.kefo.hu -X tlevente\@moria.kefo.hu\'s password: Linux moria 2.6.15-28-server \#1 SMP Thu Feb 1 16:58:14 UTC 2007 i686 GNU/Linux tlevente\@moria:\~\$ konqueror 32. Mi soft és a hard real time között a különbség? -- Soft realtime: nincsenek valódi garanciák, csak valószínűségi korlátok arra, hogy az előírt ütemezések teljesíthetőek 33. -- Hard realtime: garanciákat ad az ütemezésre 34. Milyen táblázatokat kell manage-elni az op.rendszerben? 1. Folyamat (Process) táblázat 2. Memória (Memory) táblázat 3. Fájl (File) tábla 4. Hálózati (Networking) tábla 5. Felhasználói (User) tábla 6. Hardver (Hardware) tábla 7. Jogosultsági (Permission) tábla 8. Hardver-események és naplózási tábla 35. Mi a Process Location? A process tartalma. Adott folyamat hol található a rendszerben. 36. Mi a PCB és mi a Process Image? Process control block PCB: minden attribútum gyűjteménye. Ez a processz nem ki-swap-elhető része! Process Image: Code, data, stack, segments and attributes. Ez a processz ki-swap-elhető része! 37. Milyen 3 csoportba bontható információkat tartalmaz a PCB? Folyamat állapota és vezérlés (pl. folyamat állapota, CPU regiszterek, program számláló). Memória kezelés (pl. virtuális memória, memória szegmensek). Fájlok és I/O műveletek (pl. nyitott fájlok, I/O műveletek). 38. Mit tartalmaz Proc Image? A proc image tartalmazza a folyamat futtatásához szükséges összes adatot és struktúrát, beleértve a kódot, adatokat, verem (stack) és halom (heap) szegmenseket. 39. Írjon példát fork használatára. Exec használatára. gyermek proc. létrehozása A szülő folyamat számára a visszatérési érték a gyermek folyamat PID-je. A gyermek folyamat számára a visszatérési érték 0. Az exec() használatával egy új programot futtathatunk a folyamatban, felülírva annak előző kódját és adatstruktúráit. exec(char\* programfilename,...) Ez betölti a megadott programot, amely elkezd ugyanabban a process-ben futni. 40. Mit jelent a virtualitás legfontosabb megjelenése egy multitask-os rendszerben. Virtuális memória, amely lehetővé teszi a folyamatok számára a valós memória absztrakcióját. Virtuális CPU, ahol az operációs rendszer időosztással osztja el a CPU erőforrásait. Virtuális fájlrendszer és eszközök, amelyek lehetővé teszik az erőforrások virtuális kezelését és megosztását. Op.sys esetén adatstruktúrák a kernelben státusok, állapot átmenetek kontrol: létrehozás, felülírás, thread létrehozás 41. Milyen lépésekben zajlik egy processz váltás? Interrupt kezelése Mentés Ütemezés Állapot visszaállítása Folyamat folytatása 42. Milyen processzor működési állapotok és címtartományokat ismer? 1. Processzor működési állapotai (CPU modes): a. Kernelszintű állapot (privilegizált mód) b. Felhasználói mód c. Átmeneti állapotok d. Védelem és kódvégrehajtás módok 2. Címtartományok (Address Spaces): e. Fizikai memória címzés f. Virtuális memória címzés g. Felhasználói és kernel memória címzési tartományok h. Stack és heap memória címzése 43. Mi jellemző a kernel és a user végrehajtási módra? 1\. Kernel végrehajtási mód (privilegizált mód) A kernel mode (más néven supervisor mode, privilegizált mód) az a végrehajtási mód, ahol az operációs rendszer magja (kernel) fut, és ahol a processzor teljes hozzáféréssel rendelkezik az összes erőforráshoz, például a memória, a perifériák, a rendszer erőforrásaihoz. 2\. User végrehajtási mód (nem privilegizált mód) A user mode az a végrehajtási mód, amelyben a felhasználói alkalmazások és programok futnak. A processzor ezen módon korlátozott hozzáférést biztosít a rendszer erőforrásaihoz, így megelőzve a felhasználói programok közvetlen beavatkozását a rendszer működésébe. 44. És mód váltása? A módkapcsolás lehetővé teszi, hogy a processzor átálljon a kernel mód (privilegizált) és a felhasználói mód (nem privilegizált) között. 45. Rajzolja le egy processz két thread-jének „thread" állapot diagramját. ![](media/image4.png) 46. Mi az érv és az ellenérv az interrupt tiltásos kölcsönös kizárásos megoldásokra? Érvek (előnyök): Egyszerű megvalósítás Jó megoldás kis rendszerekben Teljes kizárás biztosítása Ellenérvek (hátrányok): Rossz skálázhatóság Túlzott erőforrás-felhasználás Deadlock lehetősége Prioritás inverzió 47. Mi a deadlock? Adjon meg pontos definíciót. Definíció: **Deadlock egy olyan állapot, amelyben több folyamat egymásra várva blokkolják egymást, mivel minden folyamat birtokol valamilyen erőforrást és további erőforrásokat próbál megszerezni, de a szükséges erőforrásokat más folyamatok már birtokolják, és egyik sem tud előrehaladni.** 48. Mi a mutex/monitor/semaphore/sleep-wake? 1\. **Mutex (Mutual Exclusion)** A **mutex** egy egyszerű szinkronizációs mechanizmus, amely lehetővé teszi, hogy csak egy szál férjen hozzá egy adott erőforráshoz vagy kritikus szakaszhoz egy időben. 2\. Monitor A monitor egy magasabb szintű szinkronizációs mechanizmus, amely a mutexet és a feltételes változókat kombinálja, és lehetővé teszi a szálak közötti koordinációt. 3\. Semaphore A semaphore egy általános szinkronizációs mechanizmus, amely a szálak közötti erőforrás-elosztást irányítja. 4\. Sleep-Wake (Alvás-Ébresztés) A sleep-wake mechanizmus a szálak közötti koordináció egy másik típusa, amelyet általában a thread library-k vagy operációs rendszerek kezelnek. 49. Milyen kommunikációs primitívekkel néztük meg a gyártó-fogyasztó probléma megoldásait? A gyártó-fogyasztó problémájának megoldásai során alkalmazott kommunikációs primitívek közé tartoznak: - Mutexek: A közös erőforrások (pl. puffer) védelme. - Szemaforok: A puffer telítettségének és ürességének kezelése. - Feltételes változók: A szálak közötti várakozási és ébresztési mechanizmusok. - Monitorok: A zárak és feltételes változók kombinációja, magasabb szintű szinkronizációval. - Sleep-wake mechanizmusok: A szálak közötti koordináció alvás és ébresztés révén. 50. Milyen gondolati hiba a deadlock-ok tipikus oka? És megoldása? A tipikus gondolati hiba, amely deadlock-hoz vezet, az erőforrások és azok zárolásának nem megfelelő kezelése, különösen a kölcsönös várakozás figyelmen kívül hagyása. A megoldások között szerepelnek a deadlock megelőzésének, felismerésének és megszüntetésének különböző technikái, például a körkörös várakozás elkerülése, az erőforrások előzetes megszerzése, az erőforrások megszüntethetősége és a deadlock felismerése a rendszerben. 51. Mi a TSL? Mi a zárolás változó (Lock)? -A TSL (Test-and-Set Lock) egy atomikus művelet, amelyet az erőforrásokhoz való hozzáférés védelmére használnak. A TSL egyszerre olvassa és állítja be a zár értékét, biztosítva ezzel a szálak közötti szinkronizációt. -A zárolás változó (Lock) egy szinkronizációs mechanizmus, amely lehetővé teszi, hogy egy szál kizárólagos hozzáférést kapjon egy erőforráshoz, és más szálak nem férhetnek hozzá, amíg a zárat fel nem oldják. 52. Mit jelent az, hogy atomi művelet? Az atomi művelet egy olyan művelet, amely teljesen megszakítás nélküli módon hajtódik végre, biztosítva, hogy a végrehajtás során az erőforrások állapota konzisztens maradjon. 53. Mi a Peterson algoritmus trükkje? A Peterson algoritmus trükkje abban rejlik, hogy két egyszerű változót, a flag és a turn változókat használja a kölcsönös kizárás biztosítására két folyamat között, anélkül, hogy bonyolult szinkronizációs mechanizmusokra lenne szükség. 54. Mi az 5 filozófus problémája? És megoldása? Az 5 filozófus problémája egy klasszikus példa a szinkronizációs problémák kezelésére, ahol a cél, hogy biztosítsuk a kölcsönös kizárást és a versenyhelyzetek elkerülését párhuzamos rendszerekben. A problémát többféleképpen is megoldhatjuk: 1. Semáforos megoldás: A filozófusok egyes erőforrásokhoz való hozzáférését szinkronizálja. 2. Két szabály alkalmazása: A filozófusok étkezési sorrendjét biztosítja, hogy elkerüljük a holtpontot. 3. Peterson-algoritmus kiterjesztése: A kölcsönös kizárás és a sorrendiség biztosítása érdekében. 55. Mi a prioritás inverzió? A prioritás inverzió akkor fordul elő, amikor egy alacsony prioritású szál blokkolja egy magas prioritású szál végrehajtását, mert az alacsony prioritású szál birtokában van egy szükséges erőforrásnak. 56. Milyen lépésekben használunk egy több felhasználós operációs rendszeren egy erőforrást?  Erőforrás igénylés: A folyamat kéri az erőforrást.  Erőforrás ellenőrzése: Az operációs rendszer ellenőrzi, hogy az erőforrás elérhető-e.  Erőforrás kiosztása: Ha elérhető, az operációs rendszer kiosztja a kért erőforrást.  Erőforrás használata: A folyamat használja az erőforrást.  Erőforrás felszabadítása: Miután a folyamat befejezte az erőforrás használatát, azt visszaadja.  Erőforrás elérhetőségének frissítése: Az erőforrás ismét elérhető más folyamatok számára.  Erőforrás védelme: Az operációs rendszer biztosítja az erőforrások védelmét és biztonságát. 57. Mi a holtpont definíciója? A holtpont egy olyan állapot, amikor a rendszerben lévő folyamatok egymásra várakoznak, miközben egyikük sem tud előre lépni. Ez a kölcsönös kizárás, tartós birtoklás, várakozás és ciklusos várakozás eredményeként jön létre. 58. Soroljon fel 3 feltételt a Coffman féle 4 feltétel közül, ami a holtpont kialakulásához kell? Kölcsönös kizárás (Mutual Exclusion) Tartós birtoklás (Hold and Wait) Ciklusos várakozás (Circular Wait) 59. Milyen holtpont feloldási lehetőségek vannak? Holtpont megelőzése (Deadlock Prevention) Holtpont elkerülése (Deadlock Avoidance) Holtpont feloldása (Deadlock Recovery) 60. Rajzoljon holtpont helyzetet a Tanenbaum jelölési rendszerével. ??? 61. Mi a megszakítás és a kivételek közötti lényeges különbség? A megszakítások és a kivételek közötti fő különbség tehát abban rejlik, hogy a megszakításokat külső események generálják, míg a kivételek belső hibák vagy problémák következményeként jönnek létre. 62. Mi a signal-okkal kapcsolatos lépések? Signal küldése Signal kézbesítése Signal kezelése Signal fogadása és feldolgozása Signal kezelésének befejezése Signal állapotának vizsgálata (opcionális) 63. Mi a core dump?  A core dump egy fájl, amely a program memóriaállapotát tartalmazza, amikor az váratlan hibával leáll. 64. Milyen típusú processz-eknek szokás SIGHUP-ot üzemszerűen (nem processzus elhaláskor) küldeni? A SIGHUP signal leggyakrabban démonok és olyan háttérfolyamatok (shellek, konf. fájlokat kezelő folyamatok, terminálkezelő prorgamok, proxy szerverek, stb...) számára szokás, amelyeknek az állapotuk frissítésére vagy újraindítására van szükség anélkül, hogy leállnának. 65. Mi a SIGKILL, SIGALARM, SIGUSR1, SIGABORT, SIGFPE? -SIGKILL: Az azonnali és nem visszavonható megszakítás, amelyet a folyamat leállítására használnak. -SIGALRM: Az időzítő által generált signal, amelyet a folyamatok időkorlátok kezelésére használnak. -SIGUSR1: Felhasználói definiált signal, amelyet a fejlesztők saját műveletekhez használnak. -SIGABORT: Hibát jelző signal, amelyet akkor küldenek, ha a folyamat súlyos hibát észlel. -SIGFPE: Lebegőpontos számítási hiba (például osztás nullával) jelezésére használt signal.

Use Quizgecko on...
Browser
Browser