Operációs rendszerek. Az NT folyamatok kezelése

Hasonló dokumentumok
Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Előadás_#11. Előadás_11-1 -

Operációs rendszerek III.

Operációs rendszerek. Az NT memóriakezelése

Operációs rendszerek. A Windows NT felépítése

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

Operációs rendszerek. Windows NT. A Windows NT

Operációs Rendszerek II.

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

(kernel3d vizualizáció: kernel245_graph.mpg)

UNIX ütemezése. Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. Algoritmus követelményei. UNIX ütemezés jellemzése

Konkurens TCP Szerver

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Operációs rendszerek. A Windows NT

Matematikai és Informatikai Intézet. 4. Folyamatok

Operációs rendszerek MINB240 UNIX, Windows NT ütemezése Holtpontkezelés. UNIX ütemezése. Algoritmus követelményei. 4.

Párhuzamosság a modern operációs rendszerekben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Utolsó módosítás:

Operációs rendszerek Folyamatok 1.1

Előadás_#12. Előadás_12-1 -

Utolsó módosítás:

Operációs rendszerek. Bemutatkozás

Operációs rendszerek

Az operációs rendszer szerkezete, szolgáltatásai

386 processzor címzés

UNIX: folyamatok kommunikációja

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Windows Windows Server

Operációs rendszerek MINB240

Rootkitek. Előadó: Barta Csaba

A Windows NT tulajdonságai. Operációs rendszerek. Az NT története. Az NT története. Az NT felépítése. Az NT felépítése

SAP vállalatirányítási rendszer alapjai

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Iman 3.0 szoftverdokumentáció

Automatikus vírusvédelmi megoldások az Interneten

Dr. Schuster György október 30.

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

Concurrency in Swing

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Operációs rendszerek

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Előadás_#02. Előadás_02-1 -

Elosztott rendszerek

OPERÁCIÓS RENDSZEREK. Célkitűzések, tárgyfelépítés. Módszerek. OS fogalom, struktúrák. 2005/2006. tanév II. félév Dr. Vadász Dénes

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Windows ütemezési példa

Hálózati operációs rendszerek II.

Operációs rendszerek II. jegyzet

Gyakorlat #6. Gyakorlat_06-1 -

Operációs Rendszerek II.

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák

Informatikai rendszerek alapjai (Informatika I.)

Grayteq. Grayteq DLP Teljesítmény Benchmark. Grayteq DLP Benchmark. Sealar Corporate Proprietary Commercial-in-confidence

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread

Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve őszi félév első zhval bezárólag.

Ú J B E L É PŐK RÉSZÉRE NYÚJTOTT

Tartalomjegyzék. Előszó... 10

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Felhasználói kézikönyv - Android kliens

ETR Kliens installálás

3Sz-s Kft. Tisztelt Felhasználó!

Mértékegységek a számítástechnikában

Kommunikáció. 3. előadás

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL

Virtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1

Dr. Mileff Péter

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

UNIX operációs rendszer bemutatása. A UNIX története, fejlesztésének céljai.

Operációs rendszerek. UNIX fájlrendszer

Utolsó módosítás:

ClicXoft programtálca Leírás

Operációs rendszerek. 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor)

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter

Könyvtári címkéző munkahely

eszemélyi Kliens Szoftvercsomag

KIRA. KIRA rendszer. Telepítési útmutató v1

Virtualizáció. egy hardveren több virtuális rendszer működik egyszerre, virtuális gépekben futó önálló vendég (guest) operációs rendszerek formájában

Windows Windows Server

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Sony Ericsson P910i BlackBerry Connect telepítési segédlet

Podoski Péter és Zabb László

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

eszemélyi Kliens Szoftvercsomag

eszemélyi Kliens Szoftvercsomag Telepítési Útmutató

A ChipScope logikai analizátor

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

Számítógépes munkakörnyezet II. Szoftver

Oralce kliens installálása Windows Server 2003-ra

Alkalmazások típusai Szoftverismeretek

Programozási nyelvek és módszerek Java Thread-ek

Az informatika alapjai. 10. elıadás. Operációs rendszer

Operációs rendszerek. UNIX/Linux fájlrendszerek

ClusterGrid for Windows

Átírás:

Operációs rendszerek Az NT folyamatok kezelése

Folyamatok logikai felépítése A folyamat modell: egy adott program kódját végrehajtó szál(ak)ból és, a szál(ak) által lefoglalt erőforrásokból állnak.

Folyamatok logikai felépítése Az NT folyamat modelljéhez tartozó elemek: a végrehajtandó program kódja és adatai, a folyamat által használható virtuális memória címtér, rendszererőforrások, amelyeket az OPR foglal le a folyamatnak (pl.: szemaforokat, file-okat), a folyamat egyedi azonosítója (process ID, PID), legalább egy végrehajtható szál, amely ütemezésre kerül.

Szál fogalma A szál fogalmának gyakorlati meghatározása: a szál az a végrehajtható program egység (entitás) az NT-ben, amit az ütemező végrehajtásra a processzorra ütemezhet.

Szál környezet: Szálak komponensei végrehajtó processzor regiszterei (processzor állapota), két veremtár (stack): a kernel illetve felhasználói módokhoz, kizárólagosan használható tárterület a DLL-ek, és runtime könyvtárak számára. A szál egyedi azonosítója a thread ID. (Thread ID-t és a process ID-t azonos névtérből választja ki.)

Folyamatok és szálak viszonya Az adott folyamathoz tartozó szálak: közös virtuális címtartományt használnak, és osztoznak az erőforrásokon. A folyamatok: külön címtartományt használnak, átfedés csak kommunikáció esetén lehetséges.

Erőforrások használata Használat előtt foglalás szükséges. Ezeket az NT objektumokként reprezentálja. Az objektum megnyitása után, a folyamat egy ún. handle-t kap, hogy gyorsabban elérhesse az adott erőforrást.

A rendszer erőforrásainak védelme Elérési token-nel (access token). Tartalma: a folyamat biztonsági azonosítója, a folyamat jogosultságainak leírását.

Folyamat logikai modellje folyamat elérési token virtuális memória a leíró virtuális memória leíró virtuális memória leíró virtuális címtér leírás handle táblázat handle objektum handle objektum handle objektum szál szál elérési token szál

Folyamatok típusai Alrendszerhez tartozás alapján: POSIX (POSIX.EXE), OS/2 1.x (OS2.EXE), Win32: Win32 közvetlenül futtatható az.exe, Win16 (NTVDM.EXE), MS-DOS:.EXE,.COM,.PIF (NTVDM.EXE), MS-DOS:.BAT,.CMD (CMD.EXE).

Folyamatokat leíró adatszerkezetek

Folyamatok leírása az Executive Folyamat leírás: rétegben folyamatblokkban (EPROCESS): kísérő adatok és mutatók a kapcsolódó adatstruktúrákra, a rendszer címterében helyezkedik el. folyamatkörnyezeti blokk (Process Environment Block, - PEB): a futási környezetet írja le, a folyamat címterében van, mert a tartalmát a felhasználói módban futó kód is megváltoztathatja.

Szálak leírása az Executive Szálak leírása: rétegben executive szálblokk (ETHREAD): a rendszer címterében helyezkedik el. szálkörnyezeti blokk (Thread Environment Block, - PEB): a folyamat címterében van, mert a tartalmát a felhasználói módban futó kód is megváltoztathatja.

Win32 alrendszer Ezen alrendszer is kezel egy folyamatleíró (szálleíró) adatstruktúrát (W32PROCESS), minden olyan folyamatról (szálról), amely a Win32 kódot hajt végre.

Folyamatokat és szálakat leíró adatszerkezetek Folyamatkörnyezeti blokk Szálkörnyezeti blokk Folyamat címtere Rendszer címtere Folyamat blokk (EPROCESS) Win32 folyamat blokk Handle tábla Szál blokk (ETHREAD)

Folyamat létrehozása Folyamat létrehozása (rendszerhívással): CreateProcess() függvény meghívásával, a több fázisú megvalósítást, az OPR 3 részlete oldja meg. Így: a Win32 kliens-oldali könyvtárából a KERNEL32.DLL, a Windows NT executive, a Win32 alrendszer folyamat (CSRSS).

Alrendszerek folyamatkezelése Windows NT: több környezeti alrendszer, az executive réteg processz objektumának kezelése (minden alrendszer használhatja), elválasztva a Win32 folyamat létrehozási tevékenységtől.

A Win32 CreateProcess() főbb lépései I. A folyamaton belüli végrehajtandó image-file (.EXE) megnyitása. A Windows NT executive processz objektumának létrehozása. A kezdeti szál létrehozása. A Win32 értesítése az új processzről. (Felkészülhessen az új processzre és szálra.)

A Win32 CreateProcess() főbb lépései II. A kezdeti szál végrehajtásának elindítása. Az újonnan létrehozott processz és szál környezetben a címtér inicializálása (pl. a szükséges DLL-ek betöltése). A program végrehajtásának elkezdése.

A folyamat prioritásának a meghatározása CreateProcess() hívásakor megadható. CreateProcess() hívásakor egynél több prioritási osztály is specifikálható: az NT a processzhez automatikusan a legalacsonyabb prioritási osztályt rendeli. Ha nincs prioritási osztály specifikálva: az új folyamat a Normal prioritási osztályba kerül.

Desktop kiválasztása Grafikus környezet (desktop) alkalmazás: ablak nyitás. Minden ablakot egy desktop-hoz rendel a rendszer. CreateProcess(): desktop megadása. Ha nincs desktop definiálva: automatikusan a hívó aktuális desktop-jához rendelődik.

Szálak kezelése az NT-ben Windows NT szál: Executive szál blokk (ETHREAD): rendszer címtartományában található. Szálkörnyezeti blokk: a folyamat címtartományában. Win32 alrendszer folyamata: szálleíró adatstruktúra.

Az executive szál blokk felépítése Kernel szál blokk (KTHREAD) Létrehozási és kilépési idők Processz azonosító EPROCESS Szál handle Elérési token Megszemélyesítési információ LPC üzenetek leírása Timer információ Függőben lévő I/O kérések

Kernel szál blokk (KTHREAD) Adatok, amit a kernel használ: a szálütemezéshez, és a szinkronizációhoz.

Szál létrehozása (CreateThread() hívás) Szál életciklusának kezdete: 1. Folyamat kérése a executive réteghez. 2. Processzkezelő (process dispatcher): 3. hely foglalás a szálobjektum számára, 4. kernel meghívása, a kernel szál blokk (KTHREAD) kezdeti értékeinek beállítása miatt.

CreateThread() végrehajtása (KERNEL32.DLL) I. 5. Felhasználói módú stack létrehozása a folyamat címterében. 6. Kezdeti értékek beállítása a szál hardver kapcsolataihoz. 7. NtCreateThread() függvény hívása: az executive szál objektum létrehozása, ezen utasításokat kernel módú komponensek hajtják végre, az executive, és a kernel.

CreateThread() végrehajtása (KERNEL32.DLL) II. 8. Win32 alrendszer értesítése az új szálról, a Win32 alrendszer beállításokat végez az új szál részére. 9. A szál összetett elérési címe (handle) és azonosítója (amik a 3. lépésben lettek generálva) visszaadódik a hívónak. 10. A szál olyan állapotba kerül, hogy ütemezni lehet a végrehajtását.