Operációs rendszerek



Hasonló dokumentumok
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

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

Operációs rendszerek. Bemutatkozás

Bevezetés az informatikába

Számítógépes alapismeretek

Operációs rendszerek MINB240 V2+2+0

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

Operációs rendszerek MINB240 V kredit KF Nagyváradi Anett 0. előadás Bevezetés

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

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

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

Cloud computing Dr. Bakonyi Péter.

Utolsó módosítás:

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

Hogyan működtethető a telefonrendszer virtuális környezetben? Mészáros Tamás Műszaki fejlesztési vezető

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

Utolsó módosítás:

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

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

Operációs rendszerek. 1. gyakorlat. Bevezetés, követelmények UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Linux alapok és használatuk

UNIX / Linux rendszeradminisztráció

VIRTUALIZÁCIÓ KÉSZÍTETTE: NAGY ZOLTÁN MÁRK EHA: NAZKABF.SZE I. ÉVES PROGRAMTERVEZŐ-INFORMATIKUS, BSC

Operációs rendszerek

Operációs rendszerek. UNIX fájlrendszer

1. Fejezet: Számítógép rendszerek. Tipikus számítógép hirdetés

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

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

Operációs rendszerek Memóriakezelés 1.1

Windows Server 2012: a felhő OS

Számítógép architektúrák. Bemutatkozom. A tárgy címe, célja. Számítógépek, számítási modellek

Operációs rendszerek - bevezető

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

Operációs rendszerek Folyamatok 1.1

1. Fejezet: Számítógép rendszerek

1_Linux_bevezeto_bash

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

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

Osztott alkalmazások fejlesztési technológiái Áttekintés

Operációs rendszerek

Széchenyi István Egyetem

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

Operációs rendszerek gyakorlat

Operációs rendszerek az iskolában

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

Utolsó módosítás:

Bevezetés a számítástechnikába

Operációs Rendszerek II.

Operációs Rendszerek II.

OPERÁCIÓS RENDSZEREK. Elmélet

Operációs rendszerek gyakorlat

Alkalmazások típusai Szoftverismeretek

evosoft Hungary Kft.

ios alkalmazásfejlesztés Koltai Róbert

KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA

Using the CW-Net in a user defined IP network

Operációs rendszerek PMTRTNB230H V kredit. Radó János 0. előadás Bevezetés

Operációs rendszerek. A Windows NT

16F628A megszakítás kezelése

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

Proxer 7 Manager szoftver felhasználói leírás

Operációs rendszerek gyakorlat

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

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

Operációs rendszerek III.

Alkalmazás és megjelenítés virtualizáció

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

Operációs rendszerek Bevezetés 1.1

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Matematikai és Informatikai Intézet. 4. Folyamatok

Operációs rendszerek 2

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

Dr. Schuster György október 30.

Operációs rendszerek gyakorlat

Operációs rendszerek MINB240 V kredit KF Nagyváradi Anett 0. előadás Bevezetés

S z á m í t ó g é p e s a l a p i s m e r e t e k

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Bevezetés. Dr. Iványi Péter

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

SUSE Linux Enterprise Server 12 Hargitai Zsolt

Ez egy program. De ki tudja végrehajtani?

A szoftverfejlesztés eszközei

GNU/Linux alapok és alkalmazásuk

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

Operációs rendszerek MINB240 V kredit KF Nagyváradi Anett 0. előadás Bevezetés

14. Tétel. A kezelt hardvererőforrásoknak része többek között a memória, a processzor, a merevlemez és a perifériális eszközök használata.

Operációs Rendszerek II. labor. 2. alkalom

Komputeralgebra rendszerek

Informatikai rendszerek alapjai (Informatika I.)

Számítógép architektúra

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Dr. Illés Zoltán

UNIX: folyamatok kommunikációja

386 processzor címzés

Utasítások. Üzembe helyezés

(kernel3d vizualizáció: kernel245_graph.mpg)

TI TMDSEVM6472 rövid bemutatása

Non-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel

Informatika szigorlat 21-es tétel: Operációs rendszerek. Operációs rendszerek feladatai

Átírás:

Operációs rendszerek 1. előadás definíciók 2007/2008. I. félév Dr. Török Levente

A tárgy célkitűzése Megismerjük a különböző architektúrák és működtető rendszereket viszonyát a felmerülő problémákat és megoldásaikat Megtanuljuk sokféle standard operációs rendszer készség szintű használatát, de ezek közül különös figyelmet szentelünk a unix kompatibilis rendszerek és ezen belül a linux operációs rendszerre.

Elvárt előismeretek A C/C++ programozás nyelv készség szintű ismerete. Angol nyelv olvasási képessége Számítógép architektúrák II. és a Digitális technika II. tárgyak teljesítése

minimális C/C++ teszt feladatok készítsen programot, ami beolvas egy string et a standard input rol és kiírja standard outputra. készítsen programot, ami lemásol egy bináris illetve egy text file t. készítsen egy programot, ami beolvas egy számot a bemenetről és kiírja képernyőre prím felbontását készítsen programot, amely numerikusan integrál egy olyan polinomot, amelynek a fokszámát és együtthatóit a billentyűzetről kapja meg. készítsen egy programot, ami előállítja, ami megkeresi városok között azt minimális úthosszat, ami minden várost érint. A városok közötti távolságok egy mátrixban vannak letárolva.

példa minimális angol nyelv ismeretére The fopen() function opens the file whose name is the string pointed to by path and associates a stream with it. The argument mode points to a string beginning with one of the following sequences (Additional characters may follow these sequences.): r Open text file for reading. The stream is positioned at the beginning of the file. r+ Open for reading and writing. The stream is positioned at the beginning of the file. w Truncate file to zero length or create text file for writing. The stream is positioned at the beginning of the file. w+ Open for reading and writing. The file is created if it does not exist, otherwise it is truncated. The stream is positioned at the beginning of the file. a Open for appending (writing at end of file). The file is created if it does not exist. The stream is positioned at the end of the file. a+ Open for reading and appending (writing at end of file). The file is created if it does not exist. The initial file position for reading is at the beginning of the file, but output is always appended to the end of the file. The mode string can also include the letter b either as a last character or as a character between the characters in any of the twocharacter strings described above. This is strictly for compatibility with C89 and has no effect; the b is ignored on all POSIX conforming systems, including Linux. (Other systems may treat text files and binary files differently, and adding the b may be a good idea if you do I/O to a binary file and expect that your program may be ported to non Unix environments.) Any created files will have mode S_IRUSR S_IWUSR S_IRGRP S_IWGRP S_IROTH S_IWOTH (0666), as modified by the process s umask value (see umask(2)). Reads and writes may be intermixed on read/write streams in any order. Note that ANSI C requires that a file positioning function intervene between output and input, unless an input operation encounters end of file. (If this condition is not met, then a read is allowed to return the result of writes other than the most recent.) Therefore it is good practice (and indeed sometimes necessary under Linux) to put an fseek(3) or fgetpos(3) operation between write and read operations on such a stream. This operation may be an apparent no op (as in fseek(..., 0L, SEEK_CUR) called for its synchronizing side effect. Opening a file in append mode (a as the first character of mode) causes all subsequent write operations to this stream to occur at end offile, as if pre ceded by an fseek(stream,0,seek_end); call.

minimális szg.arch ismeretek processzor felépítes user/kernel mode (védett/virtuális) címtartomanyok fogalma: virtuális es fizikai címek, címképzés, címterület vedelem memória manager unit regiszterek: (legalább 8086 os szinten: CS,DS,ES,SS, status word) interrupt

Formális követelmények 2 zárthelyi 2 nagy feladat (bash és C programozás) mindegyik kis zárthelyi elfogadott minősítésű teljesítése vizsga

Ajánlott irodalomak A tárgy honlapja: http://gamf.aai.googlepages.com Jegyzet: Dr. Vadász Dénes: Operációs rendszerek, Miskolci Egyetemen Andres S. Tanenbaum Albert S. Woodhull: Operaciós rendszerek unix manual (ld. man parancs gyakorlat) http://www.iit.unimiskolc.hu/~vadasz/geial202 http://www.cab.uszeged.hu/local/doc/unix/orlando/bev.html Szórakozásul: http://www.osnews.com

Ajánlott eszközök Tanszéki linux szerver: ssh val érhető el a moria.kefo.hu címen regisztráció szükséges saját linux egy külön partíción. pl: ubuntu, opensuse, debian, fedora Virtuális gépes megoldások: VmWare ben működtetett linux ok vagy colinux Egyéb: távoli linux szerver (pl. moria) + Cygwin

Melyik op. rendszert használjuk? Windows? drága jogdíj, bonyolult, rosszul tanulmányozható/dokumentáció hiány OS X Apple? kevés van belőle, drága a hw, unix az alapja Linux ingyenes, könnyen megérthető, sok verziója létezik különböző célokra. A koncepciók és problémák azonosak! Mindegyiket lehet POSIX kompatibilis módban programozni!

Mai program Op. rendszerek fejlődése célja, feladatai szerkezeti megoldásai csoportosításai Rendszer hívások (kernel trap) Eset tanulmányok

Futtatás direkt hardware en Felhasználók Software: Utility k Software: működtető rendszer Általános (pl PC) vagy cél hardware (pl. PIC controller). A feladatok dandárját a működtető rendszer végzi Egyszerű alkalmazás gyűjteménnyel operálunk vagy konfiguráljuk, monitorozzuk a működtető rendszeren. Hardware Sokszor ezek egy másik sz.gép segítségen futnak. ilyenkor beágyazott rendszerről beszélünk.

Eset tanulmány: mobil telefon A hardware: CPU: microcontroller (StrongARM) nagy flash memóriával rajta FAT filerendszerrel LCD, billentyűzet Az operációs avagy működtető rendszer feladata user interface elés kommunikáció a control és monitor alkalmazással/berendezéssel (PC) a GSM alrendszer (Texas 5x) felprogramozása Külső eszközzel monitorozható/debug olható a teljes működés

Az operációs rendszer fogalmai feladatai, funkciói Extended virtual machine: 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: 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.)

Történet prehisztórikus próbálkozások Babbage: 1792 1871 analitikai gépek Ada Byron programozó (Lord Byron nővére) Majd a II. világháború és az azt követő fegyverkezési hullám, a hidegháború katalizálja a gépek fejlesztését

1. Generáció 1945 55 Elektron csöves, dugtáblák, lyukkártyák Gépi nyelvű programozás (nem assembly) Nincs OP. rendszer Ugyanaz a működtetője, építője, programozója H Aiken, J. von Neumann, Ecker, Mauchley, Zuse

2. Generáció: 1955 65 (Exploiting Machine Power) Tranzisztorok, kötegelt rendszerek, karakterorientált és szószervezésű gépek. Külön tervezők és építők; karbantartók; operátorok; programozók, felhasználók JOB fogalom Fortran nyelv

2. Generáció folyt. A JOB fogalom: load translate load exec szekvencia, eleinte kézzel, később automatizálva. nem_rezidens loader ez először monitor jellegű, végül: ütemező is Tipikus a kötegelt (batch) feldolgozás

3. Generáció 1965 80 (reducing machine) IC k, multi programming szó orientált, idő osztásos, memória particionálás, spooling software kompatibilitás fogalma az IBM OS360 asánál, PDP 11 microgépek MULTICS(PDP 7 en) > UNIX szabvány LISP, Prolog, PL1, C

4. Generáció 1980 90 (reducing complexity) LSI, VLSI GUI MSDOS/Unix/ VaxVMS, Novell Hálózati op.rendszerek, teljes párhuzamosság server client modell OOP

Ma az op.rendszerek egyre kevésbe architektúra függőek moduláris kernelek (vs. monolitikus) különleges architektúrák, grid, supercomp, OOP technológiák: DCOM, Corba, SW engineering mindenki felhasználó Dominans: linux, windows, desktop: OSX

Csoportosítás célkitűzések szerint Mainframe operating systems: VMS Server/Desktop operating systems Sinlge/Multi processor operating systems Real time operating systems: safety systems, multimedia Embedded operating systems symbian, embedded linux Smart card operating systems: pico JAVA,

További csoportosítások Hardver függőség szerint : Személyi, kis, nagy gépek OS e (?), architektúra független Cél szerint : Általános, vagy speciális célú Processzek, processzorok, felhasználók száma szerint Single, vagy multi tasking, multi processing, multi threading Single, vagy multi user Distributed Időkiosztás szerint : Szekvenciális, kooperatív, vagy beavatkozó; time sharing, real time Memóriakezelés szerint : Valós címzésű, vagy virtuális címzésű I/O és fájlrendszer megvalósítás szerint

Feladatok: Resource management Nem létezik ideális memória: gyors, olcsó, táp nélkül is emlékszik ezért a dilemma:a sebesség vs méret

Feladatok: Resource management Memória management Feladat a processzek memória igényének kielégítése és processzek egymástól való védelme

Feladatok: Resource management Processzek és viszonyaik: szülő és gyermek példa: filemanager alkalmazás alfeladatok (szálak) Feladat a hierarchikus viszonyban lévő processzek manage elése

Feladatok: Resource management Dead lock (holt pont vagy halálos ölelés) Feladat ezeket a helyezeteket elkerülni vagy feloldani.

Feladatok: Resource management Az erőforrások: memória: szabadterület menedzselése MMU/virt.memswap disk: szabadterület menedzselése, filerendszer periféria: sorban állások, prioritások cpu,dma: időosztások, prioritások A feladatok: mindenki kapjon hozzáférést (no starving) védelmet biztosítson a különböző aktorok között prioritásokat lehessen megvalósítani

Feladatok: Responding machine Kernel Application Programming Interface = rendszer hívások: fájl rendszerhez: fopen, fclose process kezelés: fork, waitpid, időzítések: time, delay inter process communication (IPC) primitívek Minden kernel API hívás egy Kernel Trap et eredményez

Processor modes Kernel (supervisor) mode egy processzor flag szabályozza a módot. privilégizált utasításokat is végre lehet hajtani periféria I/O terület elérés lehetséges User mode (protected) korlátozott utasítás végrehajtás korlátozott/felügyelt memória címterület elérés Átjárás a két mód között: system call = kernel trap

Példa egy Kernel trap re Példa: 1 4. fopen() hívás, paraméterek stack re rakása 5. paraméter átalakítás + rendszerhívás (pl. syscall() / ioctl() fv ek) 6. belépés a kernelbe, ott hívás szétosztás: DISPATCH 8. végrehajtás, visszatérési érték visszaírás 9. visszatérés a user space re

Kernel trap hívás történhet direkt hívással: user space ről (ezt láttuk az előbb) vagy kernel space ről. A kellemes interface elest standard library k ún. Run Time Library k biztosítják. Pl. a fopen() fv t. Linux ban ennek a neve a glibc. HF: utánanézni hogy néz ki egy függvényhívás után a stack HF: utánanézni mi is a linkelés. HW Megszakítással ( interrupt ). Lehet hw és sw interrupt is. HF: utánanézni, hogy milyen lépéseken keresztül történik (digit II) HW kivételes esemény ( exception ). HF: mi is ez és hogyan működik, mi történik ( C++ )

Interface ek Alkalmazás Run Time Library programozói API kernel API Op Sys kernel SPI Hardware API Application Programming Interface SPI Service Provider Interface

Buzz word: Virtualizáció Elhiteti velünk, hogy egy rendszerben egyedül vagyunk: amikor programozunk v. használjuk a rendszerünket nem kell különösen figyelni arra, hogy más user ek, programok is használják az erőforrásokat. Nem kell figyelni a velük való együttműködésre. Nem kell kooperat Standardizált környezetet jelent: mindenki aki a rendszerben van ugyanazt az interface t használja. nincsenek különbségek az egyes felhasználók között, egyes software ek között.

Buzz word: Virtualizáció Szintjei: program kódban: thread, process (shell) szolgáltatásokban: devices (/mnt/..), virtual filesystems (shfs, nfs), net services koncepcionális szinten: javavm, iframe kernel & file system: xen, vmware, qemu éasf Külső kontroll és monitor eszközök kellenek hozzá

Kernel struktúrák Monolitikus kernel induláskor betöltődik a teljes kernel, ami meglehetősen sok feladatot lát el. A komponensek között nincsenek alá fölé rendelési viszonyok és hatásköri kérdések. Gyors. Könnyű, de veszélyes a fejlesztése. Példa Win NT, régen a Linux kernel is ilyen volt. Mikro kernel (moduláris): Egy kicsi mag, minden egyéb user space en, de legalábbis szeparált területen fut. Ilyenre emlékeztet a win NT. Biztonságos a fejlesztése, mert egy user space hiba nem rantja magával a teljes OS t, viszont a sok kernel trap drága művelet ezért lassú.

Kernel struktúrák Hibrid: fentebbi kettő kombinációja. Rétegzett kernel: (kihalt) pl. The OS A Linux kernel e hibrid, moduláris, kliens szerver. Lásd: Tanenbaum és Linus vitája: http://people.fluidsignal.com/~luferbu/misc/linus_vs_tanenbaum.html

Esettanulmányok Windows NT Újdonság!

Esettanulmányok

Pl. filemanager Pl. ilyen egy kernel által támogatott távoli fájl rendszer (NFS) elérés

Összefoglalás Definíciók Problémák, feladatok, szolgáltatások Struktúrák Kernel trap That's all folks for today

Ellenőrző kérdések Írja le az operációs rendszer funkcióit? Sorolja fel a operációs rendszerek generációit. Mi a direkt programozás? Milyen operációs rendszer csoportosítást adna meg célkitűzések szerint? Írja le a kernel trap lépéseit! Rajzolja le a stack et utána. Mi válthatja ki? Mi ezen belül a dispatch mechanizmus? Írjon példákat hardware erőforrásokra, amelyeket az op.rendszernek manege elnie kell. Mi a virtualizáció? Mondjon 3 példát rá. Milyen különbségek vannak a monolitikus/moduláris(mikro) kernel közt? Rajzoljon le egy hálózaton lezajló kernel támogatott, file rendszer elérési sémát. Mi az API és mit jelent? Mi volt a WinNT nagy újítása?