Operációs Rendszerek II. x. előadás
Első verzió: 2004/2005. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter Sunday, April 25, 2010
Példa operációs rendszerek Rövid ismertetés • A szemeszterben példaként megemlített operációs rendszerek – Unix – Linux – Windows
• Miért pont ezek? Miért nem más? • Szempontok – Történet, háttér (csak röviden) – Struktúra, felépítés áttekintése (a részletekről szól a szemeszter) Sunday, April 25, 2010
„Hol a helyük”? Micro Comp. (~80)
Mini Comp. (~60)
UNIX (~70)
Sunday, April 25, 2010
Mainframe
„Hol a helyük”? Micro Comp. (~80)
Mini Comp. (~60)
Mainframe
UNIX (~70) PC
Szerver Low-end Midrange High-end
Windows (~93) Linux (~91) Sunday, April 25, 2010
Mainframe
Van még tovább? PC
Szerver
• Van, mindkét irányban • Nagyjából out-of-scope
Sunday, April 25, 2010
Mainfr.
Unix – a kezdetek • 1969, Bell labs: alig használt PDP-7 „a sarokban” – Multics projekt leállta utáni űr… – Space travel játék (Thompson) – A PDP-7 gépen nem volt fejlesztő környezet (cross compilert kellett használni) – Thompson, Ritchie és mások elkezdtek írni egyet (először a fájlrendszert, majd jött a process alrendszer és egy egyszerű shell)
Sunday, April 25, 2010
A történet folytatódik • Thompson, Ritchie és Ossanna meggyőzi a BTL-t hogy vegyenek egy PDP-11 gépet szövegszerkesztésre • A Unix portolásra kerül, megszületnek az első egyszerű kiadvány szerkesztő programok • Thompson a BCPL nyelvből kiindulva kifejleszti az interpretált B nyelvet • Ennek alapján – Ritchie által – megyszületik a C nyelv. A Unix diadalútja C nélkül nem valószínű – és viszont
Sunday, April 25, 2010
Egy zárt világ • A rendszer a BTL-en belül közkedveltté válik, de házon kívül nem ismerik • 1973-ban kiadott (belső) verzió már tartalmazza a „cc” C fordítót • Ugyanebben az évben az egész rendszert újraírják C-ben – ez a lépés alapozza meg a későbbi sikert
Sunday, April 25, 2010
Úton az ismertség felé • 1973: a Unix bemutatása egy ACM konferencián (1974, első írott publikáció) • 1956-os antitröszt határozat miatt az AT&T nem kereskedhetett számítástechnikai termékkel (sem) → az ACM konferenciát követő nagy számú megkeresés hatására az AT&T a rendszert kutatási és (egyetemi) oktatási célokra jogdíj nélkül átadta (forráskóddal együtt) • 1975-ben már telepített Unix-ot találunk Kanadában, Izraelben és Ausztráliában is • A Berkeley egyetem az elsők köz kap Unix licencet (1974 decemberben)
Sunday, April 25, 2010
A sokszínűség • A gyors terjedés mellett megkezdődnek a módosítások (forráskód elérhető) • Az eredményeket sokszor a BTL is beépíti saját fejlesztéseibe • A Berkeley-en különösen aktív fejlesztés folyik, az eredeti rendszert jelentősen jobbító programokat külön csomagban, pénzért (USD50) kezdik forgalmazni
Sunday, April 25, 2010
A BSD Unix • Először itt készül virtuális memóriakezelés Unix-hoz (32 bites VAX gépre) • 1979-ben megjelenik az első saját OS verzió (3BSD) – ez már teljes csomag • A DARPA támogatja a Unix továbbfejlesztését (VM és TCP/IP fejlesztés) • Fentieken túl még több jelentős újítás innen származik • 1993-ban megjelenik az utolsó (4.4BSD) verzió, a fejlesztés befejeződik • A rendszert a BSDI viszi tovább, a történet rögtön egy AT&T perrel indul – 1994-től érhető el a 4.4BSD-lite
Sunday, April 25, 2010
Az „eredeti” • A fejlesztés a Bell berkein belül sem áll le • 1982-ben az AT&T beléphet a piacra • Időközben a Unix Support Group nevű csapat kiadja a System III verziót (1982), majd 1983-ban a sokkal agresszívebben marketingelt Syste V-t. Sok kommerciális Unix alapul valamelyik System V verzión • Jelenlei verzió az SVR4
Sunday, April 25, 2010
Az üzleti rendszerek • Több cég is foglalkozott saját hardverére portolt (és kibővített) Unix forgalmazásával (ezek forrása vagy a BTL vonal, vagy a BSD volt) • Első cég (1977) Ineractive Systems, de a Microsoft (az SCO-val együttműködve) is az elsők között van • 1982-ben Bill Joy kilép a Berkeley-ről és másokkal együtt megalakítja a Sun Microsystems céget. Rendszerük a SunOS a 4.2BSD-n alapul
Sunday, April 25, 2010
Azok a 80-as évek • A 80-as években több gyártó (IBM, HP, DEC és mások) is előrukkol saját új gépeivel és ehhez saját Unix verziót adnak ki • Minden cég megpróbál egyre több extra szolgáltatást beépíteni a rendszerébe, ez gyors fejlődést eredményez. • Ugyanakkor a különféle Unix verziók többé-kevésbé inkompatibilisek.
Sunday, April 25, 2010
Mach • A Unix születéskori erősségei – kis méret és egyszerűség – az egyre több és több szolgáltatás beleintegrálásával tovatűntek • A 80-as évek elején a pittsburgi Carnegie-Mellon egyetemen megkezdődött egy új, mikrokernel alapú operációs rendszer – a Mach – fejlesztése • A rendszer „kívülről” BSD interfésszel bírt, ugyanakkor AT&T kódtól teljesen mentes volt. • A 2.5-ös (még monolitikus kernelű) verzió több piaci rendszer (OSF/1 és NextStep) alapja lett, az első mikrokerneles verzió a 3.0 volt
Sunday, April 25, 2010
A Unix háború • 1987-ben az AT&T szövetkezett a Sun-nal a következő System V verzió (SVR4) kidolgozására (a Sun korábban BSD vonalat használt). Megjelenik a Solaris 2. • Ez a lépés az iparban komoly nemtetszést váltott ki, kezdetét vette a Unix háború. • Szövetségek alakultak és szűntek meg, de egy új fenyegetés – a Windows NT – mindent megváltoztatott…
Sunday, April 25, 2010
A közelmúlt • A Unix név és kód a Novell-hez kerül • A kódot a Novell eladja az SCO-nak, a Unix név a Open Group kezébe kerül • Sok, a 80-as években virágzó gyártó eltűnik, a megmaradtak (IBM, HP) viszont továbbra is fejlődnek – a Unix él és virul • A Sun, mint egyik meghatározó szereplő 2009-ben az Oracle kezébe került, de ennek hatásai ma még nem láthatók. • Linux Sunday, April 25, 2010
Szabványok • A sokféle verzió megkeserítette a fejlesztők életét • Szabványosítási törekvések kezdődtek, de szabványból is sok, különböző alakult ki (ezek nem a belső működést, hanem az interfészeket írják le) • Egyik legjelentősebb szabvány az IEEE POSIX specifikáció • A szabványos kód nem tartalmazhatja az adott platformra jellemző többlet funkciókat!
Sunday, April 25, 2010
Összefoglalva... • Kezdetben az akadémiai szektorban sikeres • Forráskód elérhető (feltételekkel), sok változat, ami visszahat a „fő” kódra is • Sok neves gyártó jelentet meg saját, üzleti alapú verziót • Az inkompatibilitás elleni harc eszközei a különféle szabványok (pl. POSIX) • Léteznek olyan rendszerek, amelyek csak interfész szinten Unix-ok (Mach, Mac OS, Linux) • Az idők során a Unix forrás is jelentősen átalakult (SVR4) Sunday, April 25, 2010
Klasszikus (pre. SVR4) kernel
Sunday, April 25, 2010
Változás mozgatórugói Funkcionalitás – Fájlrendszer funkciók (locking, quota-k, ACLek) – IPC (magasabb absztrakciós szint) – Szálak – Hálózati szolgáltatások (NFS, NIS)
Sunday, April 25, 2010
Változás mozgatórugói Funkcionalitás Teljesítmény, hardver fejlődése – Fájlrendszerek teljesítményének növelése – Új hardver-technológiák támogatása (RAID, SMP)
Sunday, April 25, 2010
Változás mozgatórugói Funkcionalitás Teljesítmény, hardver fejlődése Minőségi elvárások, megbízhatóság – Adatvesztés rendszerösszeomlás esetén – Működés hibák során
Sunday, April 25, 2010
Változás mozgatórugói Funkcionalitás Teljesítmény, hardver fejlődése Minőségi elvárások, megbízhatóság Paradigmaváltás, új alkalmazások – Kliens-szerver alkalmazások előtérbe kerülése – Real-time elvárások (pl. média szerverek)
Sunday, April 25, 2010
Solaris – példa az „új” Unix-ra „A Solaris előtt” • 1982: SunOS 1.0 – BSD 4.1 alapú, még Motorola 68000 alapú Sun gépre • Hálózati technológiák komoly fejlesztése, több széles körben elterjedt (NFS, RPC). Az implementálásuk jelentős módosítást igényelt, a SunOS 2.0 már tartalmazza VFS-t (1984) • Új VM, dinamikus linkelés (SunOS 4, 1988 – első SPARC alapú rendszer) • Multiprocesszoros rendszerek támogatása, a SunOS 4.1 esetén még aszimmetrikus módon • A szimmetrikus multiprocesszing nagyon más…
Sunday, April 25, 2010
Solaris – példa az „új” Unix-ra „Solaris 2 és azon túl” • Az AT&T szövetség hatására a Sun System V alapon teljesen új rendszerrel ál elő • 1992, Solaris 2.0 – még csak uniprocesszoros (ezután a korábbi verziók: Solaris 1.x). • Még ebben az évben multiprocesszoros támogatás (2.1) • 1993-tól x86 platform támogatás • 1996-ban már 64 utas SMP (2.5.1) , ugyanekkor fájlméret max. átlépi a 2GB-t (2.6) – FS 2.2 óta nagyobb • Következő nagy lépés a Solaris 7 (nem 2.7), ami már 64 bites processzorokat is támogatja Sunday, April 25, 2010
Solaris – példa az „új” Unix-ra „Solaris 2 és azon túl” • Következő nagy lépés a Solaris 7 (nem 2.7), ami már 64 bites processzorokat is támogatja • Minden verzió hoz újításokat (RBAC, újabb ütemezők, zónák és x64 támogatás), Jelenlegi verzió a Solaris 10 • OpenSolaris (Oracle felvásárlás hatásai???) • Támogatott platormok – – – –
Sun UltraSPARC-based systems Fujitsu SPARC64 platform-based systems 32 and 64 bit systems based on AMD Intel and VIA x86 CPUs
Sunday, April 25, 2010
A Solaris 2 kernel
Sunday, April 25, 2010
A „régi” és az „új”
Sunday, April 25, 2010
Konszolidáció, virtualizáció
• Solaris 10 Containers (2005 óta) • LDoms (csak T sorozat szerverein) • xVM, Domains 29 Sunday, April 25, 2010
Konszolidáció, virtualizáció
• Solaris 10 Containers (2005 óta) • LDoms (csak T sorozat szerverein) • xVM, Domains 29 Sunday, April 25, 2010
Konszolidáció, virtualizáció
• Solaris 10 Containers (2005 óta) • LDoms (csak T sorozat szerverein) • xVM, Domains 29 Sunday, April 25, 2010
Konszolidáció, virtualizáció
• Solaris 10 Containers (2005 óta) • LDoms (csak T sorozat szerverein) • xVM, Domains 29 Sunday, April 25, 2010
ZFS (zettabyte file system) • 2004-ben jelent meg, 2006 óta a Solaris 10 része • Storage pool-ok • Fájlrendszer és fájlok maximális mérete: 16 EIB (264 bytes) • stb. 30 Sunday, April 25, 2010
Linux – történet • Kezdet: Linux Torvalds, 1991 – x86 • Kívülről Unix, felépítésében viszont eltérnek (az egymásra hatás tagadhatatlan) • Interneten keresztül együttműködő fejlesztői bázis, széles hardver platform támogatás • Kernel: Linus, prg: FSF GNU projekt • Eleinte a hangsúly a kis erőforrás igényen és az egyszerűségen volt. Idővel ez megváltozott…
Sunday, April 25, 2010
Linux - verziók • Idővel különféle, egymással többé-kevésbé kompatibilis disztribúciók alakultak ki, ezek közül „kinőtt” néhány kifejezetten üzleti megoldás is • Az üzleti sikerekhez robosztusság, megfelelő funkcionalitás és gyártói támogatás szükséges – A támogatás nagy hardver és szoftver szállítóktól megvan (IBM, HP, Oracle, SAP) – „Fizetős” disztribúciók: RedHat, SuSe
• Ingyenes: Debian, Fedora és „sokan mások”
Sunday, April 25, 2010
Linux - Jellemzők • POSIX kompatibilis felületek (felhasználói és programozói is) • Felhasználói felületen új szabványt teremtett • Moduláris felépítésű kernel – Dynamic linking – Stackable modules
• Virtuális fájlrendszer támogatás • Valós idejű ütemezés Sunday, April 25, 2010
A Microsoft „korai” operációs rendszerei • • • • •
1981: PC-DOS 1.0 (flat FS) 1983: DOS 2.0, XT, HDD támogatás 1984: DOS 3.0, IBM AT 1990: Microsoft Windows 3.0 386 alapú rendszerek támogatására IBM és MS közös fejlesztés (OS/2) – Összeveszés, NT fejlesztés indul – IBM viszi tovább az OS/2-t, ami soha nem lett átütő siker (okok…)
Sunday, April 25, 2010
Windows - roadmap • A Microsoft „nulláról” fejleszti a saját rendszerét, amely csak felületeiben (GUI, API) hasonlít a Windows 3-ra (okok…) • 1993: Első Windows NT, a 3.1 • 1996: NT 4.0 – Win 95 felület (kernel GUI) • 2000: Win 2000 (plug-n-play, pwr m., AD) • 2001: Win XP (csak desktop) • 2003: Win 2003 server, 64 bit (kezd. IA64) • Kurrens rendszerek: Windows 2008, Win 7 Sunday, April 25, 2010
Windows – elvárások: 1989 • • • • •
32 bites, preemptive, VM támogatás Többplatformos működés Jó SMP skálázhatóság Kliens-szerver környezet támogatása MS-DOS és Win 3.x alkalmazások futtatása (de nem minden áron…) • Kormányzati POSIX 1003.1 elvárás • Kormányzati biztonsági elvárások • Unicode támogatás
Sunday, April 25, 2010
Windows – célok és jellemzők • Fejlesztési célok – – – – –
Bővíthetőség – piaci elvárások Hordozhatóság Mezbízhatóság és robosztusság Kompatibilitás Teljesítmény
• Jellemzők – – – – –
Valós (preemptive) multitasking Kliens-szerver modell SMP és szálak támogatása Objektum alapú megközelítés Nagyrészt C nyelvű kód
Sunday, April 25, 2010
Windows – Kernel
Sunday, April 25, 2010
Windows – Kernel
Sunday, April 25, 2010