PV109: Historie a v´yvojov´etrendy ve VT Operaˇcn´ısyst´emy

LudˇekMatyska

Fakulta informatiky Masarykovy univerzity

podzim 2016

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 1 / 29 Poˇc´ıtaˇcebez operaˇcn´ıhosyst´emu

Obvykl´eve svˇetˇecca do 50. let, u n´asd´ele Programov´an´ıHW – strojov´yk´od Veˇsker´aobsluha z ovl´adac´ıhopultu Program nˇekdymusel obsahovat i zav´adˇec´ıˇc´ast Na poˇc´ıtaˇcivˇzdy bˇeˇzelpouze jeden program

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 2 / 29 Z´arodky prvn´ıchOS

C´ılembylo minimalizovat prostoje mezi ´ulohami Nˇekdyintegrov´anys pˇrekladaˇcem Hlavn´ıkomponenta - jazyk pro ˇr´ızen´ı´uloh Job Control Language, JCL Pozdˇejii dalˇs´ıfunkce, zprvu opˇetty, kter´eminimalizuj´ıprostoje spooling oˇsetˇren´ıchyb

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 3 / 29 Komponenty modern´ıchOS

Spr´avaprocesor˚u Spr´avaproces˚ua vl´aken Spr´avahlavn´ı(operaˇcn´ı)pamˇet’i Spr´avasoubor˚u Spr´avaI/O zaˇr´ızen´ı Spr´avavnˇejˇs´ı(sekund´arn´ı)pamˇeti Networking, distribuovan´esyst´emy Syst´emochran Interpret pˇr´ıkaz˚u– CLI/GUI Syst´emov´eprogramy Rozhran´ı(sluˇzeb)OS pro uˇzivatele V minulosti se za souˇc´astOS povaˇzovalymnohdy i pˇrekladaˇce

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 4 / 29 ZOS – Z´akladn´ıOperaˇcn´ıSyst´em

Urˇcenpro poˇc´ıtaˇcZPA 600 (modernizovan´yEPOS2) v 60. letech Velmi jednoduch´ysyst´em Zajiˇst’oval pouze prov´adˇen´ıakc´ıpodle pokyn˚uuˇzivatele Zad´av´an´ıpˇr´ıkaz˚u konzola (psac´ıstroj) sn´ımaˇcdˇern´ychˇst´ıtk˚u Uloˇzenkomplˇenˇeve statick´epamˇeti, Pozdˇejinˇekter´eˇc´astina magnetick´ep´asce

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 5 / 29 IBM DOS (1966)

D´avkov´ezpracov´an´ı´uloh Urˇcen´ypro menˇs´ımodely ˇradyIBM 360 Ovl´ad´an´ız dˇern´ychˇst´ıtk˚ua z konzoly Uloˇzenna magnetick´emdisku Multiprogramov´an´ıs max. 3 nerovnopr´avn´ymi programy 1 v pozad´ı,2 v popˇred´ı

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 6 / 29 IBM OS (1966)

D´avkov´yoperaˇcn´ısyst´em Urˇcenpro vyˇsˇs´ımodely ˇrady360/370 Ovl´ad´an´ız dˇern´ychˇst´ıtk˚ua konzoly Uloˇzenna magnetick´emdisku Multiprogramov´an´ıs r˚uzn´ympoˇctemsoubˇeˇzn´ych´uloh Vol´ıse bud’ pˇrigeneraci syst´emunebo dynamicky Velmi rozs´ahl´yjazyk pro ˇr´ızen´ı´uloh(JCL – Job Control Language) Velmi bohat´ysortiment syst´emov´ych sluˇzeb(dostupn´ych z assembleru) Pozdˇejidoplnˇen o pr´aciz termin´al˚u Standardnˇenezn´apˇr´ıstupov´apr´ava

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 7 / 29 IBM JCL

Job Control Language – skriptovac´ıjazyk IBM mainfram˚u 3 hlavn´ıa 3 doplˇnkov´epˇr´ıkazy: JOB – zaˇc´atek´ulohy(zad´av´an´azev,pamˇet’ov´epoˇzadavky, ˇcasov´e omezen´ıaj.) EXEC – spuˇstˇen´ıprogramu nebo procedury (makra). Opˇetmoˇzno zadat pamˇet’ov´ea ˇcasov´eomezen´ı.Nejsou-li dostupn´ezdroje, ˇcek´ana jejich uvolnˇen´ı DD – definice datov´ychsoubor˚u.Nejkomplikovanˇejˇs´ıpˇr´ıkaz, m´astovky moˇzn´ychparametr˚u. Dalˇs´ı3 pˇr´ıkazy definovaly zaˇc´ateka konec procedury a pˇrepnut´ı ovl´ad´an´ına konzolu.

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 8 / 29 ICL VME I.

Vyd´anv polovinˇe70. let 20. stolet´ı Urˇcenpro poˇc´ıtaˇceˇradyICL 2900 a 3900, povaˇzov´an(i konkurenc´ı) za nejlepˇs´ıOS Cel´ysyst´em naprogramov´anv jazyce velmi vysok´e´urovnˇeS3 (dialekt Algolu 68) JCL (obdoba ,,shellu”): tis´ıcepˇr´ıkaz˚u Samotn´yjazyk: SCL – System Control Language Skuteˇcn´yprogramovac´ıjazyk – promˇenn´e,podprogramy, blokov´a struktura, ˇr´ıdic´ıstruktury Bohat´eprostˇredky n´apovˇedy online help (tehdy naprost´anovinka) n´apovˇedak jednotliv´ympˇr´ıkaz˚um(parametry, jejich typy a implicitn´ı hodnoty) K program˚umv jazyce SCL a S3 se n´apovˇedageneruje automaticky, k ostatn´ımji lze snadno doplnit

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 9 / 29 ICL VME II.

Dokonal´ysyst´empˇr´ıstupov´ychpr´av Syst´emcheckpoint/restart Subsyst´emtransakˇcn´ıhozpracov´an´ı(zpracov´an´ıdat v re´aln´emˇcasu se zabezpeˇcen´ımproti v´ypadk˚um) Syst´embyl podroben testu odolnosti proti napaden´ı,(prov´adˇelisami jeho autoˇriv roli uˇzivateles bˇeˇzn´ymipr´avy) Kaˇzd´ysoubor je prov´azenprofilem, kter´ypopisuje jeho vlastnosti (cca 2KB) Soubory se stejn´ym profilem lze spojit do knihovny (staˇc´ıpak 1 profil) item

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 10 / 29 (1964)

Multiplexed Information and Computing Service Snaha o vytvoˇren´ıvysoce flexibiln´ıho univerz´aln´ıhosyst´emu Mnoho nov´ycha inovativn´ıch technologi´ı Multitasking Dynamick´elinkov´an´ıknihoven Vysok´am´ırazabezpeˇcen´ısyst´emu Naprogramov´anv PL/1 V´yznamnˇeovlivnil dalˇs´ıgenerace operaˇcn´ıchsyst´em˚uaˇzdo dneˇsn´ıdoby Zdroj: http://www.multicians.org/ Kv˚ulivysok´ekomplikovanosti syst´em nebyl pˇr´ıliˇs´uspˇeˇsn´y

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 11 / 29 (1969)

Vyv´ıjenv firmy AT&T a Nav´azalna Multics (pouˇcilse z chyb) Filosofie syst´emu(pozdˇejiplatformy): jednoduchost multitasking je v´ıceuˇzivatelsk´y hierarchick´ysouborov´ysyst´em,(t´emˇeˇr)vˇseje soubor konfigurace uloˇzeny v souborech jako text D˚urazkladen na vztahy mezi programy (v´ıcejednoduˇsˇs´ıch) Program dˇel´ajednu vˇec,a tu dˇel´aspr´avnˇe Struktura – j´adro,syst´emov´en´astroje(utility), dalˇs´ıaplikace P˚uvodnˇev assembleru; roku 1973 pˇreps´ando

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 12 / 29 UNIX

Dnes dva z´akladn´ısmˇery: UNIX System V – linie AT&T BSD Unix – vyvinut na Berkley University Mnoho variant komerˇcn´ıchi opensource 1975: koncept roury (pipe) umoˇznilmodul´arnˇejˇs´ıa rychlejˇs´ıv´yvoj Unixov´ev´alky spory mezi prodejci UNIXov´ychsyst´em˚u pˇrelom80. a 90. let 20. stolet´ı boj o vytvoˇren´ıstandard˚upo budouc´ıv´yvoj d˚usledkem byla mj. d´ırana trhu, kterou zaplnily Windows NT UNIX – poˇc´ıt´an´ıˇcasuv UNIXov´ychsyst´emechod 1. 1. 1970

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 13 / 29 BSD – Berkeley Software Distribution

Vyv´ıjenna University of California, Berkeley od roku 1977 Podpora syst´em˚uPDP-11 a VAX Prvn´ısyst´em,kter´yintegroval TCP/IP stack (sokety) Vˇzdysilnˇeorientov´anna networking ,,Hˇriˇstˇe“pro akademick´eprostˇred´ı Z BSD vych´az´ıdnes napˇr.OpenBSD, FreeBSD, ale i NexTSTEP a n´aslednˇei Zdroj: http://freeoperatingsystem.net Mac OS X

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 14 / 29 Linux

V´yvojzaˇcalLinus Torvalds v roce 1991 (inspirov´an UNIXem a MINIXem) P˚uvodnˇeoznaˇcen´ıpouze pro j´adrosyst´emu Velmi popul´arn´ımezi v´yvoj´aˇriz cel´ehosvˇeta Model v´yvojebyl pozdˇejipops´anv eseji The Cathedral and the Bazaar od Erica S. Raymonda Pˇriv´yvojivyuˇz´ıv´anProjekt GNU (GNU’s not Unix) – bash shell, GNU C Library apod. Linuxov´adistribuce soubor j´adralinuxu, syst´emov´ychutilit a aplikac´ı tvoˇr´ıc´ı pouˇziteln´y operaˇcn´ısyst´em velk´arozmanitost (komerˇcn´ı–nekomerˇcn´ı,bˇeˇzn´ı uˇzivatel´e–v´yvoj´aˇri,serverov´e–desktopov´e, specializovan´e,apod.) Zdroj: http://en.wikipedia.org LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 15 / 29 Linux – miln´ıky

Zdroj: http://content.linuxfoundation.org/20th/ LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 16 / 29 Historie UNIXov´ychsyst´em˚u

Zdroj: http://en.wikipedia.org/ LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 17 / 29 Mac OS

1984: Apple Macintosh grafick´euˇzivatelsk´erozhran´ı– metafora pracovn´ıplochy stolu (desktop) z´akladembyl Lisa OS a koncepty pˇrevzat´ez Xerox ALTO Spuˇstˇenamohla b´ytnejv´yˇsejedna aplikace z´asadn´ıv´yznampro popularizaci osobn´ıchpoˇc´ıtaˇc˚u(jednoduch´e ovl´ad´an´ıpomoc´ımyˇsi,cenov´adostupnost, . . . ) neobsahoval pˇr´ıkazovou ˇr´adku soubory se skl´adaj´ıze dvou vˇetv´ı(forks) data fork – obsahuje (podobnˇejako u jin´ychOS) data resource fork – obsahuje sturkturovan8 metadata (definice menu, zvuky apod) Postupnˇevzniklo hlavn´ıch9 verz´ı,posledn´ıbyla vyd´anav roce 1999

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 18 / 29 Mac OS X

Ve 2. polovinˇe90. let hledal Apple nov´yOS pro sv´epoˇc´ıtaˇce 1996: Apple kupuje NeXT Computer se z´amˇeremvyuˇz´ıtOS NeXTSTEP jako n´ahradu za nedostaˇcuj´ıc´ıMac OS O rok pozdˇejise Steve Jobs vrac´ıdo Apple Zaloˇzenˇc´asteˇcnˇena FreeBSD, Mach j´adˇre Objective-C framework (dnes Cocoa) Vytv´aˇren,,na m´ıru“ poˇc´ıtaˇc˚umApple V´ıceuˇzivatelsk´ysyst´em, Zamˇeˇrenna uˇzivatele Vysok´apˇr´ıvˇetivost– Human Interface Guidelines vydan´eApplem jsou pouˇz´ıv´anyi u dalˇs´ıchSW

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 19 / 29 Apple Mac OS – historie a vazby na UNIX

Zdroj: http://appleinsider.com

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 20 / 29 MS-DOS (1981)

Kl´ıˇcov´y,pro rozˇs´ıˇren´ınastupuj´ıc´ınov´eplatformy IBM PC Z´akladsyst´emutvoˇrilQDOS (Quick and Dirty OS), kter´yzakoupil Microsoft za 50000 USD od firmy Seattle Computer Products. Hlavn´ıfunkce: pr´acese soubory a sloˇzkami spouˇstˇen´ıprogram˚u form´atov´an´ıdisket a disk˚u jednoduch´eskriptov´an´ı Nejprve samostatn´ysyst´em(jehoˇzgrafickou nadstavbou se staly Windows) Posledn´ısamostatnˇeprod´avan´a(a nejzn´amˇejˇs´ı)byla verze MS-DOS 6.22 Od Windows 95 jiˇzintegrov´anav syst´emu

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 21 / 29 MS Windows

1985: MS Windows 1.0 prvn´ıpokus implementovat grafick´eprostˇred´ıpodporuj´ıc´ımultitasking Aˇzdo verze Windows 3.1x pouze jako grafick´anadstavba MS-DOS po celou dobu pouze podpora kooperativn´ıhomultitaskingu Windows for Workgroups 3.1x – podpora networkingu (MS, IBM, Novell) Sd´ılen´ısoubor˚u,tisk´aren,e-maily Pro TCP/IP bylo nutn´epouˇz´ıtextern´ıprogram Windows 95 16/32bitov´ygrafick´yoperaˇcn´ısyst´emurˇcen´ypro osobn´ıpoˇc´ıtaˇce rodiny IBM PC Pˇr´ım´yn´astupce MS-DOS Grafick´eprostˇred´ıs typickou nab´ıdkou Start Podpora dlouh´ychn´azv˚usoubor˚u(aˇz255 znak˚u) N´astupci – Windows 98, Windows ME (Milenium Edition) Windows NT (New Technology) – p˚uvodnˇe32b syst´emurˇcenpro servery, od Windows XP jedin´epouˇz´ıvan´ej´adro

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 22 / 29 1.0

Zdroj: http://en.wikipedia.org

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 23 / 29 Historie MS Windows

Zdroj: http://www.proghita.com

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 24 / 29 Novell NetWare

S´ıt’ov´yOS vyv´ıjen´yod roku 1983, aktu´aln´ıverze 6.5 Zaloˇzenna konceptu sd´ılen´ısoubor˚unam´ıstosd´ılen´ıdisku v lok´aln´ıs´ıti Inspirace ve vlastnostech mainfram˚u Model klient–server Platformˇenez´avisl´y,pouˇz´ıvals´ıt’ov´eprotokoly IPX/SPX (od verze 5 TCP/IP) V´ykonostnˇepˇredˇcilvˇsechnysv´ekonkurenty d´ıky4 vlastnostem: nepreemptivn´ıOS urˇcen´ypro s´ıt’ov´esluˇzby NCP (NetWare Core Protocol) – pˇredpokl´adal,ˇzes´ıt’ bude korektnˇe fungovat vˇetˇsinuˇcasu agresivn´ıcachov´an´ı pˇr´ıstuppˇr´ımok soubor˚um

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 25 / 29 Mobiln´ıoperaˇcn´ısyst´emy

Urˇcenypro tablety, PDA a ,,chytr´etelefony“ Mnohdy zaloˇzenyna OS pro osobn´ıpoˇc´ıtaˇce(iOS, Android) Jedn´ase o operaˇcn´ısyst´emyre´aln´ehoˇcasu V´yznamn´aomezen´ıze strany HW: kapacita pamˇeti v´ydrˇzvs. v´ykon uˇzivatelsk´erozhran´ı(dotykov´ysenzor, HW kl´avesnice) Pˇr´ıklady: Symbian OS – otevˇren´ysyst´em,manaˇzersk´etelefony Nokia BlackBerry OS – zamˇeˇrenna snadnou ovladatelnost, a bezpeˇcnost (ˇsifrovan´ypˇrenoszpr´av) Windows CE – p˚uvodnˇeurˇcenpro PDA, stal se z´akladempro dalˇs´ıtypy mobiln´ıchsyst´em˚u(napˇr.AutoPC, Windows Phone) Samsung Bada, MeeGo, Maemo, Palm OS, Windows 8, Windows RT, ...

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 26 / 29 OS Android

Zaloˇzenna linuxu, open source platforma Dostupn´yna velk´eˇsk´alezaˇr´ızen´ır˚uzn´ychv´yrobc˚u (tablety, telefony, multimedi´aln´ıcentra, apod.) Pro v´yvoj´aˇreAndroid SDK Pˇetvrstev J´adrooperaˇcn´ıhosyst´emu Knihovny OS – naps´anyv C/C++, dostupn´e v´yvoj´aˇr˚umskrze framework Android Runtime – aplikaˇcn´ıvirtu´aln´ıstroj Application Framework – pˇr´ıstupke sluˇzb´am Aplikaˇcn´ıvrstva – z´akladn´ıuˇzivatelsk´eaplikace (e-mailov´yklient, SMS, mapy, . . . )

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 27 / 29 iOS (2007–)

Odlehˇcen´averze Mac OS X, p˚uvodnˇeOS pro iPhone Pozdˇejii pro iPod Touch, iPad a Apple TV Uˇzivatelsk´erozhran´ızaloˇzenona idee pˇr´ım´einterakce pomoc´ıv´ıcedotykov´eobrazovky Nemoˇznostpˇr´ıstupuk adres´aˇrov´estruktuˇre– soubory jsou dostupn´ez aplikac´ı Do verze 4 multitasking omezen´ypouze na pˇredinstalovan´eaplikace Ctyˇrivrstvyˇ Core OS – poskytuje n´ızko´urovˇnov´efunkce ostatn´ımtechnologi´ım Core Services – vysoko´urovˇnov´esluˇzby syst´emu(napˇr.lokaˇcn´ısluˇzby) Media – umoˇzˇnujepˇrehr´avatmultimedi´aln´ısoubory a vytv´aˇren´ı multimedi´aln´ıchaplikac´ı Cocoa Touch – poskytuje frameworky pro v´yvojaplikac´ı(GUI, dotykov´e rozhran´ıapod.)

LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 28 / 29 Historie v´yvojemobiln´ıchOS

Zdroj: http://www.appleinsider.com LudˇekMatyska (FI MU) PV109: Historie a v´yvojov´etrendy ve VT podzim 2016 29 / 29