Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.

Hasonló előadás


Az előadások a következő témára: "Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia."— Előadás másolata:

1 Operációs rendszerek 2 Bátfai Norbert nbatfai@inf.unideb.hu http://www.inf.unideb.hu/~nbatfai/ Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia Tanszék egyetemi tanársegéd Dokumentum verzió: 0.0.3, http://www.inf.unideb.hu/~nbatfai/#oshttp://www.inf.unideb.hu/~nbatfai/#os DEIK_MIPPOS2_BN_4.odp Debrecen, 2008. október 6. A 4. előadás és labor anyaga – a MINIX 3 ütemezője Programozó Páternoszter DE IK mérnök informatikus szak előadás és labor

2 Operációs rendszerek előadás Bátfai, Norbert Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék nbatfai@inf.unideb.hu Copyright © 2008 Bátfai Norbert E közlemény felhatalmazást ad önnek jelen dokumentum sokszorosítására, terjesztésére és/vagy módosítására a Szabad Szoftver Alapítvány által kiadott GNU Szabad Dokumentációs Licenc 1.2-es, vagy bármely azt követő verziójának feltételei alapján. Nem változtatható szakaszok: A szerzőről. Címlap szövegek: Programozó Páternoszter, Bátfai Norbert, Gép melletti fogyasztásra. Hátlap szövegek: Belépés a gépek mesés birodalmába. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being: A szerzőről, with the Front- Cover Texts being: Programozó Páternoszter, Bátfai Norbert, Gép melletti fogyasztásra, and with the Back-Cover Texts being: Belépés a gépek mesés birodalmába. Felhasználási engedély A GNU Free Documentation License nem hivatalos magyar fordítása: http://www.gnu.hu/fdl.htmlhttp://www.gnu.hu/fdl.html

3 A negyedik előadás vázlata Bevezetés és elmélet ● A MINIX 3 ütemezője Példák ● A Linux ütemezője Gyakorlat ● MINIX 3 kernel módosításai és fordítások

4 Feladatok Kiemelt otthoni feladat: készítsd el a Tanenbaum könyv 237. oldali 45. feladatának megoldását! „Bizonyítékul” a munkádat bemutató, azt részletesen leíró, pillanatfelvételekel bővített DocBook dokumentumot (és egy abból generált html lapot) (vagy esetleg egy OpenOffice dokumentumot) küldj el nekem az email címemre, az „OS-KIEMELTOTTHONI-OR3-237-45” tárggyal. OR3 237 „Módosítsa a MINIX 3 ütemezőt úgy, hogy az tartsa nyilván, melyik felhasználói processzus mennyi CPU időt kapott legutóbb. Amikor nincs futtatható taszk vagy szerver, válassza azt a felhasználói processzust, amely legutóbb a legkevesebb időt kapta!” Otthoni feladat: készíts olyan debug dump-ot, ami az F3 billentyű lenyomására kilistázza az ütemezési sorok futásra kész processzeinek nevét! „Bizonyítékul” néhány képet küldj el az email címemre, az „OS-OTTHONI-MINIX-SCHED” tárggyal. Kiemelt otthoni feladat: mérő programok segítségével, ugyanazon a gépen hasonlíts össze két rendszert (pl. FreeBSD, GNU/Linux különböző kernel verziók, OpenSolaris, MINIX) rendszert! „Bizonyítékul” a munkádat bemutató, azt részletesen leíró, pillanatfelvételekel bővített DocBook dokumentumot (és egy abból generált html lapot) (vagy esetleg egy OpenOffice dokumentumot) küldj el nekem az email címemre, az „OS-KIEMELTOTTHONI-BENCH” tárggyal.

5 Ismétlés az első félévből: Context switching (környezetváltás) id ő Fut Folyamat_ 1 Folyamat_ 2 Folyamat_ 3 Ütemez ő ● Folyamat_1 állapotának elmentése a PCB1 struktúrába ● … ● Folyamat_2 állapotának betöltése a PCB2 struktúrából ● Folyamat_2 állapotának elmentése a PCB2 struktúrába ● … ● Folyamat_3 állapotának betöltése a PCB3 struktúrából

6 LMBench - Tools for Performance Analysis http://sourceforge.net/projects/lmbench

7 FS, pl. read() MM, pl. fork() Processzuskezelés Rendsz er taszk Lemez taszk Időzítő taszk DD taszkok Felhasználói programok Szerver processzusok User processzusok Ismétlés az első félévből: a MINIX 2 ütemezése USER_Q SERVER_Q TASK_Q USER_Q (2) SERVER_Q (1) TASK_Q (0) OR 157 901925801 4 (fs) 8 (mm) Mindhárom priorítási szinthez külön várakozási sor időzít ő (Round robin) (FCFS)

8 Ismétlés az első félévből: a MINIX3 ütemezése TASK_Q (0) időzít ő kernel/proc.h... #define NR_SCHED_QUEUES 16 /* MUST equal minimum priority + 1 */ #define TASK_Q 0 /* highest, used for kernel tasks */ #define MAX_USER_Q 0 /* highest priority for user processes */ #define USER_Q 7 /* default (should correspond to nice 0) */ #define MIN_USER_Q 14 /* minimum priority for user processes */ #define IDLE_Q 15 /* lowest, only IDLE process goes here */ NR_SCHED_QUEUE S IDLE_Q (15) idle

9 TASK_Q (0) időzít ő IDLE_Q (15) idle Időzít ő taszk Ethernet meghajt ó Lemez meghajt ó Terminál meghajt ó Felhasználói programokInit Processzuskezelé s Megszak., IPC stb. Rendsz er taszk PM szerve r FS szerve r IS szer ver (Terminológia: taszk -> meghajtó) A MINIX3 ütemezése

10 (2)(2) (1)(1) TASK_Q (0) memlog tty clock kernel/table.c (taszk táblázat)... /* process nr, pc, flags, qs, queue,... name */ { IDLE, idle_task, IDL_F, 8, IDLE_Q,... "idle" }, { CLOCK,clock_task, TSK_F, 8, TASK_Q,... "clock" }, { SYSTEM, sys_task, TSK_F, 8, TASK_Q,... "system"}, { HARDWARE, 0, TSK_F, 8, TASK_Q,... "kernel"}, { PM_PROC_NR, 0, SRV_F, 32, 3,... "pm" }, { FS_PROC_NR, 0, SRV_F, 32, 4,... "fs" }, { RS_PROC_NR, 0, SRV_F, 4, 3,... "rs" }, { DS_PROC_NR, 0, SRV_F, 4, 3,... "ds" }, { TTY_PROC_NR, 0, SRV_F, 4, 1,... "tty" }, { MEM_PROC_NR, 0, SRV_F, 4, 2,... "mem" }, { LOG_PROC_NR, 0, SRV_F, 4, 2,... "log" }, { INIT_PROC_NR, 0, USR_F, 8, USER_Q,... "init" }, IDLE_Q (15) idle (3)(3) pmrsds (4)(4) fs USER_Q (7) init... Ismétlés az első félévből: a MINIX3 ütemezése

11 A MINIX3 ütemezése

12 rdy_head[2] rdy_head[1] memlog tty clock rdy_head[IDLE_Q (15)] idle rdy_head[3] pmrsds rdy_head[4] fs rdy_head[USER_Q (7)] init... rdy_head[TASK_Q (0)] rdy_tail[2] rdy_tail[1] rdy_tail[IDLE_Q (15)] rdy_tail[3] rdy_tail[4] rdy_tail[USER_Q (7)]... rdy_tail[TASK_Q (0)] Ütemezési sorok Mutatók a sorok első tagjára Mutatók a sorok utolsó tagjára p_nextready

13 A MINIX3 ütemezése

14

15 rdy_head[q] rp rdy_tail[q] NIL_PRO C

16 A MINIX3 ütemezése rdy_head[q]rdy_tail[q] NIL_PRO C rp

17 A MINIX3 ütemezése

18 Köszönöm a figyelmet Az előadások és a gyakorlatok kölcsönösen, oda-vissza építenek egymásra. Email: nbatfai@inf.unideb.hunbatfai@inf.unideb.hu Skype: batfai.norbert MSN: nbatfai@inf.unideb.hunbatfai@inf.unideb.hu Az óra fóruma: http://forum.inf.unideb.hu/ http://forum.inf.unideb.hu/


Letölteni ppt "Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia."

Hasonló előadás


Google Hirdetések