Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
1 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Operációs rendszerek PMB1206 Dr. Bajalinov Erik
NyE MII 2016-201* (ahol *=7,8,9)
Félévi tematika
Hét Előadás Gyakorlat
1 Bevezetés, történet, fajták, strukturák MS-DOS alapok
2 Processzusok, Szálak, IPC MS-DOS parancsok
3 Ütemezés jogosultságrendszer, chmod, attr
4 Deadlock es algoritmusok fájlműveletek, bat-programozás I.
5 Memória kezelés 1 fájlműveletek, bat-programozás II.
6 Memória kezelés 2 fájlműveletek, bat-programozás III.
7 Input Output 1 MSVS- DLL technológia
8 Input Output 2 Zh1
9 File rendszerek felépítése 1 s/w ismertetés: shed, XVI32
10 File rendszerek felépítése 2 s/w ismertetés: awk, Cygwin,
11 Biztonság, Registry MSVS – Registry kezelés
12 Miltiprocesszoros rendszerek s/w ismertetés: vi, WinVi
13 Op. rendszer Online frissítése MSVS – állományok Web-ről
14 Egyéb operációs rendszerek Zh2
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
2 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Javasolt irodalom
1. Andrew S. Tanenbaum, Albert S. Woodhull Operációs rendszerek - Tervezés és implementáció CD melléklet,
Panem Könyvkiadó, 2007
2. Andrew S. Tanenbaum, Albert S. Woodhull Operating Systems Design and Implementation (3rd Edition) 3rd Edition
Upper Saddle River, New Jersey 2006
3. Andrew S. Tanenbaum, Herbert Bos,
Modern Operating Systems (4th Edition)
Pearson, 2014
4. Mary S. Gorman, Stubbs Operációs rendszerek,
Panem Könyvkiadó, 2003
5. William Stallings, Operating Systems: Internals and Design Principles (7th or 8th Edition),
Prentice Hall;, 2011, 2014
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
3 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Bevezetés
1. Mi az operációs rendszer?
2. Korai rendszerek.
3. A kötegelt feldolgozás egyszerű rendszerei. (Simple Batch)
4. A kötegelt feldolgozás multiprogramozott rendszerei.
(Multiprogramming Batched Systems)
5. Időosztásos (time-sharing) rendszerek.
6. Személyi számítógépes rendszerek.
7. Párhuzamos rendszerek.
8. Elosztott rendszerek.
9. Valós idejű rendszerek.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
4 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Mi az operációs rendszer
(English: operating system, OS)?
Operációs rendszer: Egy program (rendszer), amely közvetítő szerepet játszik a számítógép
felhasználója és a számítógép hardver között.
(https://hu.wikipedia.org/wiki/Operációs_rendszer)
Operációs rendszer célok: 1. Felhasználói programok végrehajtása, a felhasználói feladatmegoldás
megkönnyítése.
2. A számítógép rendszer használatának kényelmesebbé tétele.
3. A számítógép hardver kihasználásának hatékonyabbá tétele.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
5 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Hány operációs rendszer létezik?
Nem teljes lista (csak nyilvános, nem „speciális” jellegűek):
https://hu.wikipedia.org/wiki/Operációs_rendszerek_listá1ja
https://en.wikipedia.org/wiki/List_of_operating_systems
https://en.wikipedia.org/wiki/History_of_IBM_mainframe_operating_systems (+ Kylin, Gun data computer, Battery Computer System, Army Secure Operating System – ASOS, РАФОС,
ДУБНА, Эльбрус, Агат, stb.)
Fő elemei
Az operációs rendszerek alapvetően három részre bonthatók:
1. a felhasználói felület (a shell, amely lehet egy grafikus felület,vagy egy
szöveges),
2. alacsony szintű segédprogramok és
3. a kernel (mag), amely közvetlenül a hardverrel áll kapcsolatban.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
6 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Számítógép rendszerek komponensei (séma)
1. Hardver – az alapvető számítási erőforrásokat nyújtja (CPU, operatív
memória, I/O berendezések).
2. Operációs rendszer – koordinálja és vezérli a hardver erőforrások
különböző felhasználók különböző alkalmazói programjai által történő
használatát.
3. Alkalmazói programok – definiálják azt a módot, ahogyan az egyes
rendszer-erőforrásokat a felhasználók számítási problémáinak megoldásához
föl kell használni (fordítók, adatbázis kezelők, videó játékok, ügyviteli
programok).
4. Felhasználók (emberek, gépek, más számítógépek).
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
7 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Számítógép rendszerek komponensei (séma)
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
8 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Vagy másképpen, részletesebben
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
9 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
A számítógép funkcionális felépítése
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
10 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
A számítógép funkcionális struktúrája
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
11 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Operációs rendszer definíciók (nézetfüggő)
1.Erőforrás allokáló/kiosztó – menedzseli és kiosztja a hardver
erőforrásokat.
2.Felügyelő program – felügyeli a felhasználói programok
végrehajtását, az I/O berendezések működését.
3.Kernel (mag) – az egyetlen program, amelyik "állandóan fut"
(minden más program alkalmazói program).
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
12 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Korai rendszerek – "pucér" gépek (1945-1955), operációs
rendszerek nélkül.
MARK I.
Hardver – relék, kommutációs panelek. A számítógépes rendszerek fejlődését erősen
befolyásolta a második világháború (rakéták
pályájának kiszámítása, kódolt szövegek
megfejtése, stb.)
1939 ABC - az első digitális számítógép. Dr. John Astanasoff tervezte.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
13 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
1944 Mark I - az első amerikai általános célú számítógép, amelyet programok
vezéreltek (Relékkel működött). A Harvard egyetemen tizenöt évig használták.
1945 MARK II - az első "bug". A Mark II fejlesztése közben a számítógép
egyik reléje elromlott, és a kutatók egy agyonütött molylepkét találtak az
érintkezői között. Azt tartják, hogy ez az eredete az angol "bug" (bogár, apró
programhiba) és a debugging (hibakeresés) szakkifejezéseknek.
1945 ENIAC - Electronic Numeric Integrator and Computer. 30 tonna, 18 ezer
rádiócső, programozáshoz 6000 kapcsolót kellett átállítani.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
14 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Tranzisztor alapú gépek (1955-1965), kötegelt feldolgozás
(Simple Batch) I.
Szerkezeti jellemzők
a nagyméretű gépet a konzolról irányítják,
egy felhasználós rendszer,
a programozó egyben operátor is,
lyukszalagos és/vagy lyukkártyás adatbevitel és kivitel.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
15 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
EC-1020 (Szovjetunió)
IBM-360 (USA)
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
16 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Korai szoftver assemblerek,
betöltők (loader-ek),
kapcsolat szerkesztők (linkage editor),
közös szubrutin-könyvtárak,
fordítók (compiler-ek),
I/O berendezés kezelő rutinok (device driver-ek).
Biztonság - ?
Drága erőforrások rossz hatékonyságú kihasználása alacsony CPU kihasználtság,
jelentős mennyiségű "beállítási idő" (setup time).
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
17 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
A kötegelt feldolgozás rendszerei (Simple Batch) II. Professzionális operátor.
Felhasználó saját alkalmazást készít és átadja operátornak.
Rendszer rendelkezik egy/több kártyaolvasóval.
Automatikus soros munka végrehajtása (job sequencing): a vezérlés
egyik job-ról (a job vége után) automatikusan kerül át a következőre.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
18 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Az első elemi operációs rendszer megjelenése.
Rezidens monitor (felügyelőprogram, schedular) működési elve: kezdetben a vezérlés a monitornál van, a vezérlés átadódik a job-nak, ha a job
befejeződött a vezérlés vissza kerül a monitorhoz.
Egy tipikus job szerkezete és a számítógépes problémamegoldás folyamata,
job-lépés (jobstep).
Problémák: 1. Hogyan szerezhet a monitor tudomást az adott job természetéről (pl. FORTRAN
vagy ASSEMBLY nyelvű-e?), vagy melyik programot kell végrehajtani?
2. Hogyan tudja a monitor megkülönböztetni
egyik job-ot a másiktól?
az adatot a programtól?
Megoldás: Vezérlő kártyák, pozicionálás, JCL-nyelv (Job Controlling Language) Speciális kártyák, amelyek megmondják a monitornak, mely programot kell futtatni ($JOB,
$FTN, $RUN, $DATA, $END)
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
19 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Speciális karakterek különböztetik meg az adat és program kártyákat. (//, $,
stb.)
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
20 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
A kötegelt feldolgozás rendszerei (Simple Batch) III. A rezidens monitor funkcionális részei
Vezérlő kártya interpreter (értelmező) – felelős a vezérlőkártyák
beolvasásáért és értelmezéséért.
Betöltő (loader) – háttértárból betölti az egyes rendszer és felhasználói
programokat az operatív memóriába.
Készülék meghajtó programok (device drivers) – ismerik a rendszer az
egyes I/O berendezéseinek tulajdonságait és működtetésük logikáját.
Előny: csökken a beállítási idő (setup time)!
Probléma: Alacsony teljesítmény – mivel az I/O és a CPU műveletek nem
fedhetik át egymást (párhuzamosság!) és a kártyaolvasó nagyon lassú!
Megoldás: Off-line elő- és utófeldolgozás – a job-okat egy másik (olcsóbb,
egyszerűbb) gép segítségével szalagra másoljuk, ill. az eredményeket
(mágneses) szalagra írjuk, majd a főgépen (mainframe) a több job-ból
összeállított csomagot (batch) futatjuk.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
21 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
A kötegelt feldolgozás rendszerei (Simple Batch) IV.
Még jobb megoldás: Spooling (SPOOL - Simultaneous Peripheral Operation
On Line) IBM704, 1960.
Mialatt egy job végrehajtódik, az operációs rendszer:
1. beolvassa a következő job-ot a kártyaolvasóról a lemezre (job queue)
2. egy előző job által nyomtatni szánt adatokat lemezről printerre továbbítja,
Ennek következtében drasztikusan növekszik a CPU kihasználtsága!
Job pool – olyan adatszerkezet, amelynek segítségével az operációs rendszer
kiválaszthatja a lemezről a következő job-ot.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
22 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
A kötegelt feldolgozás multiprogramozott rendszerei.
(Multiprogramming Batched Systems)
Alapelv
néhány job (step) futtatható kódja állandóan az operatív memóriában
helyezkedik el és készen áll arra, hogy „utasításokkal lássa el” a CPU-t.
Vigyázat
Nem „párhuzamosan futó” programokról van szó! Az operációs rendszer
valamilyen stratégia szerint adja oda a CPU-t a sorban álló futásra kész
programoknak.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
23 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
A multiprogramozás által az operációs rendszerekkel szemben
támasztott követelmények:
Az I/O-nak az operációs rendszer részéről történő teljes körű felügyelete.
(adat- és programkód-védelem!)
Az I/O-t az operációs rendszer nem egyszerűen támogatja, hanem
végrehajtásához elkerülhetetlen.
Hardver feltételek (kernel/supervisor mode, privileged operations)
Memória gazdálkodás – a rendszernek fel kell osztania a memóriát a futó
job-ok között. Hardver feltételek (kernel/supervisor mode, privileged
operations,
segmentation)
CPU ütemezés – a rendszernek választani kell tudni a futásra kész job-ok
között.
Eszközökhöz való hozzárendelés. Nem „jut” minden job-nak printer,
lemez, stb.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
24 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Időosztásos (TS - time-sharing) rendszerek – interaktivitás
CTSS – Compatible Time Sharing System
A kötegelt rendszerek hátránya: nincs interaktivitás!
TS esetén a CPU váltakozva áll olyan job-oknak a rendelkezésére, amelyek a
memóriában, vagy lemezen találhatók. (Természetesen a CPU-t csak olyan job
kaphatja meg, amely éppen a memóriában van.)
Egy job a lemezről a memóriába, ill. a memóriából a lemezre betölthető vagy
kimenthető az ütemezési stratégiának (időosztás!) megfelelően.
Új fogalom: folyam (process)!
A rendszer és a felhasználó között on-line kommunikációt tételezünk fel; ha az
operációs rendszer befejezi egy parancs végrehajtását, a következő „vezérlő
utasítás”-t nem a kártyaolvasóról, hanem a felhasználó klaviatúrájáról várja.
Egy – adatokat és utasításkódokat tároló – on-line fájl-rendszer (file system)
kell, hogy a felhasználók rendelkezésére álljon.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
25 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Személyi számítógépes rendszerek. Személyi számítógépek (PC- Personal Computer) – a teljes számítógép
rendszer egy egyszerű felhasználónak kizárólagos rendelkezésére áll.
Tipikus konfigurációjú I/O berendezések – klaviatúra (keyboard), egér
(mouse), képernyő kijelző (monitor, screen), kis(ebb) teljesítményű nyomtató
(printer).
Előtérben a felhasználó (személy) kényelme és felelőssége.
Több esetben adaptál eredetileg nagygépes operációs rendszerekre kidolgozott
információ technológiai megoldásokat (rendszer migráció).
Példa:
MULTICS (MIT,1965-70) → UNIX (Bell Labs, 1970) → POSIX szabvány
(IEEE), ahol MILTICS – MULTiplexed Infromation and Computing Service,
IEEE- Institute of Electrical and Electronics Engineers, UNIX- eredetileg
UNICS, azaz UNIplexed Information and Computing System.
A felhasználó személy sokszor a számítógép kizárólagos tulajdonosa,
felhasználója, és így nincs szüksége fejlett CPU kiszolgáló és adatvédő
szolgáltatásokra.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
26 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Párhuzamos rendszerek / multiprocesszoros rendszerek. Egynél több (szoros
kommunikációs kapcsolatban levő) CPU-val.
Szorosan kapcsolt/csatolt rendszerek – a processzorok közösen
használják a memóriát és a rendszer órát. A kommunikáció a közös
memória segítségével történik.
Párhuzamos rendszerek előnyei: Megnövelt átbocsátó képesség, magasabb teljesítmény
Gazdaságosság
Növekvő megbízhatóság
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
27 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Szimmetrikus multiprocesszálás
Minden egyes processzor az operációs rendszer azonos változatát
(másolatát) futtatja. Ezek egymással szükség szerint kommunikálhatnak.
Sok processz futhat egyszerre teljesítménycsökkenés nélkül (I/O
problémák, ütemezés)
Aszimmetrikus multiprocesszálás (master-slave modell)
Minden egyes processzor a hozzárendelt specifikus feladatot (task) oldja
meg. A futtatandó feladatot a mester határozza meg! Ezek a taskok
egymással szükség szerint kommunikálhatnak.
Nagyon nagy rendszerekben elterjedtebb megoldás.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
28 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Elosztott rendszerek – a számításokat több processzor
között osztják meg.
Lazán kapcsolt/csatolt rendszerek – a processzorok saját lokális
memóriát és rendszer órát használnak. A kommunikáció nagy
kapacitású adatvonalak (korábban telefonvonalak) segítségével történik. Új fogalmak: LAN (Local Area Network), site (hely, telek), node (csomópont).
Elosztott rendszerek előnyei: Erőforrás megosztás (printerek, adattárolók, stb.),
Számítási teljesítmény növelés,
Túlterhelés védelem (load sharing),
Növekvő megbízhatóság,
Kommunikáció (e-Mail, Web-alkalmazások, stb.)
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
29 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Valós idejű (real-time) rendszerek
Gyakran úgy jelenik meg, mint valamilyen dedikált alkalmazás (pl.
tudományos kísérlet támogatása, orvosi képfeldolgozás, ipari kontroll, kijelző
rendszerek, forgalomirányítás, stb.) irányító-felügyelő rendszere.
A „kiszolgálás” azonnal megkezdődik! Jól definiált, rögzített idejű
korlátozások.
„Hard” ("merev" valós idejű) rendszerek. A másodlagos tár korlátozott, vagy teljesen hiányzik; az adatokat az operatív
memóriában (RAM), vagy akár ROM-ban tárolják. Példa: robotizált gyártás
(hegesztés, festés, szerelés).
„Szoft” ("puha" valós idejű) rendszerek. Korlátozott szolgáltató programok az ipari kontroll, a robotika területén. A
fejlett operációs rendszer szolgáltatásokat igénylő alkalmazásoknál igen
hasznosak. Példa: VxWorks, QNX multimédiás operációs rendszerek.
Dr. Bajalinov Erik Operációs rendszerek (PMB1206)
30 Nyíregyházi Egyetem Matematika és Informatika Intézete 01
Beépített (built-in) rendszerek Korlátozott képességű speciális feladatok végrehajtására fejlesztett rendszerek.
Sokszor JVM (Java Virtual Machine) és Java applet (kis program) alapúak.
Területek:
PDA – Personal Digital Assistant, GPS – Global Positioning System, Mobil
telefonok / kommunikátorok / SMART eszközök, Videó- és fényképezőgépek,
bankkártyák, iPOD/iPAD- féle eszközök, stb.
Példák:
PalmOS, Windows CE (Consumer Electronics), Android, stb.