Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Ütemezés a Windowsban dr. Micskei Zoltán

Slides:



Advertisements
Hasonló előadás
Windows Virtualizáció
Advertisements

A program a „Tudáshasznosulást, tudástranszfert segítő eszköz-, és feltételrendszer kialakítása, fejlesztése a Műegyetemen” (TÁMOP /1/KMR )
Grafikus felhasználói felület Windows alatt
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
64 bites architektúra, csapdák és átjárók Tóth Sándor Terméktámogatási tanácsadó.
Erőállóképesség mérése Találjanak teszteket az irodalomban
Hálózati architektúrák
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar VET Villamos Művek és Környezet Csoport Budapest Egry József.
- Virtualizációt az asztalra!
2 Forrás: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000.
Operációs rendszerek 1. Takács Béla
Windows Server Hyper-V R2 SP1 újdongságok
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Micskei Zoltán Előadások:
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Micskei Zoltán Előadások:
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék dr. Micskei Zoltán Biztonsági.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék dr. Micskei Zoltán Operációs.
A Windows operációs rendszer
Linux ütemezés  Sokszor változott az évek folyamán  Az alap ütemező egyszerű volt  Prioritásos, futási sorok, RR…  2.4 verzió: O(n) ütemező o (következő.
Feladatok együttműködésének ellenőrzése
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Alkalmazás és megjelenítés virtualizáció Micskei Zoltán.
Ütemezési algoritmusok (FCFS, SJF, RR)
Virtuális méréstechnika 12. Óra Karakterisztikák mérése November 21. Mingesz Róbert v
Mérés és adatgyűjtés laboratóriumi gyakorlat levelező 4. Óra Karakterisztikák mérése November 23. Kincses Zoltán, Mellár János v
A diákat jészítette: Matthew Will
BE KI Perifériák Számítógép.
Microsoft Virtual PC 2007 Beszerzés, telepítés
OCLC Online Computer Library Center. Tartalom 1. Könyvtárközi kölcsönzés 2. Adatbázisokban szereplő dokumentumok címlistája 3. Adatbázisokban szereplő.
Az operációs rendszerek
Folyamatok ütemezése a UNIX-ban
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
Pázmány - híres perek Pázmány híres perek.
Átállás.
Virtualizáció Számítógép architektúrák I. Gyakorlat Radó János.
Virtualizáció Számítógép architektúrák I. Gyakorlat Radó János.
6. Előadás Merevítő rendszerek típusok, szerepük a tervezésben
Darupályák tervezésének alapjai
1 Operációs rendszerek Az NT folyamatok kezelése.
1 Operációs rendszerek Az ütemezés megvalósítása.
1 Operációs rendszerek Signal kezelés. 2 SIGNAL kezelés Egyszerű folyamatok közötti kommunikációs (IPC – Inter Process Communication) megoldás. A signal.
dr. Szalkai István Pannon Egyetem, Veszprém
Windows Server 2012 Kiadások, licencelés, lehetőségek
Demo/teszt környezetek Szerver konszolidáció Adatközpontok alapja.
HibatűrésBiztonság 7 Virtuális gépek mozgatása 3 Hyper-V skálázhatóság 1 Kibővített tárolási lehetőségek 2 Rendelkezésre állás 4 Hyper-V network switch.
Programrendszer 2. Erőforrás – erőforrás elosztás 3. Indítja és ütemezi a programokat 4. kommunikáció 2 Takács Béla.
Takács Béla Operációs rendszerek 2.. „Néhány” fontos operációs rendszer EgyfelhasználósTöbbfelhasználós DOS (Microsoft)UNIX MS-DOS (Microsoft)LINUX.
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Számítógépes üzemmódok
szakmérnök hallgatók számára
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke MIKROELEKTRONIKA, VIEEA306 Integrált áramkörök: áttekintés,
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Operációs rendszerek Balogh Zoltán PTE-TTK IÁTT Operációs rendszerek feladatai és csoportosításuk.
Mi a NetBSD? A projekt 1993 áprilisában jött létre a megrekedt 386BSD folytatásaként és ebből adódóan a legrégebbi ma is aktívan fejlesztett teljes értékű,
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szondázás alapú diagnosztika 1. Autonóm és hibatűrő információs.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Alkalmazás és megjelenítés virtualizáció Micskei Zoltán.
Magas rendelkezésre állású Hyper-V rendszer építése
Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
> aspnet_regiis -i 8 9 TIPP: Az „Alap” telepítés gyors, nem kérdez, de később korlátozhat.
Webfejlesztés, Internet Explorer 10 Komjáthy Szabolcs
2. Operációs rendszerek.
Mikroprocesszorok (Microprocessors, CPU-s)
SQL Server 7 installálása. A szükséges hardver és szoftver Processzor Memória Háttértár OS Hálózat Kliensek.
Piramis klaszter rendszer
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- hálózatok dr. Herdon Miklós dr. Kovács György Magó Zsolt.
Kiss Tibor System Administrator (MCP) ISA Server 2006.
Operációs rendszerek Az operációs rendszerek működésének alapfogalmai.
Párhuzamos programozás
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
Hálózati architektúrák
Előadás másolata:

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Ütemezés a Windowsban dr. Micskei Zoltán Operációs rendszerek (vimia219)

Copyright Notice  These materials are part of the Windows Operating System Internals Curriculum Development Kit, developed by David A. Solomon and Mark E. Russinovich with Andreas Polze  Microsoft has licensed these materials from David Solomon Expert Seminars, Inc. for distribution to academic organizations solely for use in academic environments (and not for commercial use)   © David A. Solomon and Mark Russinovich 2

Az alapfogalmak Windowson Szál Címtér Erőforrások Biztonsági token Memória Folyamat Program futó példánya Végrehajtási környezet CPU Ütemezés egysége 1 1..n 3

DEMO Kernel debuggerben:  !peb  dt nt!_EPROCESS (dt: display type)  dt nt!_KPROCESS  !teb  dt nt!_ETHREAD  dt nt!_KTHREAD Folyamat és szál struktúrák 4

Ütemezési alapelvek  Preemptív ütemező (kernel és user módban is!)  32 prioritási szint o Legmagasabb prioritású szál fut mindig o Azonos prioritásúak között Round Robin  A szálak adott ideig futnak (quantum)  Nincs mindig futó központi ütemező, ütemezést események indítják  Szálak prioritása változhat a futás során 5

Ütemezés életbe lépése Preemption: magasabb prioritású futásra kész lesz Preemption: magasabb prioritású szál futásra kész lesz Futó szál befejezi a futást Futó szál quantumja véget ér 6 Várakozni kezd a futó szál erőforrásra vagy eseményre

Prioritási szintek (kernel) 16 “real-time” szint 15 dinamikus szint Idle szál(ak) i 15 1 Nem igazi valós idejű, csak nincs prioritási szint változtatás OS változtathatja a prioritást futás közben Ha nincs futásra kész, üres idő számlálására 7

Prioritási szintek (Windows API, GUI) Realtime High Above Normal Normal Below Normal Idle Prioritási szintek neve Prioritás értéke 8

Windows API vs. kernel prioritások  Szálak: 7 féle relatív prioritás  Leképezés: 9

I/O prioritás  Vista kernel módosítás  5 féle prioritás az I/O kéréseknek, pl. o Critical: Dirty page writer o Low: Desktop search indexer  I/O sávszélesség foglalás 10

DEMO  „Heat map”  Újratervezés telemetria alapján, pl. o 32%: kill process  Csoportosítás  „Friendly name” Windows 8 feladatkezelő 11

DEMO  Feladatkezelő o Prioritás beállítása Prioritás állítása 12

Várakozási sorok – kész szálak 13

Quantum  Quantum: RR ütemezésnél az időszelet  Óra megszakításban mérik (clock interval, clock tick) o 1 clock tick = ~ ms (Windows 8 előtt) o 1 clokc tick = 0.5–15.6 ms között dinamikusan változhat  Quantum tárolása: “3 * clock tick száma” o Hogy lehessen törtrészt is könnyen levonni  Futó szál quantumja 3-mal csökken minden óraütéskor (~ Vista előtt) 14

Quantum hossza ShortLong Variable Fixed18 36 Adjust for programs Background services  Kliens (XP, Vista, Win7):  2-6 clock tick  előtérben lévő programnak hosszabb  Szerver  Hosszabb quamtumok  Mindenkinek 12 clock tick 15

DEMO  Clockres.exe o Clock tick hossza  Változó hosszú quantumok vizsgálata  Perfmon: o Végrehajtási szálak / Szálállapot o Perfmon saját szálai  Windows Performance Analyzer o Timeline by Process, Thread nézet Quantum hossza 16

Tartalom  Windows ütemezés alapjai  Windows 8: Windows Store alkalmazások  További ütemezési feladatok 17

Windows 8: új alkalmazásmodell  Tervezési célok: o Alacsony fogyasztás és erőforrás-használat o Könnyebb telepítés és frissítés o Megbízhatóbb működés, szeparált alkalmazások o…o…  Megoldás: o Új API: WinRT (lásd korábbi előadás) o Alkalmazásbolt: Windows Store o Új életciklus az alkalmazásoknak o…o… 18

Windows Store alkalmazás életciklusa 19 Felhasználó átvált másik alkalmazásra. OS automatikusan felfüggeszti. Alkalmazás elmentheti az állapotát. Felhasználó átvált másik alkalmazásra. OS automatikusan felfüggeszti. Alkalmazás elmentheti az állapotát. Nem kap semmi CPU-időt. OS bármikor terminálhatja Nem kap semmi CPU-időt. OS bármikor terminálhatja Ha volt elmentett állapota, azt vissza lehet töltenie. Forrás: Terminating

DEMO  Windows Store  Váltás Windows Store alkalmazások között  Process Explorer: Suspended állapot Windows Store alkalmazások 20

Tartalom  Windows ütemezés alapjai  Windows 8: Windows Store alkalmazások  További ütemezési feladatok 21

Prioritás módosítása Várakozás végén prioritás növelés (de a quantum csökken eggyel) Quantum végén prioritást csökkenti szépen vissza az eredetire Adjunk esélyt annak, akinek most ért véget a várakozása! 22

Éhezés elkerülése  Az OS másodpercenként megnézi a futásra kész szálakat  Aki nem futott már 300 óraütés óta, annak o 15-ös prioritást ad, o megnöveli a quantumját, o egy quantumnyi futásig. o (15-nél nagyobb prioritású szálakra nem vonatkozik) 23

Symmetric Multiprocessing (SMP)  Minden CPU egyenrangú o Közös memória címtér o Megszakításokat bármelyik CPU kiszolgálhatja  CPU-k maximális száma a registry-ben tárolva  Implementációs limit (bitvektor hossza): o 32 processzor 32-bites rendszereken o 64 processzor 64-bites rendszereken  Windows 7 / Server 2008 R2 o Logikai processzor csoportok o 4 * 64 CPU támogatása o NUMA támogatás Memory I/O CPUs L2 Cache SMP 24

Multiprocesszoros ütemezés  Szálak bármelyik CPU-n futhatnak, de o Megpróbálja az OS ugyanazon a CPU-n tartani (“soft affinity”) o Beállítható, hogy melyiken futhat (“hard affinity”)  Elosztott (nincs “master processor”) o Bármelyik CPU bármelyik futását megszakíthatja  Ütemezési adatok tárolása: o Windows Server 2003 előtt: rendszerszintű futásra kész sorok o Windows Server 2003-től: CPU-nkénti sorok 25

Hard Affinity 26

Windows 7 módosítások  Core Parking (szerver) o Minél kevesebb logikai CPU használata o Nem használt socketek standby üzemmódba  Time coalescing o Azonos periódusú időzítők összevonása  Dynamic Fair Share Scheduling (DFSS) o Remote Desktop szerverekhez o Minden munkamenet „CPU keretet” kap o Ha elhasználja, csak idle CPU-t kaphat  Globális zárak megszüntetése 27

Összefoglalás  Folyamat ↔ Szál  Ütemezés: o Prioritási szintek o Prioritáson belül RR: quantum 28

Olvasnivaló  Technet Magazine. „Inside the Windows Vista Kernel”, 1. rész CPU„Inside the Windows Vista Kernel o Cycle Counting o Multimedia Class Scheduler o I/O Priority  Mark Russinovich. „Windows 7 and Windows Server 2008 R2 Kernel Changes”, TechEd 2009„Windows 7 and Windows Server 2008 R2 Kernel Changes  Building Windows 8. „Improving power efficiency for applications”, 2012Improving power efficiency for applications 29