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

Slides:



Advertisements
Hasonló előadás
Licencelés Kovács Nóra Ker-Soft Kft.
Advertisements

Operációs rendszerek 1. Takács Béla
Az Internet elemei és hozzáférési technológiái Az Internet architektúrája.
Szerkezeti leírás Összetevők és beültetésük Összetevők és beültetésük Általános kiosztás (generic map) Általános kiosztás (generic map) Generate parancs.
Hága Péter ELTE Komplex Rendszerek Fizikája tanszék
A Windows 7 automatizált telepítése Windows AIK használatával
A számítógépi programalkotások jogi védelme
Prog2, Java befejezés Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus
„High – tech networking” – szakmai konferencia informatikusoknak, szeptember 24., Debrecen, Kölcsey Központ,
Prog2, Java a gyakorlatban
Prog1, C++ a gyakorlatban
Prog2, AspectJ bevezetés Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus
UNIX operációs rendszer. UNIX op. rsz. Elsõ változatát 1969-ben készítette Ken Thomson és Dennis Ritchie a AT&T Bell Labratóriumában. A rendszer magját.
Krizsán Zoltán.  Ha az algoritmus sokáig dolgozik,  de el akarjuk kerülni a „fagyást”.  Kisebb a költsége, mint az új folyamatnak.  Programozás szempontjából.
Kliensoldali Programozás
Operációs rendszerek GNU/Linux
Module 1: A Microsoft Windows XP Professional telepítése
Module 6: Troubleshooting the Boot Process and Other System Issues Hibaelhárítás a rendszerbetöltő folyamatban és más rendszer kiadásban.
Operációs rendszerek gyakorlat 3. Gyakorlat Vakulya Gergely.
Ők kerestek meg minket Tentálen – Könyvelő iroda, 15 felhasználó SBS 2003, Outlook levelezés Nincs saját fix ip cím, exchange POP3-al töltötte le a leveleket,
Miért is jók a rétegek?  Ha alkalmazást készítünk, nem akarunk IP csomagok küldésével bajlódni Ethernet keretekkel foglalkozni Implementálni megbízható.
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
Illés Zoltán ELTE Informatikai Kar
PPKE ITK 2009/10 tanév 8. félév (tavaszi) Távközlő rendszerek forgalmi elemzése Tájékoztatás
Weboldalba ágyazott interaktív feladatok GeoGebra módra Papp-Varga Zsuzsanna ELTE IK Média- és Oktatásinformatika Tanszék
Kiss Tibor System Administrator (MCP) ISA Server 2006.
Operációs rendszerek Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
DocBook Hogyan Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
JAX-RS: JAVA API FOR RESTFUL WEB SERVICES. REST ARCHITEKTÚRÁJÚ WEBSZOLGÁLTATÁSOK LÉTREHOZÁSÁRA HASZNÁLJUK. AZ 1.1-ES VERZIÓTÓL KEZDVE A JAX-RS HIVATALOS.
Első magyar EUCIP konferencia Plan modul október 20. Budapest.
Maven és Ant Build eszközök bemutatása
AGILE COCKTAIL – Shaken or stirred HWSW free!
Triggerek gyakorlás.
Elágazások a programban – IF utasítás
Prog2, AspectJ bevezetés
International Olympiad in Informatics
ResearcherID bemutatása
Hálózati rendszerek adminisztrációja JunOS OS alapokon
Témavezető: Dr. Oniga István Fejlesztők: Erdős andrás Zákány józsef
03. GYAKORLAT Szervó motor.
Kutatási célú szakmai ösztöndíj beszámoló
Unix Linux GNU Copyright kriptográfia
Farkas Bálint | Technical Evangelist | Microsoft
Inverter applications
09. GYAKORLAT Beeper.
Szervó motor helyzetének vezérlése potenciométer segítségével
Villogó delay függvény használata nélkül
Lívia Vasas, PhD 2018 Disszertációk Lívia Vasas, PhD 2018.
Vasas Lívia, PhD 2017 DART-Europe E-theses Portal European Portal for the discovery.
„Agilis-e vagy?” – egy váltókezelő naplója
Lívia Vasas, PhD 2018 Disszertációk Lívia Vasas, PhD 2018.
Microsoft SQL licenselés a gyakorlatban
Vasas Lívia, PhD december
Lívia Vasas, PhD 2018 Disszertációk Lívia Vasas, PhD 2018.
egyetemi docens, tanszékvezető, KJE
Dijkstra algoritmusa: legrövidebb utak
Lívia Vasas, PhD 2018 Disszertációk Lívia Vasas, PhD 2018.
Egy lekérdezés végrehajtása
Lívia Vasas, PhD 2019 Disszertációk Lívia Vasas, PhD 2019.
Lívia Vasas, PhD 2019 Disszertációk Lívia Vasas, PhD 2019.
Előadás másolata:

Operációs rendszerek Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia Tanszék egyetemi tanársegéd Dokumentum verzió: 0.0.4, DEIK_MIPPOS_2008tavasz_BN_6.odp Debrecen, május előadás – ÜTEMEZÉS Programozó Páternoszter DE IK mérnök informatikus szak előadás

Operációs rendszerek előadás Bátfai, Norbert Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék 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:

A hatodik előadás vázlata Elmélet ● MINIX ütemezés Példák ● MINIX2 és MINIX3 ütemezés összehasonlítása ● Benchmarkok Gyakorlat ● A gyakorlat javasolt témája

Ism: 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

LMBench - Tools for Performance Analysis

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: a MINIX 2 ütemezése USER_Q SERVER_Q TASK_Q USER_Q (2) SERVER_Q (1) TASK_Q (0) OR (fs) 8 (mm) Mindhárom priorítási szinthez külön várakozási sor időzít ő (Round robin) (FCFS)

Ismétlés: 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 Otthoni feladat: Módosítsd úgy a MINIX3 rendszert, hogy 32 ütemezési sort használjon! „Bizonyítékul” az F9 billenytű nyomására kapott pillanatfelvételt küldj el az címemre, az „OS-OTTHONI-SOROK” tárggyal.

(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: a MINIX3 ütemezése

Kiemelt otthoni feladat: készítsd el a Tanenbaum könyv 168. oldali 39. 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 címemre, az „OS-KIEMELTOTTHONI-OR169-39” tárggyal. OR 169 PIROS PIRULA „Módosítsa a MINIX ü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, amelyik legutóbb a legkevesebb időt kapta.”

Önálló vizsgafeladat: Egészítsd ki (írj a MINIX kernelhez) a MINIX kernelt egy sorsjáték ütemező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 címemre, az „OS-ONALLOVIZSGA-LUTRI” tárggyal.

Diagnosztikai és mérő programok BogoMIP S init/main.c ( től, 1993) /* * linux/init/main.c * * Copyright (C) 1991, 1992 Linus Torvalds */... unsigned long loops_per_sec = 1; static void calibrate_delay(void) { int ticks; printk("Calibrating delay loop.. "); while (loops_per_sec <<= 1) { ticks = jiffies; __delay(loops_per_sec); ticks = jiffies - ticks; if (ticks >= HZ) { __asm__("mull %1 ; divl %2" :"=a" (loops_per_sec) :"d" (HZ), "r" (ticks), "0" (loops_per_sec) :"dx"); printk("ok - %d.%02d BogoMips (tm)\n", loops_per_sec/500000, (loops_per_sec/5000) % 100); return; } printk("failed\n"); } i

BogoMIP S 1994, Jeff Tranter: standalone BogoMIPS bin/bugreport.cgi?bug= BogoMIPS Calculator: $ gcc delay_586.c bogomips.c -o bogomips $./bogomips... $ grep bogo /proc/cpuinfo bogomips : bogomips :

A delay(loops_per_sec); végrehajtásához szükséges idő, legyen pl idő clock(); ticks = clock(); delay(loops_per_sec); ticks = clock() - ticks; azaz a ticks a CLOCKS -ok száma itt. A delay(loops_per_sec); végrehajtásához szükséges idő, legyen most akkor 2 27 idő clock(); ticks = clock(); delay(loops_per_sec); ticks = clock() - ticks; azaz a ticks a CLOCKS -ok száma itt. Tegyük fel, hogy itt a CLOCKS_PER_SEC érték, azaz már átléptük a 2 hatványos ciklusokkal. Fejezzük ki innen a másodpercenkénti ciklusokat: loops_per_sec/ticks = ?/CLOCKS_PER_SEC A BogoMIPS működése

$ strace -f./filoszok >kimenet 2>strace.kimenet execve("./filoszok", ["./filoszok"], [/* 35 vars */]) = 0 brk(0) = 0x804a000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fba000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=60557,...}) = 0 mmap2(NULL, 60557, PROT_READ, MAP_PRIVATE, 3,... [pid 6508] futex(0x8049be0, FUTEX_WAKE, 1 [pid 6510] ) = 0 [pid 6507] futex(0x8049c10, FUTEX_WAIT, 2, NULL [pid 6508] ) = 0 [pid 6510] write(1, "4. filosz ebedel.\n", 18 [pid 6508] futex(0x8049c10, FUTEX_WAKE, 1 [pid 6510] ) = 18 [pid 6508] ) = 1 [pid 6510] futex(0x8049c00, FUTEX_WAKE, 2 [pid 6507] ) = 0 [pid 6508] write(1, "2. filosz ebedel.\n", 18 [pid 6510] ) = 0 [pid 6507] futex(0x8049c10, FUTEX_WAIT, 2, NULL Strace $ strace -cf./filoszok 2. filosz ebedel. 4. filosz ebedel. 1. filosz ebedel. 2. filosz ebedel.... Process 6147 detached Process 6148 detached Process 6149 detached Process 6150 detached Process 6151 detached % time seconds usecs/call calls errors syscall futex write read open close execve access brk munmap clone uname mprotect rt_sigaction rt_sigprocmask getrlimit mmap fstat set_thread_area set_tid_address set_robust_list total

Operációs rendszer mérők ● LMBench - Tools for Performance Analysis

[lmbench3.0 results for Linux norbi-desktop generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux] [LMBENCH_VER: 3.0-a9] [BENCHMARK_HARDWARE: YES] [BENCHMARK_OS: YES] [ALL: 512 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1m 2m 4m 8m 16m 32m 64m 128m 256m] [DISKS: ] [DISK_DESC: ] [ENOUGH: 5000] [FAST: ] [FASTMEM: NO] [FILE: /var/tmp/XXX] [FSDIR: /var/tmp] [HALF: 512 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1m 2m 4m 8m 16m 32m 64m 128m] [INFO: INFO.norbi-desktop] [LINE_SIZE: 32] [LOOP_O: ] [MB: 256] [MHZ: 801 MHz, nanosec clock] [MOTHERBOARD: ] [NETWORKS: ] [PROCESSORS: 2] [REMOTE: ] [SLOWFS: NO] [OS: i686-pc-linux-gnu] [SYNC_MAX: 1] [LMBENCH_SCHED: DEFAULT] [TIMING_O: 0] [LMBENCH VERSION: 3.0-a9] [USER: norbi] [HOSTNAME: norbi-desktop] [NODENAME: norbi-desktop] [SYSNAME: Linux] [PROCESSOR: unknown] [MACHINE: i686] [RELEASE: generic] Gép általános adatai

Simple syscall: microseconds Simple read: microseconds Simple write: microseconds Simple stat: microseconds Simple fstat: microseconds Simple open/close: microseconds Select on 10 fd's: microseconds Select on 100 fd's: microseconds Select on 250 fd's: microseconds Select on 500 fd's: microseconds Select on 10 tcp fd's: microseconds Select on 100 tcp fd's: microseconds Select on 250 tcp fd's: microseconds Select on 500 tcp fd's: microseconds Signal handler installation: microseconds Signal handler overhead: microseconds Protection fault: microseconds Pipe latency: microseconds AF_UNIX sock stream latency: microseconds Process fork+exit: microseconds Process fork+execve: microseconds Process fork+/bin/sh -c: microseconds Rendszerhívásokkal kapcsolatos statisztikák

Simple syscall: microseconds Simple read: microseconds Simple write: microseconds Simple stat: microseconds Simple fstat: microseconds Simple open/close: microseconds Select on 10 fd's: microseconds Select on 100 fd's: microseconds Select on 250 fd's: microseconds Select on 500 fd's: microseconds Select on 10 tcp fd's: microseconds Select on 100 tcp fd's: microseconds Select on 250 tcp fd's: microseconds Select on 500 tcp fd's: microseconds Signal handler installation: microseconds Signal handler overhead: microseconds Protection fault: microseconds Pipe latency: microseconds AF_UNIX sock stream latency: microseconds Process fork+exit: microseconds Process fork+execve: microseconds Process fork+/bin/sh -c: microseconds Rendszerhívásokkal kapcsolatos statisztikák

Fájlrendszer és hálózat mérők ● Tiobench ● Dbench ● Bonnie ● Bonnie+ +

No size specified, using 2000 MB Unit information ================ File size = megabytes Blk Size = bytes Rate = megabytes per second CPU% = percentage of CPU used during the test Latency = milliseconds Lat% = percent of requests that took longer than X seconds CPU Eff = Rate divided by CPU% - throughput per cpu load Sequential Reads fc % fc % fc % fc % Random Reads fc % fc % fc % fc % Sequential Writes fc % fc % fc % fc % tiobenc h

Bonni e $ bonnie Writing with putc()...done Writing intelligently...done Rewriting...done Reading with getc()...done Reading intelligently...done start 'em...done...done...done... Create files in sequential order...done. Stat files in sequential order...done. Delete files in sequential order...done. Create files in random order...done. Stat files in random order...done. Delete files in random order...done. Version Sequential Output Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP norbi-desktop 1G % Sequential Create Random %Create Create-- --Read--- -Delete-- -Create-- --Read--- %-Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP norbi-desktop,1G,11458,99,42729,37,17932,20,13330,96,39708,24,104.7,1,16,783,99, +++++,+++,+++++,+++,760,96,+++++,+++,2992,99...

Kiemelt otthoni feladat: mérő programok segítégével, ugyanazon a gépen hasonlíts össze egy FreeBSD és egy GNU/Linux 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 címemre, az „OS-KIEMELTOTTHONI- BENCH” tárggyal. PIROS PIRULA Kiemelt otthoni feladat: mérő programok segítégével, ugyanazon a gépen hasonlíts össze két különböző kernel verziójú GNU/Linux 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 címemre, az „OS-KIEMELTOTTHONI- BENCH2” tárggyal. PIROS PIRULA

Otthoni feladat: Próbáld ki az alábbi parancsokat és pár mondatban foglald össze a lényegi működésüket! „Bizonyítékul” a leírásod és parancsonként legalább egy példát küldj el az címemre, az „OS-OTTHONI-PARANCSOK3” tárggyal. (Használd a manuál lapokat is, de ne idézz a magyar vagy angol nyelvű manuálból!) ps, top, strace, sar, iostat, vmstat, mpstat, ping, ifconfig, route, traceroute, netstat, tcpdump, host, nslookup. Otthoni feladat: Próbálj ki néhány diagnosztikai és mérő programot! „Bizonyítékul” leírást, rövid értékelést és néhány pillanatfelvételt küldj el az címemre, az „OS- OTTHONI-BENCH” tárggyal.

Tippek a gyakorlatra Végezzünk feladatokat a labor jegyzet fejezete szerint! PP

Köszönöm a figyelmet Az előadások és a gyakorlatok kölcsönösen, oda-vissza építenek egymásra. Skype: batfai.norbert MSN: Az óra fóruma: