PV109: Historie a vývojové trendy ve VT Operační systémy Luděk Matýska Fakulta informatiky Masarykovy univerzity podzim 2014 Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 1 / 29 • Obvyklé ve světě cca do 50. let, u nás déle • Programování HW - strojový kód • Veškerá obsluha z ovládacího pultu • Program někdy musel obsahovat i zaváděcí část • Na počítači vždy běžel pouze jeden program Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 2/29 • Cílem bylo minimalizovat prostoje mezi úlohami • Někdy integrovány s překladačem • Hlavní komponenta - jazyk pro řízení úloh • Job Control Language, JCL • Později i další funkce, zprvu opět ty, které minimalizují prostoje • spooling • ošetření chyb Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 3/29 • Správa procesoru • Správa procesu a vláken • Správa hlavní (operační) paměti • Správa souborů • Správa l/O zařízení • Správa vnější (sekundární) paměti • Networking, distribuované systémy • Systém ochran • Interpret příkazů - CLI/GUI • Systémové programy • Rozhraní (služeb) OS pro uživatele • V minulosti se za součást OS považovaly mnohdy i překladače Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 4/29 • Určen pro počítač ZPA 600 (modernizovaný EPOS2) v 60. letech • Velmi jednoduchý systém • Zajišťoval pouze provádění akcí podle pokynů uživatele • Zadávání příkazů • konzola (psací stroj) • snímač děrných štítků • Uložen komplěně ve statické paměti, • Později některé části na magnetické pásce Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 5/29 o Dávkové zpracování úloh • Určený pro menší modely řady IBM 360 • Ovládání z děrných štítků a z konzoly • Uložen na magnetickém disku • M u Iti programová ní s max. 3 nerovnoprávnými programy • 1 v pozadí, 2 v popředí Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 6/29 • Dávkový operační systém • Určen pro vyšší modely řady 360/370 • Ovládaní z děrných štítku a konzoly • Uložen na magnetickém disku • M uItiprogramování s různým počtem souběžných úloh o Volí se buď při generaci systému nebo dynamicky • Velmi rozsáhlý jazyk pro řízení úloh (JCL - Job Control Language) • Velmi bohatý sortiment systémových služeb (dostupných z assembleru) • Později doplněn o práci z terminálů • Standardně nezná přístupová práva Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 7/29 • Job Control Language - skriptovací jazyk IBM mainframů • 3 hlavní a 3 doplňkové příkazy: • JOB - začátek úlohy (zadává název, paměťové požadavky, časové omezení aj.) • EXEC - spuštění programu nebo procedury (makra). Opět možno zadat paměťové a časové omezení. Nejsou-li dostupné zdroje, čeká na jejich uvolnění • DD - definice datových souborů. Nejkomplikovanější příkaz, má stovky možných parametrů. • Další 3 příkazy definovaly začátek a konec procedury a přepnutí ovládání na konzolu. Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT I podzim 2014 8 / 29 • Vydán v polovině 70. let 20. století • Určen pro počítače řady ICL 2900 a 3900, považován (i konkurencí) za nej lepší OS • Celý systém naprogramován v jazyce velmi vysoké úrovně S3 (dialekt Algolu 68) o JCL (obdoba „shellu"): tisíce příkazů • Samotný jazyk: SCL - System Control Language • Skutečný programovací jazyk - proměnné, podprogramy, bloková struktura, řídicí struktury o Bohaté prostředky nápovědy • online help (tehdy naprostá novinka) • nápověda k jednotlivým příkazům (parametry, jejich typy a implicitní hodnoty) o K programům v jazyce SCL a S3 se nápověda generuje automaticky, k ostatním ji lze snadno doplnit Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 9/29 • Dokonalý systém přístupových práv • Systém checkpoint/restart • Subsystém transakčního zpracování (zpracování dat v reálném času se zabezpečením proti výpadkům) • Systém byl podroben testu odolnosti proti napadení, (prováděli sami jeho autoři v roli uživatele s běžnými právy) • Každý soubor je provázen profilem, který popisuje jeho vlastnosti (cca 2KB) • Soubory se stejným profilem lze spojit do knihovny (stačí pak 1 profil) item Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 10 / 29 • Multiplexed Information and Computing Service • Snaha o vytvoření vysoce flexibilního univerzálního systému • Mnoho nových a inovativních technologií • Multitasking • Dynamické linkování knihoven • Vysoká míra zabezpečení systému • Naprogramován v PL/1 • Významně ovlivnil další generace operačních systémů až do dnešní doby • Kvůli vysoké komplikovanosti systém nebyl příliš úspěšný 196(1 1965 1970 1975 1980 1985 1990 1995 2000 CTSS FJCC papers MIT 645 service ARPňNet Organ i cK book Hultics History antecedents design 645 Multics 6180 Multics L68/DPS Multics Shutdown of DND-H (17:08Z 10/30/2000) Zdroj: http://www.multicians.org/ Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 11 / 29 • Vyvíjen v Bell Labs firmy AT&T • Ken Thompson a Dennis Ritchie • Navázal na Multics (poučil se z chyb) o Filosofie systému (později platformy): • jednoduchost • multitasking • je víceuživatelský • hierarchický souborový systém, (téměř) vseje soubor • konfigurace uloženy v souborech jako text • Důraz kladen na vztahy mezi programy (více jednodušších) • Program dělá jednu věc, a tu dělá správně • Struktura - jádro, systémové nástroje (utility), další aplikace • Původně v assembleru; roku 1973 přepsán do C Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 12 / 29 • Dnes dva základní směry: • UNIX System V - linie AT&T • BSD Unix - vyvinut na Berkley University • Mnoho variant komerčních i opensource • 1975: koncept roury (pipe) umožnil modulárnější a rychlejší vývoj • Unixové války • spory mezi prodejci UNIXových systémů • přelom 80. a 90. let 20. století • boj o vytvoření standardů po budoucí vývoj • důsledkem byla mj. díra na trhu, kterou zaplnily Windows NT • UNIX Epoch - počítání času v UNIXových systémech od 1. 1. 1970 Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 13 / 29 • Vyvíjen na University of California, Berkeley od roku 1977 • Podpora systémů PDP-11 a VAX • První systém, který integroval TCP/IP stack (sokety) • Vždy silně orientován na networking • „Hřiště" pro akademické prostředí • Z BSD vychází dnes např. OpenBSD, FreeBSD, ale i NexTSTEP a následně i Mac OS X Zdroj: http: //freeoperatingsystem.net Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 14 / 29 mux o Vývoj začal Linus Torvalds v roce 1991 (inspirován UNIXem a MINIXem) o Původně označení pouze pro jádro systému o Velmi populární mezi vývojáři z celého světa o Model vývoje byl později popsán v eseji The Cathedral and the Bazaar od Erica S. Raymonda o Při vývoji využíván Projekt GNU (GNU's not Unix) - bash shell, GNU C Library apod. o Linuxová distribuce ; soubor jádra linuxu, systémových utilit a aplikací tvořící použitelný operační systém □ velká rozmanitost (komerční-nekomerční, běžní uživatelé-vývojáři, serverové-desktopové, specializované, apod.) MEMORABLE LINUX MILESTONES CELEBRATING 20 YEARS OF LINUX Zdroj: http: //content. linuxf oundation. org/20th/ Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT I podzim 2014 16 / 29 Historie UNIXových systémů 1984: Apple Macintosh • grafické uživatelské rozhraní - metafora pracovní plochy stolu (desktop) • základem byl Lisa OS a koncepty převzaté z Xerox ALTO • Spuštěna mohla být nejvýše jedna aplikace • zásadní význam pro popularizaci osobních počítaču (jednoduché ovládání pomocí myši, cenová dostupnost, .. .) neobsahoval příkazovou řádku soubory se skládají ze dvou větví (forks) o data fork - obsahuje (podobně jako u jiných OS) data • resource fork - obsahuje sturkturovan8 metadata (definice menu, zvuky apod) Postupně vzniklo hlavních 9 verzí, poslední byla vydána v roce 1999 1.x 4>5> ftx 7.x 9.j 10i LisaHIatWprkř I iSdn Herraricslinn) h&ctwlcg Plu^fecworkg Pfcis 1 i i i i i i i i i X5 10 B I 10 101 I 2 3 4 5 6 7 7.1 75 7JS 3 ai (5 36 9 9.152 H 2 3 I | Nfedrtg* Plut Mac II SKSOWíttB Quadra POTer Madntreíi iMac 04 Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 18 / 29 • Ve 2. polovině 90. let hledal Apple nový OS pro své počítače • 1996: Apple kupuje NeXT Computer se záměrem využít OS NeXTSTEP jako náhradu za nedostačující Mac OS • O rok později se Steve Jobs vrací do Apple • Založen částečně na FreeBSD, Mach jádře • Objective-C framework (dnes Cocoa) • Vytvářen „na míru" počítačům Apple • Víceuživatelský systém, • Zaměřen na uživatele • Vysoká přívětivost - Human Interface Guidelines vydané Applem jsou používány i u dalších SW 1984 1985 1989 1990 1991 ^ UnixTSS \ Unix TSS (Time S ha ring System) 3 to 10 Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 19 / 29 Apple Mac OS - historie a vazby na UNIX • Klíčový, pro rozšíření nastupující nové platformy IBM PC • Základ systému tvořil QDOS (Quick and Dirty OS), který zakoupil Microsoft za 50000 USD od firmy Seattle Computer Products. • Hlavní funkce: • práce se soubory a složkami • spouštění programů • formátování disket a disků • jednoduché skriptování • Nejprve samostatný systém (jehož grafickou nadstavbou se staly Windows) • Poslední samostatně prodávaná (a nejznámější) byla verze MS-DOS 6.22 • Od Windows 95 již integrována v systému Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 21 / 29 • 1985: MS Windows 1.0 • první pokus implementovat grafické prostředí podporující multitasking • Až do verze Windows 3.1x pouze jako grafická nadstavba MS-DOS • po celou dobu pouze podpora kooperativního multitaskingu • Windows for Workgroups 3.1x - podpora networkingu (MS, IBM, Novell) • Sdílení souborů, tiskáren, e-maily • Pro TCP/IP bylo nutné použít externí program • Windows 95 • 16/32bitový grafický operační systém určený pro osobní počítače rodiny IBM PC • Přímý nástupce MS-DOS • Grafické prostředí s typickou nabídkou Start • Podpora dlouhých názvů souborů (až 255 znaků) • Nástupci - Windows 98, Windows ME (Milénium Edition) • Windows NT (New Technology) - původně 32b systém určen pro servery, od Windows XP jediné používané jádro Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 22 / 29 Game Skill 111BBB3 MS-DOS Executiue J|S Write - README .DOC File Uiew Special ABC BUILD CALC CALEh CARDF CGA.D CGA.G CGA.L CITOK CLIPB CLOCK COMM \iJiunnus_ 1 File Edit Search Character Paragraph Document Microsoft Uindous MS-DOS Executiue Uersion 1.B1 Copyright @ 1985, Microsoft Corp. Disk Space Free: 30B2J»K Memory Free: 303K CONTROL.EME COURA.FOM COURB.FOM COURC.FOH EGAMONO EGAMONO EMM.AT EMM.PC GRB LGO HPLfl I BMG JOVll KERn i tdrmmtu nformation shou Indows. Also co Addendum end "HOUTTHE SPO| 3 print from an a| 'his may be prefi Dnfiguration as it iture change the Son of the WIN.Iľ- 3pooler=no will c RUNNING BATCH (.BAT] FILE! If you run a standard applicatio should create a PIFfile forthe CJPage 1 ■Ľ Zdroj: http://en.wikipedia.org Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 23 / 29 Historie MS Windows Microsoft Windows fam ly tree MS DOS hasac and 9« N I kenel-tssed Server only PV109: Historie a vyvojove trendy ve VT podzim 2014 24 / 29 • Síťový OS vyvíjený od roku 1983, aktuální verze 6.5 • Založen na konceptu sdílení souborů namísto sdílení disku v lokální síti • Inspirace ve vlastnostech mainframů • Model klient-server • Platformě nezávislý, používal síťové protokoly IPX/SPX (od verze 5 TCP/IP) • Výkonostně předčil všechny své konkurenty díky 4 vlastnostem: • nepreemptivní OS určený pro síťové služby o NCP (NetWare Core Protocol) - předpokládal, že síť bude korektně fungovat většinu času • agresivní cachování • přístup přímo k souborům Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT I podzim 2014 25 / 29 • Určeny pro tablety, PDA a ,,chytré telefony" • Mnohdy založeny na OS pro osobní počítače (iOS, Android) • Jedná se o operační systémy reálného času • Významná omezení ze strany HW: • kapacita paměti • výdrž vs. výkon • uživatelské rozhraní (dotykový senzor, HW klávesnice) • Příklady: • Symbian OS - otevřený systém, manažerské telefony Nokia • BlackBerry OS - zaměřen na snadnou ovladatelnost, a bezpečnost (šifrovaný přenos zpráv) • Windows CE - původně určen pro PDA, stal se základem pro další typy mobilních systémů (např. AutoPC, Windows Phone) • Samsung Bada, MeeGo, Maemo, Palm OS, Windows 8, Windows RT, Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 26 / 29 • Založen na linuxu, open source platforma • Dostupný na velké škále zařízení různých výrobců (tablety, telefony, multimediální centra, apod.) • Pro vývojáře Android SDK • Pět vrstev • Jádro operačního systému • Knihovny OS - napsány v C/C++, dostupné vývojářům skrze framework CIHD^OID • Android Runtime - aplikační virtuální stroj • Application Framework - přístup ke službám • Aplikační vrstva - základní uživatelské aplikace (e-mailový klient, SMS, mapy, ...) Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 27 / 29 • Odlehčená verze Mac OS X, původně OS pro iPhone • Později i pro iPod Touch, iPad a Apple TV • Uživatelské rozhraní založeno na idee přímé interakce pomocí vícedotykové obrazovky • Nemožnost přístupu k adresářové struktuře - soubory jsou dostupné z aplikací iv_l.^ • Do verze 4 multitasking omezený pouze na předinstalované aplikace o Čtyři vrstvy • Core OS - poskytuje nízkoúrovňové funkce ostatním technologiím • Core Services - vysokoúrovňové služby systému (např. lokační služby) o Media - umožňuje přehrávat multimediální soubory a vytváření multimediálních aplikací • Cocoa Touch - poskytuje frameworky pro vývoj aplikací (GUI, dotykové rozhraní a pod.) Luděk Matýska (Fl MU) PV109: Historie a vývojové trendy ve VT podzim 2014 28 / 29 vývoje mobilních OS 1000 3001 1001 1001 1004 1005 1004 1007 1008 10» IDIO Windows CE 30 Windows CE 4.2 lEtPCMJM Fortun PC 1002 Window Met Ie IMS Wmda 1oĚ.S WA17 MIsroioFI Mobile I IPtione I iFhi-ne 1.0 | iFtiLne J.O ffl I frmbian Q5 & |~ Syinblan"! A2 "3 rr OS 1.0 H.i Palm OSÉCcbak Palm 05 LnuK/ALP Pa n OS Ix GaT erry 051.0 3.0 4.2 4.3 4J