Evoluce operačních systémů různých typů počítačů. Historie vývoje operačních systémů má čtyři období

Charakteristika podstaty, účelu, funkcí operačních systémů. Charakteristické rysy jejich vývoje. Vlastnosti algoritmů správy zdrojů. Moderní koncepce a technologie pro návrh operačních systémů, požadavky na OS 21. století.

ZAVEDENÍ

1. Vývoj OS

1.1 První období (1945–1955)

1.2 Druhé období (1955 - 1965)

1.3 Třetí období (1965 - 1980)

1.4 Čtvrté období (1980–současnost)

2. Klasifikace OS

2.1 Vlastnosti algoritmů správy zdrojů

2.2 Vlastnosti hardwarových platforem

2.3 Vlastnosti oblastí použití

2.4 Vlastnosti konstrukčních metod

3. Moderní koncepce a technologie pro návrh operačních systémů, požadavky na OS 21. století

Závěr

Seznam použité literatury

ZAVEDENÍ

Historie jakéhokoli odvětví vědy nebo techniky nám umožňuje nejen uspokojit přirozenou zvědavost, ale také lépe porozumět podstatě hlavních úspěchů tohoto odvětví, porozumět stávajícím trendům a správně posoudit perspektivy určitých oblastí rozvoje. Operační systémy za téměř půlstoletí své existence prošly nelehkou cestou plnou mnoha důležitých událostí. Vývoj operačních systémů byl do značné míry ovlivněn úspěchy ve zdokonalování základny prvků a výpočetního vybavení, takže řada fází vývoje OS úzce souvisí se vznikem nových typů hardwarových platforem, jako jsou minipočítače nebo osobní počítače. Operační systémy prošly vážným vývojem kvůli nové roli počítačů v lokálních a globálních sítích. Nejdůležitějším faktorem při vývoji OS byl internet. Jak tato síť získává vlastnosti univerzálního prostředku hromadné komunikace, operační systémy se stávají jednoduššími a pohodlnějšími na používání, zahrnují vyvinuté prostředky pro podporu multimediálních informací a jsou vybaveny spolehlivými bezpečnostními opatřeními.

Cílem této práce je popsat a analyzovat vývoj operačních systémů.

Cíle je dosaženo prostřednictvím následujících úkolů:

Zvažte historický aspekt vzniku operačních systémů;

Identifikujte a zvažte fáze vývoje operačních systémů.

Nutno podotknout, že nebyl dostatečně zpracován v literatuře, což znesnadňovalo jeho studium.

V průběhu studie byla provedena krátká analýza takových zdrojů, jako jsou materiály ze stránky http://www.microsoft.com/rus, materiály z Windows NT Magazine a další.

Práce se skládá ze tří kapitol: úvodu, závěru a seznamu literatury.

1 . Evoluce OS

1.1 První období (1945-1955)

Je známo, že počítač vynalezl anglický matematik Charles Babage na konci osmnáctého století. Jeho „analytický motor“ nikdy nemohl reálně fungovat, protože tehdejší technologie nesplňovaly požadavky na výrobu dílů přesné mechaniky, které byly nutné pro výpočetní techniku. Je také známo, že tento počítač neměl operační systém.

Určitý pokrok ve vytváření digitálních počítačů nastal po druhé světové válce. V polovině 40. let byla vytvořena první elektronková výpočetní zařízení. Na návrhu, provozu a programování počítače se tehdy podílela stejná skupina lidí. Jednalo se spíše o výzkumnou práci v oblasti výpočetní techniky, než o využití počítačů jako nástroje pro řešení případných praktických problémů z jiných aplikovaných oblastí. Programování probíhalo výhradně ve strojovém jazyce. O operačních systémech nebyla řeč, všechny úkoly organizace výpočetního procesu řešil každý programátor ručně z ovládacího panelu. Neexistoval žádný jiný systémový software kromě knihoven matematických a obslužných rutin.

1.2 Druhé období (1955 - 1965)

Od poloviny 50. let začalo nové období ve vývoji výpočetní techniky spojené se vznikem nové technické základny – polovodičových prvků. Počítače druhé generace se staly spolehlivějšími, nyní dokázaly pracovat nepřetržitě tak dlouho, že mohly být pověřeny plněním skutečně prakticky důležitých úkolů. V tomto období se personál dělil na programátory a operátory, operátory a vývojáře počítačů.

Během těchto let se objevily první algoritmické jazyky a následně první systémové programy - kompilátory. Náklady na čas CPU se zvýšily, což vyžaduje snížení časové režie mezi běhy programů. Objevily se první systémy dávkového zpracování, které jednoduše automatizovaly spouštění jednoho programu za druhým a tím zvyšovaly vytížení procesoru. Systémy dávkového zpracování byly prototypem moderních operačních systémů, staly se prvními systémovými programy určenými k řízení výpočetního procesu. Při implementaci systémů pro dávkové zpracování byl vyvinut formalizovaný jazyk pro řízení úloh, s jehož pomocí programátor informoval systém a obsluhu, jakou práci chce na počítači vykonávat. Soubor několika úkolů, obvykle ve formě balíčku děrných štítků, se nazývá balíček úkolů.

1.3 Třetí období (1965 - 1980)

Další důležité období ve vývoji počítačů spadá do let 1965-1980. V této době došlo v technické základně k přechodu od jednotlivých polovodičových prvků jako jsou tranzistory k integrovaným obvodům, což dávalo mnohem větší možnosti nové, třetí generaci počítačů.

Toto období bylo také charakterizováno vytvářením rodin softwarově kompatibilních strojů. První rodinou softwarově kompatibilních strojů postavených na integrovaných obvodech byla řada strojů IBM/360. Tato rodina, postavená na počátku 60. let, výrazně převyšovala stroje druhé generace v poměru cena/výkon. Myšlenka softwarově kompatibilních strojů se brzy stala obecně uznávanou.

Kompatibilita softwaru také vyžadovala kompatibilitu operačního systému. Takové operační systémy by musely běžet na velkých i malých počítačových systémech s velkým i malým počtem periferií v komerčních a vědecko-výzkumných aplikacích. Operační systémy postavené tak, aby uspokojily všechny tyto protichůdné požadavky, se ukázaly jako extrémně složitá monstra. Skládaly se z mnoha milionů řádků kódu assembleru, napsaného tisíci programátorů, a obsahovaly tisíce chyb způsobujících nekonečný proud oprav. S každou novou verzí operačního systému byly některé chyby opraveny a jiné byly zavedeny.

Současně, navzdory své obrovské velikosti a mnoha problémům, OS/360 a další podobné operační systémy na strojích třetí generace ve skutečnosti uspokojily většinu požadavků spotřebitelů. Nejdůležitějším úspěchem OS této generace byla implementace multiprogramování. Multiprogramování je způsob organizace výpočetního procesu, ve kterém je na jednom procesoru střídavě vykonáváno několik programů. Zatímco jeden program provádí I/O operaci, procesor není nečinný, jako tomu bylo při sekvenčním provádění programů (režim jednoho programu), ale provádí jiný program (režim více programů). V tomto případě je každý program načten do své vlastní části paměti RAM, nazývané oddíl.

Další novinkou je navíjení. Spooling byl v té době definován jako způsob organizace výpočetního procesu, podle kterého byly úkoly načítány z děrných štítků na disk tempem, jakým se objevovaly ve výpočetním středisku, a poté, když byl dokončen další úkol, nový úloha byla načtena z disku do volného oddílu.

Spolu s multiprogramovou implementací systémů dávkového zpracování se objevil nový typ OS - systémy sdílení času. Možnost multiprogramování používaná v systémech sdílení času má za cíl vytvořit u každého jednotlivého uživatele iluzi výhradního používání počítače.

1.4 Čtvrté období (1980–současnost)

Další období ve vývoji operačních systémů je spojeno s nástupem rozsáhlých integrovaných obvodů (LSI). Během těchto let došlo k prudkému nárůstu stupně integrace a snížení nákladů na mikroobvody. Počítač se stal dostupným pro jednotlivce a začala éra osobních počítačů. Z architektonického hlediska se osobní počítače nelišily od třídy minipočítačů typu PDP-11, ale jejich ceny byly výrazně odlišné. Jestliže minipočítač umožnil oddělení podniku nebo univerzity mít vlastní počítač, pak to umožnil osobní počítač jednotlivci.

Počítače začaly hojně využívat laici, což vyžadovalo vývoj „přátelského“ softwaru, který ukončil kastu programátorů.

Trhu operačních systémů dominovaly dva systémy: MS-DOS a UNIX. Jednoprogramový, jednouživatelský operační systém MS-DOS byl široce používán pro počítače postavené na mikroprocesorech Intel 8088 a později 80286, 80386 a 80486. Mezi „non-Intel“ dominoval víceprogramový a víceuživatelský UNIX OS. počítače, zejména ty postavené na vysoce výkonných RISC procesorech.

V polovině 80. let se začaly rychle rozvíjet sítě osobních počítačů provozovaných pod síťovými nebo distribuovanými operačními systémy.

V síťových operačních systémech si uživatelé musí být vědomi přítomnosti jiných počítačů a musí se přihlásit k jinému počítači, aby mohli využívat jeho prostředky, zejména soubory. Každý stroj v síti provozuje svůj vlastní lokální operační systém, který se liší od OS samostatného počítače tím, že obsahuje další nástroje, které umožňují počítači pracovat v síti. Síťový OS nemá žádné zásadní rozdíly od OS jednoprocesorového počítače. Nezbytně obsahuje softwarovou podporu zařízení síťového rozhraní (ovladač síťového adaptéru), dále nástroje pro vzdálené přihlašování k dalším počítačům v síti a nástroje pro přístup ke vzdáleným souborům, tyto doplňky však nijak výrazně nemění strukturu samotného operačního systému.

2. Klasifikace OS

Operační systémy se mohou lišit v implementačních vlastnostech vnitřních algoritmů pro správu hlavních počítačových zdrojů (procesory, paměť, zařízení), vlastnostech použitých metod návrhu, typech hardwarových platforem, oblastech použití a mnoha dalších vlastnostech.

Níže je uvedena klasifikace OS podle několika nejzákladnějších charakteristik.

2.1 Vlastnosti algoritmů správy zdrojů

Efektivita celého síťového OS jako celku do značné míry závisí na účinnosti algoritmů pro správu místních počítačových zdrojů. Proto při charakterizaci síťového OS často uvádějí nejdůležitější vlastnosti implementace funkcí OS pro správu procesorů, paměti a externích zařízení autonomního počítače. Například v závislosti na vlastnostech použitého algoritmu řízení procesoru se operační systémy dělí na víceúlohové a jednoúlohové, víceuživatelské a jednouživatelské, systémy, které podporují vícevláknové zpracování, a systémy, které nepodporují vícevláknové zpracování. procesorové a jednoprocesorové systémy.

Podpora multitaskingu. Na základě počtu současně prováděných úloh lze operační systémy rozdělit do dvou tříd:

jednoúlohové (například MS-DOS, MSX) a

multitasking (OC EC, OS/2, UNIX, Windows 95).

Jednoúlohové operační systémy plní hlavně funkci poskytování virtuálního stroje uživateli, čímž je proces interakce mezi uživatelem a počítačem jednodušší a pohodlnější. Jednoúlohové operační systémy zahrnují nástroje pro správu periferních zařízení, nástroje pro správu souborů a nástroje pro komunikaci s uživateli.

Multitasking OS kromě výše uvedených funkcí spravuje rozdělení sdílených zdrojů jako je procesor, RAM, soubory a externí zařízení.

Podpora režimu pro více uživatelů. Podle počtu souběžných uživatelů se operační systémy dělí na:

pro jednoho uživatele (MS-DOS, Windows 3.x, starší verze OS/2);

víceuživatelský (UNIX, Windows NT).

Hlavním rozdílem mezi systémy pro více uživatelů a systémy pro jednoho uživatele je dostupnost prostředků k ochraně informací každého uživatele před neoprávněným přístupem jiných uživatelů. Je třeba poznamenat, že ne každý multitaskingový systém je víceuživatelský a ne každý jednouživatelský OS je jednoúlohový.

Preemptivní a nepreemptivní multitasking. Nejdůležitějším sdíleným zdrojem je čas procesoru. Způsob distribuce času procesoru mezi několik současně existujících procesů (nebo vláken) v systému do značné míry určuje specifika operačního systému. Mezi mnoha existujícími možnostmi implementace multitaskingu lze rozlišit dvě skupiny algoritmů:

nepreemptivní multitasking (NetWare, Windows 3.x);

preemptivní multitasking (Windows NT, OS/2, UNIX).

Hlavním rozdílem mezi preemptivním a nepreemptivním multitaskingem je míra centralizace mechanismu plánování procesů. V prvním případě je mechanismus plánování procesů zcela soustředěn v operačním systému a ve druhém je distribuován mezi systém a aplikační programy. Při nepreemptivním multitaskingu běží aktivní proces, dokud z vlastní iniciativy neposkytne řízení operačnímu systému, aby si z fronty vybral jiný proces připravený ke spuštění. Při preemptivním multitaskingu rozhoduje o přepnutí procesoru z jednoho procesu na druhý operační systém, nikoli samotný aktivní proces.

Podpora multithreadingu. Důležitou vlastností operačních systémů je schopnost paralelizovat výpočty v rámci jediné úlohy. Vícevláknový OS rozděluje čas procesoru nikoli mezi úlohy, ale mezi jejich jednotlivé větve (vlákna).

Multiprocessing. Další důležitou vlastností OS je absence nebo přítomnost podpory pro multiprocessing - multiprocessing. Multiprocessing vede ke komplikacím všech algoritmů správy zdrojů.

V dnešní době se stává běžnou praxí zavádět do OS funkce podpory multiprocesingu. Tyto funkce jsou k dispozici v Solaris 2.x od Sun, Open Server 3.x Santa Crus Operations, OS/2 od IBM, Windows NT od Microsoftu a NetWare 4.1 od Novellu.

Víceprocesorové operační systémy lze klasifikovat podle způsobu, jakým je výpočetní proces organizován v systému s víceprocesorovou architekturou: asymetrické operační systémy a symetrické operační systémy. Asymetrický operační systém běží pouze na jednom systémovém procesoru a rozděluje aplikační úlohy mezi zbývající procesory. Symetrický OS je zcela decentralizovaný a využívá celý fond procesorů, rozděluje je mezi systémové a aplikační úlohy.

Výše jsme diskutovali o charakteristikách operačního systému souvisejících se správou pouze jednoho typu zdroje - procesoru. Vlastnosti dalších lokálních subsystémů správy zdrojů - paměti, souborů a subsystémů správy vstupně-výstupních zařízení - mají důležitý vliv na vzhled operačního systému jako celku a na možnosti jeho využití v konkrétní oblasti.

Specifičnost OS se projevuje i ve způsobu, jakým implementuje síťové funkce: rozpoznávání a přesměrování požadavků na vzdálené zdroje do sítě, přenos zpráv po síti, provádění vzdálených požadavků. Při implementaci síťových funkcí vyvstává soubor úkolů souvisejících s distribuovanou povahou ukládání a zpracování dat v síti: udržování referenčních informací o všech zdrojích a serverech dostupných v síti, řešení interagujících procesů, zajištění transparentnosti přístupu, replikace dat, sladění kopie, zachování bezpečnosti dat.

2. 2 Vlastnosti hardwarových platforem

Vlastnosti operačního systému jsou přímo ovlivněny hardwarem, na kterém je navržen. Podle typu hardwaru se rozlišují operační systémy osobních počítačů, minipočítačů, sálových počítačů, clusterů a počítačových sítí. Mezi uvedenými typy počítačů mohou být jednoprocesorové i víceprocesorové varianty. V každém případě se specifika hardwaru obvykle promítají do specifik operačních systémů.

Je zřejmé, že OS velkého stroje je složitější a funkčnější než OS osobního počítače. V OS velkých strojů jsou tedy funkce pro plánování toku prováděných úloh zjevně implementovány pomocí komplexních prioritních disciplín a vyžadují větší výpočetní výkon než v OS osobních počítačů. U ostatních funkcí je situace podobná.

Síťový OS zahrnuje prostředky pro přenos zpráv mezi počítači přes komunikační linky, které jsou v samostatném OS zcela zbytečné. Na základě těchto zpráv síťový OS podporuje sdílení počítačových zdrojů mezi vzdálenými uživateli připojenými k síti. Pro podporu funkcí přenosu zpráv obsahují síťové operační systémy speciální softwarové komponenty, které implementují oblíbené komunikační protokoly jako IP, IPX, Ethernet a další.

Víceprocesorové systémy vyžadují od operačního systému speciální organizaci, s jejíž pomocí může být samotný operační systém i jím podporované aplikace spouštěny paralelně jednotlivými procesory systému. Paralelní provoz jednotlivých částí OS vytváří další problémy pro vývojáře OS, protože v tomto případě je mnohem obtížnější zajistit konzistentní přístup jednotlivých procesů ke společným systémovým tabulkám, eliminovat vliv závodů a další nežádoucí důsledky asynchronního provádění práce.

Jiné požadavky platí pro klastrové operační systémy. Cluster je volně propojená kolekce několika výpočetních systémů, které spolupracují na spouštění společných aplikací a které se uživateli jeví jako jeden systém. Spolu se speciálním hardwarem vyžaduje fungování clusterových systémů také softwarovou podporu operačního systému, která se týká především synchronizace přístupu ke sdíleným zdrojům, detekce chyb a dynamické rekonfigurace systému. Jedním z prvních vývojů v oblasti clusterových technologií byla řešení od společnosti Digital Equipment založená na počítačích VAX. Společnost nedávno uzavřela smlouvu se společností Microsoft Corporation na vývoj technologie clusterů pomocí Windows NT. Několik společností nabízí clustery založené na strojích UNIX.

Spolu s OS, které jsou zaměřeny na velmi specifický typ hardwarové platformy, existují operační systémy, které jsou speciálně navrženy tak, aby je bylo možné snadno přenést z jednoho typu počítače na jiný, tzv. mobilní OS. Nejvýraznějším příkladem takového OS je populární systém UNIX. V těchto systémech jsou místa závislá na hardwaru pečlivě lokalizována, takže při převodu systému na novou platformu dojde pouze k jejich přepsání. Prostředkem, jak usnadnit portování zbytku operačního systému, je napsat jej ve strojově nezávislém jazyce, jako je C, který byl vyvinut pro programování operačních systémů.

2. 3 Vlastnosti oblastí použití

Multitaskingové operační systémy jsou rozděleny do tří typů podle kritérií účinnosti použitých při jejich vývoji:

systémy pro dávkové zpracování (například OC EC),

systémy sdílení času (UNIX, VMS),

systémy reálného času (QNX, RT/11).

Systémy dávkového zpracování byly určeny k řešení problémů především výpočetní povahy, které nevyžadovaly rychlé výsledky. Hlavním cílem a kritériem efektivity systémů dávkového zpracování je maximální propustnost, tedy vyřešení maximálního počtu úloh za jednotku času. K dosažení tohoto cíle využívají systémy dávkového zpracování následující operační schéma: na začátku práce se vytvoří dávka úloh, každá úloha obsahuje požadavek na systémové prostředky; z tohoto balíčku úloh se tvoří multiprogramová směs, tedy mnoho současně prováděných úloh. Pro simultánní provádění jsou vybírány úlohy, které mají různé požadavky na zdroje, aby bylo zajištěno vyvážené zatížení všech zařízení počítače; například v multiprogramové směsi je žádoucí současná přítomnost výpočetních úloh a I/O náročných úloh. Výběr nového úkolu z balíčku úkolů tedy závisí na vnitřní situaci v systému, to znamená, že je vybrán „ziskový“ úkol. V důsledku toho není v takových operačních systémech možné zaručit dokončení konkrétního úkolu v určitém časovém období. V systémech dávkového zpracování dochází k přepnutí procesoru ze spouštění jedné úlohy na spouštění jiné pouze v případě, že samotná aktivní úloha opustí procesor, například kvůli nutnosti provést I/O operaci. Jedna úloha proto může zaměstnávat procesor na dlouhou dobu, což znemožní dokončení interaktivních úloh. Interakce uživatele s počítačem, na kterém je nainstalován systém dávkového zpracování, se tak scvrkává na skutečnost, že přinese úkol, zadá ho dispečerovi-operátorovi a na konci dne, po dokončení celé dávky úkolů , obdrží výsledek. Je zřejmé, že toto uspořádání snižuje efektivitu uživatele.

Systémy pro sdílení času jsou navrženy tak, aby napravily hlavní nevýhodu systémů dávkového zpracování - izolaci uživatele-programátora od procesu provádění jeho úkolů. Každý uživatel systému sdílení času má k dispozici terminál, ze kterého může vést dialog se svým programem. Vzhledem k tomu, že systémy s časovým sdílením přidělují každé úloze pouze část času CPU, žádná jednotlivá úloha nezabírá procesor příliš dlouho a doby odezvy jsou přijatelné. Pokud je kvantum zvoleno dostatečně malé, pak všichni uživatelé pracující současně na stejném stroji mají dojem, že každý z nich používá pouze stroj. Je jasné, že systémy pro sdílení času mají nižší propustnost než systémy pro dávkové zpracování, protože každá úloha spuštěná uživatelem je přijata k provedení, a ne ta, která je pro systém „výhodná“, a navíc je zde režie výpočetního výkonu pro častější přepínání procesoru z úlohy na úlohu. Kritériem efektivity systémů sdílení času není maximální propustnost, ale pohodlí a efektivita uživatele.

Systémy reálného času slouží k řízení různých technických objektů, jako je obráběcí stroj, satelit, vědecká experimentální instalace, nebo technologické procesy, jako je galvanická linka, vysokopecní proces atd. Ve všech těchto případech existuje maximální přípustná doba, během níž musí být proveden ten či onen program, který řídí objekt, jinak může dojít k nehodě: satelit opustí zónu viditelnosti, experimentální data ze senzorů se ztratí, tloušťka galvanického povlaku nebude odpovídat normě. Kritériem účinnosti pro systémy pracující v reálném čase je tedy jejich schopnost odolat předem stanoveným časovým intervalům mezi spuštěním programu a získáním výsledku (kontrolní akce). Tato doba se nazývá reakční doba systému a odpovídající vlastnost systému se nazývá reaktivita. Pro tyto systémy je víceprogramová směs pevnou sadou předem vyvinutých programů a výběr programu pro provedení se provádí na základě aktuálního stavu objektu nebo v souladu s harmonogramem plánovaných prací.

Některé operační systémy mohou kombinovat vlastnosti různých typů systémů, například některé úlohy lze provádět v režimu dávkového zpracování a některé v reálném čase nebo v režimu sdílení času. V takových případech se režim dávkového zpracování často nazývá režim na pozadí.

2. 4 Vlastnosti stavebních metod

Při popisu operačního systému jsou často naznačeny rysy jeho strukturální organizace a základní koncepty, na nichž je založen.

Mezi tyto základní pojmy patří:

Způsoby sestavení jádra systému - přístup monolitické jádro nebo mikrokernel. Většina operačních systémů používá monolitické jádro, které je zkompilováno jako jeden program, který běží v privilegovaném režimu a využívá rychlé přechody z jedné procedury do druhé bez nutnosti přepínání z privilegovaného do uživatelského režimu a naopak. Alternativou je vybudování operačního systému na bázi mikrojádra, který rovněž funguje v privilegovaném režimu a vykonává pouze minimum funkcí správy hardwaru, zatímco funkce operačního systému vyšší úrovně zajišťují specializované komponenty operačního systému – servery běžící v uživatelském režimu. S tímto návrhem OS pracuje pomaleji, protože se často provádějí přechody mezi privilegovaným režimem a uživatelským režimem, ale systém se ukazuje jako flexibilnější - jeho funkce lze rozšířit, upravit nebo zúžit přidáním, úpravou nebo vyloučením serverů v uživatelském režimu. . Kromě toho jsou servery navzájem dobře chráněny, stejně jako jakékoli uživatelské procesy.

Vybudování OS na objektově orientovaném přístupu umožňuje v rámci operačního systému využít všechny jeho přednosti, které se osvědčily na aplikační úrovni, a to: akumulaci úspěšných řešení ve formě standardních objektů, schopnost vytvářet nové objekty na základě stávajících pomocí mechanismu dědičnosti, dobrá ochrana dat díky jejich zapouzdření ve vnitřních strukturách objektu, díky čemuž jsou data nepřístupná pro neoprávněné použití zvenčí, strukturování systému, sestávajícího ze sady dobře definované objekty.

Přítomnost několika aplikačních prostředí umožňuje současně spouštět aplikace vyvinuté pro několik operačních systémů v rámci jednoho OS. Mnoho moderních operačních systémů současně podporuje MS-DOS, Windows, UNIX (POSIX), OS/2 nebo alespoň nějakou podmnožinu této oblíbené sady. Koncept více aplikačních prostředí je nejjednodušeji implementován v OS založeném na mikrojádru, na kterém pracují různé servery, z nichž některé implementují aplikační prostředí konkrétního operačního systému.

Distribuovaná organizace operačního systému umožňuje zjednodušit práci uživatelů a programátorů v síťových prostředích. Distribuovaný OS implementuje mechanismy, které uživateli umožňují představit si a vnímat síť ve formě tradičního jednoprocesorového počítače. Charakteristické rysy organizace distribuovaného OS jsou: přítomnost jediné referenční služby pro sdílené zdroje, jednorázová služba, použití mechanismu vzdáleného volání procedur (RPC) pro transparentní distribuci softwarových procedur mezi stroje, vícevláknové zpracování, což umožňuje paralelizovat výpočty v rámci jedné úlohy a provést tuto úlohu okamžitě na několika počítačích v síti, stejně jako přítomnost dalších distribuovaných služeb.

3. Moderní koncepce a technologie pro návrh operačních systémů, požadavky na OSXXIstoletí

Operační systém je jádrem síťového softwaru, vytváří prostředí, ve kterém mohou aplikace běžet, a do značné míry určuje, jaké výhody tyto aplikace uživateli poskytnou. V tomto ohledu zvážíme požadavky, které musí splňovat moderní OS.

Je zřejmé, že hlavním požadavkem na operační systém je schopnost provádět základní funkce: efektivní správu zdrojů a poskytování pohodlného rozhraní pro uživatele a aplikační programy. Moderní OS musí zpravidla implementovat multiprogramové zpracování, virtuální paměť, swapování, podporovat rozhraní s více okny a také provádět mnoho dalších naprosto nezbytných funkcí. Kromě těchto funkčních požadavků čelí operační systémy stejně důležitým požadavkům trhu. Mezi tyto požadavky patří:

· Rozšiřitelnost. Kód by měl být napsán tak, aby v případě potřeby bylo snadné provádět doplňky a změny, aniž by došlo k narušení integrity systému.

· Přenositelnost. Kód by měl být snadno přenosný z jednoho typu procesoru na jiný typ procesoru az hardwarové platformy (která zahrnuje spolu s typem procesoru způsob, jakým je organizován veškerý počítačový hardware) jednoho typu na jiný typ hardwarové platformy.

· Spolehlivost a odolnost proti poruchám. Systém musí být chráněn před vnitřními i vnějšími chybami, poruchami a poruchami. Jeho akce by měly být vždy předvídatelné a aplikace by neměly být schopny poškodit OS.

· Kompatibilita. OS musí mít schopnost spouštět aplikační programy napsané pro jiné operační systémy. Kromě toho musí být uživatelské rozhraní kompatibilní se stávajícími systémy a standardy.

· Bezpečnost. OS musí mít prostředky k ochraně zdrojů některých uživatelů před ostatními.

· Produktivita. Systém musí být tak rychlý a citlivý, jak to hardwarová platforma umožňuje.

Podívejme se blíže na některé z těchto požadavků.

Rozšiřitelnost Zatímco počítačový hardware zastará během několika let, životnost operačních systémů lze měřit v desetiletích. Příkladem je OS UNIX. Operační systémy se proto vždy vyvíjejí v čase a tyto změny jsou významnější než změny hardwaru. Změny OS obvykle představují získání nových vlastností. Jde například o podporu nových zařízení, jako je CD-ROM, možnost komunikace s novými typy sítí, podporu slibných technologií, jako jsou grafická uživatelská rozhraní nebo objektově orientovaná softwarová prostředí, a využití více než jednoho procesoru. Udržování integrity kódu bez ohledu na to, jaké změny jsou provedeny v operačním systému, je hlavním cílem vývoje.

Rozšiřitelnosti lze dosáhnout prostřednictvím modulární struktury operačního systému, ve které jsou programy sestaveny ze sady jednotlivých modulů, které interagují pouze prostřednictvím funkčního rozhraní. Nové komponenty lze do operačního systému přidávat modulárním způsobem a svou práci vykonávají pomocí rozhraní podporovaných stávajícími komponentami.

Použití objektů k reprezentaci systémových prostředků také zlepšuje rozšiřitelnost systému. Objekty jsou abstraktní datové typy, na kterých můžete provádět pouze ty akce, které poskytuje speciální sada objektových funkcí. Objekty vám umožňují řídit systémové prostředky konzistentním způsobem. Přidání nových objektů nezničí existující objekty a nevyžaduje změny stávajícího kódu.

Vynikající příležitosti pro rozšíření poskytuje přístup klient-server ke strukturování operačního systému pomocí technologie mikrojádra. V souladu s tímto přístupem je OS vytvořen jako kombinace privilegovaného řídicího programu a sady neprivilegovaných serverových služeb. Hlavní část operačního systému může zůstat nezměněna, zatímco se přidávají nové servery nebo se vylepšují staré.

Vzdálená volání procedur (RPC) také poskytují možnost rozšířit funkčnost operačního systému. Nové softwarové rutiny lze přidat do libovolného stroje v síti a okamžitě je zpřístupnit aplikačním programům na jiných strojích v síti.

Pro zlepšení rozšiřitelnosti podporují některé operační systémy ovladače ke stažení, které lze do systému přidat za běhu. Nové systémy souborů, zařízení a sítě lze podporovat napsáním ovladače zařízení, ovladače systému souborů nebo ovladače přenosu a jeho načtením do systému.

Přenosnost Požadavek na přenositelnost kódu úzce souvisí s rozšiřitelností. Rozšiřitelnost umožňuje vylepšit operační systém, zatímco přenositelnost umožňuje přesunout celý systém na stroj založený na jiném procesoru nebo hardwarové platformě, a to vše při co nejmenších změnách v kódu. Ačkoli jsou operační systémy často popisovány jako přenosné nebo nepřenosné, přenositelnost není binární podmínkou. Otázkou není, zda lze systém migrovat, ale jak snadno to lze provést. Psaní přenosného OS je podobné psaní jakéhokoli přenosného kódu – je potřeba dodržovat některá pravidla.

Za prvé, většina kódu by měla být napsána v jazyce, který je dostupný na všech počítačích, na které chcete systém přenést. To obvykle znamená, že kód musí být napsán v jazyce na vysoké úrovni, nejlépe ve standardizovaném jazyce, jako je C. Program napsaný v jazyce symbolických instrukcí není přenosný, pokud ho nezamýšlíte přenést na stroj, který má příkazovou kompatibilitu s vaším.

Zadruhé byste měli zvážit, do jakého fyzického prostředí by měl být program přenesen. Různý hardware vyžaduje různá řešení při vytváření OS. Například operační systém postavený na 32bitových adresách nelze přenést na stroj s 16bitovými adresami (kromě velmi obtížně).

Za třetí, je důležité minimalizovat nebo, pokud je to možné, eliminovat ty části kódu, které přímo interagují s hardwarem. Hardwarová závislost může mít mnoho podob. Některé zřejmé formy závislosti zahrnují přímou manipulaci s registry a dalším hardwarem.

Za čtvrté, pokud nelze zcela odstranit kód závislý na hardwaru, měl by být izolován v několika dobře lokalizovaných modulech. Kód závislý na hardwaru by neměl být distribuován v celém systému. Můžete například skrýt hardwarově specifickou strukturu v softwarově definovaných datech abstraktního typu. Ostatní moduly systému budou pracovat s těmito daty, nikoli se zařízením, pomocí sady určitých funkcí. Při migraci operačního systému se změní pouze tato data a funkce, které s nimi manipulují.

Aby bylo možné snadno portovat OS během jeho vývoje, musí být splněny následující požadavky:

· Přenosný jazyk na vysoké úrovni. Většina přenosných operačních systémů je napsána v jazyce C (standard ANSI X3.159-1989). Vývojáři volí C, protože je standardizované a protože kompilátory C jsou široce dostupné. Jazyk symbolických instrukcí se používá pouze pro ty části systému, které musí interagovat přímo s hardwarem (například obsluha přerušení) nebo pro části, které vyžadují maximální rychlost (například vysoce přesná aritmetika celých čísel). Zároveň musí být nepřenosný kód pečlivě izolován v rámci komponent, kde se používá.

· Izolace procesoru. Některé nízkoúrovňové části operačního systému musí mít přístup k datovým strukturám a registrům citlivým na procesor. Kód, který to dělá, však musí být obsažen v malých modulech, které lze nahradit podobnými moduly pro jiné procesory.

· Izolace platformy. Závislost na platformě označuje rozdíly mezi pracovními stanicemi od různých výrobců, které jsou postaveny na stejném procesoru (například MIPS R4000). Musí být zavedena softwarová vrstva, která abstrahuje hardware (mezipaměti, řadiče I/O přerušení atd.) spolu s vrstvou nízkoúrovňových programů, aby se kód na vysoké úrovni nemusel měnit při přenosu z jedné platformy na druhou. .

Kompatibilita Jedním z aspektů kompatibility je schopnost operačního systému spouštět programy napsané pro jiné operační systémy nebo pro dřívější verze daného operačního systému, stejně jako pro jinou hardwarovou platformu.

Je nutné oddělit otázky binární kompatibility a kompatibility na úrovni zdrojového kódu aplikace. Binární kompatibility je dosaženo, když můžete vzít spustitelný program a spustit jej na jiném OS. To vyžaduje: kompatibilitu na úrovni instrukcí procesoru, kompatibilitu na úrovni systémových volání a dokonce i na úrovni volání knihoven, pokud jsou dynamicky propojeny.

Kompatibilita na úrovni zdroje vyžaduje přítomnost vhodného kompilátoru jako součásti softwaru a také kompatibilitu na úrovni knihoven a systémových volání. V tomto případě je nutné překompilovat stávající zdrojové texty do nového spustitelného modulu.

Kompatibilita na zdrojové úrovni je důležitá hlavně pro vývojáře aplikací, kteří mají zdrojový kód vždy k dispozici. Pro koncové uživatele má však praktický význam pouze binární kompatibilita, protože pouze tehdy mohou používat stejný komerční produkt dodávaný jako binární spustitelný kód v různých operačních prostředích a na různých strojích.

Zda je nový operační systém binárně nebo zdrojově kompatibilní se stávajícími systémy, závisí na mnoha faktorech. Nejdůležitější z nich je architektura procesoru, na kterém nový OS běží. Pokud procesor, na který je OS portován, používá stejnou instrukční sadu (možná s nějakými doplňky) a stejný rozsah adres, pak lze binární kompatibility dosáhnout zcela jednoduše.

Je mnohem obtížnější dosáhnout binární kompatibility mezi procesory založenými na různých architekturách. Aby mohl jeden počítač spouštět programy druhého (například DOSový program na Macu), musí tento počítač pracovat se strojovými instrukcemi, kterým zpočátku nerozumí. Například procesor 680x0 na Macu musí spustit binární kód určený pro procesor 80x86 na PC. Procesor 80x86 má svůj vlastní instrukční dekodér, registry a vnitřní architekturu. Procesor 680x0 nerozumí binárnímu kódu 80x86, takže musí načíst každou instrukci, dekódovat ji, aby zjistil, co dělá, a poté provést ekvivalentní rutinu napsanou pro 680x0. Protože 680x0 také nemá přesně stejné registry, příznaky a vnitřní aritmetickou logickou jednotku jako 80x86, musí všechny tyto prvky simulovat pomocí svých registrů nebo paměti. A musí pečlivě reprodukovat výsledky každé instrukce, což vyžaduje speciálně napsané rutiny pro 680x0, aby bylo zajištěno, že stav emulovaných registrů a příznaků po provedení každé instrukce je přesně stejný jako na skutečném 80x86.

Je to jednoduchá, ale velmi pomalá práce, protože mikrokód uvnitř procesoru 80x86 běží na mnohem rychlejší úrovni než externí instrukce 680x0, které jej emulují. Za dobu, kterou trvá provedení jednoho příkazu 80x86 na 680x0, může skutečný 80x86 provést desítky příkazů. Pokud tedy procesor provádějící emulaci není dostatečně rychlý, aby kompenzoval všechny ztráty během emulace, pak programy spouštěné v emulaci budou velmi pomalé.

Řešením je v takových případech využití tzv. aplikačních prostředí. Vzhledem k tomu, že hlavní část programu se zpravidla skládá z volání funkcí knihovny, prostředí aplikace simuluje celé funkce knihovny pomocí předem napsané knihovny funkcí podobného účelu a zbývající příkazy emulují každý zvlášť. .

Soulad se standardy POSIX je také prostředkem k zajištění kompatibility mezi softwarem a uživatelskými rozhraními. V druhé polovině 80. let začaly americké vládní agentury vyvíjet POSIX jako hardwarové standardy pro vládní počítačové smlouvy. POSIX je "přenosné rozhraní operačního systému založené na UNIX". POSIX je sbírka mezinárodních standardů rozhraní OS ve stylu UNIX. Použití standardu POSIX (IEEE standard 1003.1 - 1988) umožňuje vytvářet programy ve stylu UNIX, které lze snadno přenášet z jednoho systému do druhého.

Bezpečnost Kromě standardu POSIX definovala vláda USA také požadavky na počítačovou bezpečnost pro aplikace používané vládou. Mnohé z těchto požadavků jsou žádoucí vlastnosti pro jakýkoli víceuživatelský systém. Pravidla zabezpečení definují vlastnosti, jako je ochrana zdrojů jednoho uživatele před ostatními a nastavení kvót zdrojů, aby jeden uživatel nemohl převzít všechny systémové prostředky (například paměť).

Zajištění ochrany informací před neoprávněným přístupem je povinnou funkcí síťových operačních systémů. Většina populárních systémů zaručuje stupeň zabezpečení dat odpovídající úrovni C2 v systému amerických norem.

Základy bezpečnostních standardů položila Kritéria pro hodnocení důvěryhodných počítačových systémů. Tento dokument, vydaný v USA v roce 1983 Národním střediskem počítačové bezpečnosti (NCSC), je často nazýván Orange Book.

Za zabezpečený systém je v souladu s požadavky Orange Book považován takový systém, který „prostřednictvím speciálních bezpečnostních mechanismů kontroluje přístup k informacím tak, že pouze oprávněné osoby nebo procesy běžící jejich jménem mohou získat přístup ke čtení, zápisu, vytvořit nebo odstranit informace“.

Hierarchie úrovní zabezpečení uvedená v Orange Book označuje nejnižší úroveň zabezpečení jako D a nejvyšší jako A.

· Třída D zahrnuje systémy, jejichž posouzení odhalilo jejich nesoulad s požadavky všech ostatních tříd.

· Hlavní vlastnosti charakteristické pro C-systémy jsou: přítomnost subsystému pro záznam bezpečnostních událostí a selektivní řízení přístupu. Úroveň C se dělí na 2 podúrovně: úroveň C1, která poskytuje ochranu dat před chybami uživatelů, nikoli však před akcemi útočníků, a přísnější úroveň C2. Na úrovni C2 musí existovat zařízení pro bezpečné přihlášení, které umožňuje identifikaci uživatelů zadáním jedinečného uživatelského jména a hesla, než jim bude povolen přístup do systému. Selektivní řízení přístupu požadované na této úrovni umožňuje vlastníkovi zdroje určit, kdo má ke zdroji přístup a co s ním může dělat. Vlastník to provede udělením přístupových práv uživateli nebo skupině uživatelů. Auditování – Poskytuje možnost detekovat a zaznamenávat důležité bezpečnostní události nebo jakékoli pokusy o vytvoření, přístup nebo odstranění systémových prostředků. Ochrana paměti je místo, kde je paměť inicializována před jejím opětovným použitím. Na této úrovni není systém chráněn před chybami uživatele, ale chování uživatele lze monitorovat pomocí záznamů protokolu, které zanechávají nástroje pro monitorování a audit.

Při zvažování evoluce OS je třeba mít na paměti, že rozdíl v době implementace některých principů organizace jednotlivých operačních systémů před jejich obecným uznáním, stejně jako terminologická nejistota, nedovoluje dát přesná chronologie vývoje OS. Nyní je však možné poměrně přesně určit hlavní milníky ve vývoji operačních systémů.

Existují také různé přístupy k určení generací OS. Je známo rozdělení OS na generace v souladu s generacemi počítačů a systémů [, ,]. Toto rozdělení nelze považovat za zcela uspokojivé, neboť vývoj metod pro organizaci OS v rámci jedné generace počítačů, jak ukázaly zkušenosti s jejich tvorbou, leží v poměrně širokém rozmezí. Jiný úhel pohledu nespojuje generaci OS s odpovídajícími počítačovými generacemi. Například je známo definovat generace OS podle úrovní vstupního jazyka počítače, režimů použití centrálních procesorů, forem provozu systému atd.

Zřejmě je třeba považovat za nejvhodnější rozlišení fází vývoje OS v rámci jednotlivých generací počítačů a počítačů.

Za první fázi vývoje systémového softwaru lze považovat použití knihovních programů, standardních a obslužných podprogramů a makro příkazů. Koncept rutinních knihoven je nejstarší, pochází z roku 1949. S příchodem knihoven byly vyvinuty automatické prostředky pro jejich údržbu – zavaděče a editory odkazů. Tyto nástroje byly používány v počítačích první generace, kdy operační systémy jako takové ještě neexistovaly (obr. 3.2).

Touha odstranit nesoulad mezi výkonem procesorů a rychlostí provozu elektromechanických vstupně/výstupních zařízení na jedné straně a používání dosti vysokorychlostních pohonů na magnetických páskách a bubnech (NMR a NMB), a dále na magnetických discích (NMD) naopak vedlo k potřebě řešení úloh ukládání do vyrovnávací paměti a blokování/odblokování dat. Vznikly speciální programy přístupových metod, které byly přidány k objektům modulů editoru odkazů (později se začaly používat principy polybufferingu). Pro udržení výkonu Pro usnadnění obsluhy strojů byly vytvořeny diagnostické programy. Tak vznikl základní systém software.


Rýže. 3.2.

Se zlepšováním vlastností počítačů a růstem jejich produktivity se projevil nedostatek základního softwaru (softwaru). Objevily se operační systémy pro rané dávkové zpracování – monitory. V systémy pro dávkové zpracování v dodací lhůta jakékoli práce v balíku (překlad, sestavení, provedení hotového programu) se žádná část systémového softwaru nenacházela v paměti RAM, protože veškerá paměť byla poskytnuta aktuální práci. Poté se objevily monitorovací systémy, ve kterých BERAN byla rozdělena do tří oblastí: pevná oblast monitorovacího systému, uživatelská oblast a oblast sdílené paměti (pro ukládání dat, která lze vyměňovat mezi moduly objektů).

Začal intenzivní vývoj metod správy dat a vznikla tak důležitá funkce OS, jako je implementace I/O bez účasti centrálního procesu – tzv. spooling (z anglického SPOOL – Simultaneous Peripheral Operation on Line).

Vznik nového vývoje hardwaru (1959-1963) - systémy přerušení, časovače, kanály - stimuloval další vývoj OS [,]. Vznikly výkonné systémy, což byla sada programů pro distribuci počítačových zdrojů, komunikaci s operátorem, řízení výpočetního procesu a řízení vstupu/výstupu. Takové výkonné systémy umožnily zavést na tehdejší dobu poměrně efektivní formu provozování počítačového systému - jednoprogramové dávkové zpracování. Tyto systémy poskytovaly uživateli nástroje, jako jsou kontrolní body, logické časovače a schopnost vytvářet programy překryvná struktura, detekce porušení omezovací programy přijaté v r systém, správa souborů, sběr účetních informací atd.

Jednoprogramové dávkové zpracování se zvyšující se počítačovou produktivitou však nemohlo zajistit ekonomicky přijatelnou úroveň provozu stroje. Řešením bylo multiprogramování- způsob organizace výpočetního procesu, při kterém paměť počítače obsahuje několik programů, které jsou střídavě vykonávány jedním procesorem, a pro spuštění nebo pokračování v počítání jednoho programu nevyžaduje dokončení dalších. V prostředí s více programy se problémy s alokací zdrojů a zabezpečením staly naléhavějšími a neřešitelnějšími.

Teorie budování operačních systémů v tomto období byla obohacena o řadu plodných myšlenek. Objevily se různé formy multiprogramových provozních režimů, včetně sdílení času– režim, který zajišťuje provoz vícekoncový systém. Byl vytvořen a vyvinut koncept virtuální paměti a poté virtuálních strojů. Režim sdílení času umožnily uživateli interaktivně interagovat s jejich programy, jako tomu bylo před příchodem systémů dávkového zpracování.

Jedním z prvních operačních systémů, který používal tato nejnovější řešení, byl operační systém MCP (hlavní řídicí program) vytvořený společností Burroughs pro své počítače B5000 v roce 1963. Tento OS implementoval mnoho konceptů a nápadů, které se později staly standardem pro mnoho operačních systémů (obr. 3.3):

  • multiprogramování;
  • multiprocessing;
  • virtuální paměť;
  • schopnost ladit programy ve zdrojovém jazyce;
  • psaní operačního systému v jazyce na vysoké úrovni.

Známým systémem sdílení času té doby byl CTSS (Compatible Time Sharing System) - kompatibilní systém sdílení času vyvinutý na Massachusetts Institute of Technology (1963) pro počítač IBM -7094. Tento systém byl použit k vývoji další generace systému pro sdílení času MULTICS (Multiplexed Information And Computing Service) ve stejném institutu společně s Bell Labs a General Electric. Je pozoruhodné, že tento OS byl napsán převážně ve vysokoúrovňovém jazyce EPL (první verze jazyka PL/1 od IBM).

Jednou z nejdůležitějších událostí v historii operačních systémů je objevení se v roce 1964 rodiny počítačů s názvem System / 360 od IBM a později System / 370. Jednalo se o první implementaci konceptu rodiny počítačů kompatibilních se softwarem a informacemi na světě, která se později stala standardem pro všechny společnosti v počítačovém průmyslu.


Rýže. 3.3.

Je třeba poznamenat, že hlavní forma využití počítače je jak v systémech sdílení času, tak v systémy pro dávkové zpracování, se stal multiterminálovým režimem. Přitom nejen operátor, ale i všichni uživatelé mohli formulovat své úkoly a řídit jejich plnění ze svého terminálu. Protože terminálové komplexy bylo brzy možné umístit na značné vzdálenosti od počítače (díky modemovému telefonnímu spojení), vzdálené systémy zadávání zakázek a teleprocessing. Do OS byly přidány moduly, které implementují komunikační protokoly.

Do této doby došlo k výrazné změně v rozdělení funkcí mezi počítačový hardware a software. operační systém se stává „nedílnou součástí počítače“, jakoby pokračováním zařízení. Procesory mají nyní privilegovaný („Supervisor“ v OS/360) a uživatelský („Task“ v OS/360) provozní režimy, výkonný systém přerušení, ochranu paměti, speciální registry pro rychlé přepínání programů, podporu virtuální paměti atd.

Na počátku 70. let se objevily první síťové operační systémy, které umožňovaly nejen rozptýlit uživatele jako v systémech teleprocessingu, ale také organizovat distribuované ukládání a zpracování dat mezi počítači propojenými elektrickými spoji. Známý je projekt ARPANET MO USA. V roce 1974 IBM oznámila vytvoření vlastní síťové architektury SNA pro své sálové počítače, která poskytuje interakce mezi terminály, terminály a počítači a mezi počítači. V Evropě se aktivně vyvíjela technologie pro budování sítí pro přepínání paketů založených na protokolech X.25.

V polovině 70. let se spolu se sálovými počítači rozšířily minipočítače (PDP-11, Nova, HP). Architektura minipočítačů byla mnohem jednodušší. Operační systémy pro minipočítače se začaly specializovat ( RSX -11M - sdílení času, RT-11 – OC v reálném čase) a ne vždy pro více uživatelů.

Důležitým milníkem v historii minipočítačů a obecně v historii operačních systémů bylo vytvoření OS UNIX. Tento systém napsal Ken Thompson, jeden z počítačových specialistů v BELL Labs, který pracoval na projektu MULTICS. Ve skutečnosti je jeho UNIX zkrácenou jednouživatelskou verzí systému MULTICS. Původní název tohoto systému je UNICS (UNiplexed Information and Computing Service) – „primitivní informační a počítačová služba“. Tento systém byl tak pojmenován jako vtip, protože MULTICS (MULTiplexní informační a výpočetní služba) je multiplexní informační a počítačová služba. Od poloviny 70. let se začalo široce používat OS UNIX, napsaný z 90 % v jazyce C Rozšířené používání kompilátorů C udělalo z UNIXu jedinečný přenosný OS, a protože byl dodáván se zdrojovým kódem, stal se prvním otevřeným. operační systém. Flexibilita, elegance, výkonná funkčnost a otevřenost mu umožnily zaujmout silnou pozici ve všech třídách počítačů – od osobních počítačů po superpočítače.

Dostupnost minipočítačů podnítila vznik lokálních sítí. V nejjednodušších sítích LAN byly počítače připojeny přes sériové porty. V roce 1976 se objevila první síťová aplikace pro OS UNIX, program UUCP (Unix to Unix Copy Program).

Další vývoj síťových systémů přišel se zásobníkem protokolů TCP/IP. V roce 1983 byl přijat americkým ministerstvem obrany jako standard a používán v síti ARPANET. Ve stejném roce se ARPANET rozdělil na MILNET (pro americké vojenské oddělení) a nový ARPANET, který se stal známým jako Internet.

Celá osmdesátá léta byla charakteristická vznikem stále pokročilejších verzí UNIX: Sun OS, HP-UX, Irix, AIX atd. Pro vyřešení problému jejich kompatibility byly přijaty standardy POSIX a XPG, definující rozhraní těchto systémů pro aplikací.

Další významnou událostí v historii operačních systémů byl vznik osobních počítačů na počátku 80. let. Sloužil jako silný impuls pro distribuci lokálních sítí, v důsledku čehož se podpora síťových funkcí stala nezbytným předpokladem pro operační systémy PC. Uživatelsky přívětivé rozhraní a síťové funkce se však na OS PC neobjevily hned.

Nejpopulárnější verzí operačního systému raného vývoje osobních počítačů byl Microsoft MS-DOS, jednoprogramový, jednouživatelský OS s rozhraním příkazového řádku. Řadu funkcí zajišťujících uživatelské pohodlí v tomto OS poskytovaly doplňkové programy - shell Norton Commander, PC Tools atd. Největší vliv na vývoj PC softwaru měly operační prostředí Windows, jehož první verze se objevila v roce 1985. Síťové funkce byly také implementovány pomocí síťových shellů a objevily se v MS-DOS verze 3.1. Současně byly vydány síťové produkty společnosti Microsoft - MS-NET a později - LAN Manager, Windows for Workgroup a poté Windows NT.

Novell se vydal jinou cestou, jeho produkt NetWare je operační systém s vestavěnými síťovými funkcemi. NetWare OS byl distribuován jako

Ahoj, Habrapeople!
Málokdo ví a málokdo si pamatuje, kde začala historie počítačového softwaru – operační systémy. Právě toto téma si student zvolil pro svou práci MAN (MAN - Small Academy of Sciences). Zní to takto – evoluce operačních systémů. Hned řeknu, že více než 90 % pochází z Tyrnetu, ale nebyli nalezeni na prvních 2 stránkách vyhledávání Google.

Zavedení
Počítačová technika v poslední době udělala výrazný skok kupředu a brzy si už bez pomoci počítače nebude možné představit náš život. Ale bez operačního systému je počítač jen sadou čipů. Na základě operačního systému fungují všechny programy, které používáme, rychlost a produktivita naší práce na počítači bude záviset především na OS.

Moderní počítač se skládá z jednoho nebo více procesorů, paměti RAM, disků, tiskárny, klávesnice, myši, monitoru, síťových rozhraní a různých dalších vstupních/výstupních zařízení. Výsledkem je poměrně složitý systém. Pokud každý programátor, který vytváří aplikaci, potřebuje porozumět všem složitostem fungování všech těchto zařízení, pak nenapíše jediný řádek kódu. Navíc správa všech těchto komponent a jejich optimální využití je velmi náročný úkol. Z tohoto důvodu jsou počítače vybaveny speciální vrstvou softwaru zvanou operační systém, jehož úkolem je správa uživatelských programů a také správa všech hardwarových prostředků.
První OS
GM-HAA byl první operační systém pro počítače. V roce 1955 jej vytvořili Robert Patrick s General Motors a Owen Mock s North American Aviation. Byl založen na monitoru systému a běžel na velkých strojích. Hlavní funkcí GM-NAA je automaticky spustit nový program po dokončení starého programu.
Vznik náhorní plošiny
V roce 1972 byl vyvinut systém PLATO, který měl řadu inovací, např. oranžový plazmový panel. Zahrnoval paměťové a rastrové grafické funkce. Plazmový displej PLATO podporoval schopnost rychlého kreslení vektorových čar Mnoho inovací zavedených OS PLATO se později stalo základem pro vývoj dalších počítačových systémů. Některé technologie si například vypůjčil a vylepšil Apple.
Vznik UNIXu
První systém UNIX byl vyvinut v roce 1969 divizí Bell Labs společnosti AT&T. Od té doby bylo vytvořeno mnoho různých systémů UNIX.
1) Použití textových souborů ke konfiguraci a správě systému;
2) Široké použití nástrojů spouštěných na příkazovém řádku;
3) Interakce s uživatelem prostřednictvím virtuálního zařízení – terminálu;
4) Reprezentace fyzických a virtuálních zařízení jako souborů.
Myšlenky UNIXu měly obrovský dopad na vývoj počítačových operačních systémů. V současnosti jsou systémy UNIX uznávány jako jeden z historicky nejdůležitějších operačních systémů. Tento operační systém popularizuje myšlenku hierarchického souborového systému s libovolnou hloubkou vnoření.
Linux
Linux byl vytvořen v roce 1991 Linusem Torvaldsem, finským studentem. Skutečnost, že Linus ihned po vytvoření OS zveřejnil zdrojový kód svého OS na internetu, byla rozhodující pro budoucí osud Linuxu. Přestože v roce 1991 ještě nebyl internet tak rozšířený jako dnes, využívali jej především lidé s dostatečným technickým vzděláním. A od samého začátku dostal Torvalds několik zainteresovaných recenzí s nabídkou pomoci s vývojem, se kterou Linus souhlasil, a během šesti měsíců se do vývoje zapojily stovky, poté statisíce dobrovolných asistentů kvůli tomu, že se linuxové zdrojové kódy jsou distribuovány volně a veřejně, do vývoje systému se od samého počátku zapojilo velké množství nezávislých vývojářů.
MS-DOS
MS-DOS je komerční operační systém od společnosti Microsoft pro osobní počítače kompatibilní s IBM PC. MS-DOS běží na procesoru x86 pracujícím v reálném čase. Zajišťuje, že se vždy spustí pouze jeden program. MS-DOS byl navržen tak, aby uživatelé mohli snadno nahradit vestavěný interpret interprety příkazového řádku třetích stran, jako je 4DOS.
Windows, kde bychom bez nich byli?

V roce 1985 se objevila první verze Windows, která nebyla uživateli oceněna a byla ignorována. Možná proto, že pouze doplňoval možnosti DOSu, protože byl ve skutečnosti grafickým shellem a doplňkem sady MS-DOS.
Postupem času se systém Windows stále více vylepšoval, objevila se plnohodnotná grafika, připravila uživatele o vidění systémových souborů, byla překonána bariéra multitaskingu, který umožňuje spustit 2-3 programy v roce 1992, od příchodu Windows 3.1, podle mnoha uživatelů a odborníků, nové Možnosti operačního systému byly oceněny. S verzí Windos3.1 začal mít operační systém 32bitovou dostupnost pevného disku.
V roce 1998, 25. června, vstoupil na spotřebitelský trh nový OS Windows 98. Výhody oproti předchozím vzorkům byly: plná integrace s internetem, pokročilejší správa rozhraní, nový procesor Pentium II, grafický portál AGP a sběrnice USB.
Paralelně s těmi předchozími začal vývoj systému Windows XP, kde bylo definitivně rozhodnuto opustit 16bitové jádro systému a přejít na 32bitové, s novou architekturou a strukturou. Mezi výhody nového systému je třeba poznamenat následující: jedná se o první ze systémů s plně přizpůsobitelným rozhraním a zavedením inteligentní nabídky Start. Také ovládací panel PC byl optimálně přepracován.
Vzhled nového systému Windows Vista po Windows XP je považován za nejnešťastnější možnost po všech předchozích verzích OS. Je prezentován jako „zkouška šatů“ pro Windows 7. Zdá se, že dobré vlastnosti nového systému by měly uživatele zaujmout. Inovace, jako je vestavěné vyhledávání, trojrozměrné rozhraní Aero s krásnými spořiči obrazovky, dobrá ochrana - nic nepomohlo, vše bylo podle uživatelů provedeno extrémně špatně.
Windows 7 se oproti Vista změnil jen málo, kromě nového rozhraní. Existuje 5 verzí Windows 7: Starter Edition, Home Basic, Home Advanced, Professional, Ultimate.
Windows 8, na rozdíl od svých předchůdců – Windows 7 a Windows XP, používá nové rozhraní s názvem Modern (Metro). Systém má také pracovní plochu, ale jako samostatnou aplikaci.

Mobilní OS
Smartphony běžící na různých operačních systémech v dnešní době přitahují stále větší zájem uživatelů: Windows Phone, Boda, IOS. Nejoblíbenější z nich jsou IOS a AndroidOS.
iOS
iOS je mobilní operační systém založený na linuxovém jádře vyvinutý a vyráběný americkou společností Apple. Původně byl vydán v roce 2007 pro iPhone a iPod Touch. Nyní je nainstalován na všech zařízeních Apple. Inovace, jako je mobilní prohlížeč Safari, vizuální hlasová schránka a virtuální klávesnice, učinily iOS jedním z nejoblíbenějších systémů pro chytré telefony.
Android
Android je nejdynamičtěji se rozvíjející systém, vyvinutý pro chytré telefony (původně pro komunikátory (iPhone a jeho dotyková obrazovka změnila názor Google)). Jedná se o zjednodušenou verzi podobných systémů Windows a Linux používaných na stolních počítačích a noteboocích, orientovanou na dotykovou obrazovku. Platforma Android se skládá z operačního systému, rozhraní, propojovacího softwaru a výkonných aplikací.
Google Chrome OS (cloud OS)
Chrome OS je umístěn jako operační systém pro různá zařízení – od malých netbooků až po stolní systémy plné velikosti a podporuje architektury procesorů x86 a ARM.
Nový Google Chrome OS je open source, založený na optimalizovaném linuxovém jádře a poháněný prohlížečem Chrome Hlavním rysem bude dominance webových aplikací nad běžnými funkcemi OS. Klíčovou roli v tom hraje prohlížeč.
Strategie vytváření nového produktu předpokládá architekturu, která je nenáročná na hardwarové zdroje osobního počítače používaného pro přístup k internetu.
Všechny aplikace, které systém spouští, jsou webové služby. Ve skutečnosti vše, co na počítači děláte, se děje online – není třeba instalovat žádné offline aplikace. V tomto ohledu práce v Chrome OS nevyžaduje výkonné počítačové zdroje, protože všechny procesy se nespouštějí na samotném počítači, ale na serverech odpovídajících služeb.
Předpovědi věštců
Operační systém uživatele se stává něčím podobným webovému prohlížeči nainstalovanému na holém kovu. Moderní klasické rozhraní (vyvinuté v Xerox PARC a propagované společností Apple před téměř 30 lety) bude minulostí. Mnoho moderních komponent OS prostě nebude potřeba, jiné opustí uživatele a promění se v API služby pro programátory. Hlavním úkolem OS bude poskytovat možnost spuštění klientské části cloudových služeb. A výhody, které má Microsoft ve světě moderních operačních systémů, budou značně omezeny. Budou muset vymyslet nové způsoby, jak přilákat uživatele a programátory v novém prostředí, konkurenceschopnějším, než je to současné.
Hodně záleží na rozhodnutích, úspěších a neúspěších velkých softwarových společností, jako jsou Microsoft a Google. Na rozdíl od evoluce softwaru, kterou jsme pozorovali v devadesátých letech dva tisíce, nová evoluce stále méně závisí na výrobcích hardwaru a stále více na výrobcích finálního softwaru pro uživatele.

Nenadávejte za křivost, opravte, pokud je něco špatně, nenadávejte autorovi.

Štítky: operační systémy, historie IT

Etapy vývoje operačních systémů

Kapitola 1 Shrnutí

1. Hlavní součástí softwarové složky počítačových systémů je operační systém. Provedením řídicí funkce určuje vzhled výpočetního systému.

2. Operační systém je hlavním systémovým programem počítače. Návrh operačního systému se provádí stejným způsobem jako u jiných (aplikačních a instrumentálních) programů.

3. Obrovská rozmanitost operačních systémů si vyžádala jejich klasifikaci. OS jsou klasifikovány podle následujících kritérií: podle počtu současně prováděných úloh, podle počtu současně pracujících uživatelů, podle počtu současně řízených procesorů, podle provozního režimu.

4. Konstrukce moderních operačních systémů je založena na devíti principech, z nichž každý lze extrapolovat na vývoj aplikačních programů.

Testové otázky ke kapitole 1

1. Jaký je rozdíl mezi operačními systémy a jinými programy? 2. Jaké jsou hlavní funkce operačního systému? 3. Jaké typy softwaru znáte? 4. Jaká je hlavní část operačního systému? 5. Jaké znáte kategorie operačních systémů? 6. Je možné extrapolovat (rozšířit) principy konstrukce operačních systémů na vývoj aplikačních programů?


KAPITOLA 2. HISTORIE VÝVOJE OPERAČNÍCH SYSTÉMŮ

První období (1945 -1955): čtyřicátá léta 20. století byla poznamenána nástupem výpočetní techniky, ale neexistovaly žádné operační systémy, které spočívaly ve strojovém kódování. První generace OS (50. léta) – systémy dávkového zpracování. V takových systémech je úloha zpracována jako sekvence dávek a během zpracování nedochází k žádné interakci mezi uživatelem a jeho úlohou.

V polovině 40. let byla vytvořena první elektronková výpočetní zařízení. Na návrhu, provozu a programování počítače se tehdy podílela stejná skupina lidí. Jednalo se spíše o výzkumnou práci v oblasti výpočetní techniky, než o využití počítačů jako nástroje pro řešení případných praktických problémů z jiných aplikovaných oblastí. Programování probíhalo výhradně ve strojovém jazyce. Neexistovaly žádné operační systémy, všechny úlohy organizace výpočetního procesu řešil každý programátor ručně z ovládacího panelu. Neexistoval žádný jiný systémový software kromě knihoven matematických a obslužných rutin.

Druhé období (1955 - 1965): od poloviny 50. let začíná nové období ve vývoji výpočetní techniky spojené se vznikem nové technické základny - polovodičových prvků. Počítače druhé generace se staly spolehlivějšími, nyní dokázaly pracovat nepřetržitě tak dlouho, že mohly být pověřeny plněním skutečně prakticky důležitých úkolů. V tomto období se personál dělil na programátory a operátory, operátory a vývojáře počítačů.



Během těchto let se objevily první algoritmické jazyky a následně první systémové programy - kompilátory. Náklady na čas CPU se zvýšily, což vyžaduje snížení časové režie mezi běhy programů. Objevily se první systémy dávkového zpracování, které jednoduše automatizovaly spouštění jednoho programu za druhým a tím zvyšovaly vytížení procesoru. Systémy dávkového zpracování byly prototypem moderních operačních systémů, staly se prvními systémovými programy určenými k řízení výpočetního procesu. Při implementaci systémů pro dávkové zpracování byl vyvinut formalizovaný jazyk pro řízení úloh, s jehož pomocí programátor informoval systém a obsluhu, jakou práci chce na počítači vykonávat. Soubor několika úkolů, obvykle ve formě balíčku děrných štítků, se nazývá balíček úkolů.

Druhá generace OS (60. léta) - systémy s multiprogramováním a první systémy víceprocesorového typu. Vyvíjejí se operační systémy pro sdílení času (systémy poskytující služby mnoha uživatelům, kteří mohou interagovat s jejich úkoly) a první operační systémy v reálném čase (systémy, které poskytují okamžitou reakci na vnější vlivy; v takových prostředích se vyvíjejí systémy přerušení).

Třetí období (1965 - 1980): další důležité období ve vývoji počítačů se datuje do let 1965-1980 (3. a 4. generace OS). V této době došlo v technické základně k přechodu od jednotlivých polovodičových prvků jako jsou tranzistory k integrovaným obvodům, což dávalo velké možnosti nové, třetí generaci počítačů.

Toto období bylo také charakterizováno vytvářením rodin softwarově kompatibilních strojů. První rodinou softwarově kompatibilních strojů postavených na integrovaných obvodech byla řada strojů IBM/360. Tato rodina, postavená na počátku 60. let, výrazně převyšovala stroje druhé generace v poměru cena/výkon. Myšlenka softwarově kompatibilních strojů se brzy stala obecně uznávanou.

Kompatibilita softwaru také vyžadovala kompatibilitu operačního systému. Tyto operační systémy by musely běžet na velkých i malých počítačových systémech s velkým i malým počtem periferií v komerčních a výzkumných aplikacích. Operační systémy postavené se záměrem uspokojit všechny tyto protichůdné požadavky se ukázaly jako extrémně složitá monstra. Skládaly se z mnoha milionů řádků kódu assembleru, napsaného tisíci programátorů, a obsahovaly tisíce chyb způsobujících nekonečný proud oprav. S každou novou verzí operačního systému byly některé chyby opraveny a jiné byly zavedeny.

Třetí generace OS (od poloviny 60. let) je tedy vícerežimový OS, který může současně pracovat v režimu dávkového zpracování, režimu sdílení času, režimu reálného času a režimu víceprocesorového zpracování.

Čtvrtá generace (od poloviny 70. let) - operační systémy umožňující přístup ke geograficky rozmístěným počítačům - síťové operační systémy.

Navzdory obrovské velikosti a mnoha problémům uspokojily operační systémy strojů třetí generace většinu požadavků spotřebitelů. Nejdůležitějším úspěchem OS této generace byla implementace multiprogramování. Multiprogramování je způsob organizace výpočetního procesu, ve kterém se na jednom procesoru střídavě spouští několik programů. Zatímco jeden program provádí I/O operaci, procesor není nečinný, jako tomu bylo při sekvenčním provádění programů (režim jednoho programu), ale provádí jiný program (režim více programů). V tomto případě je každý program načten do své vlastní části paměti RAM, nazývané oddíl.

Další inovace - navíjení (navíjení). Spooling byl v té době definován jako způsob organizace výpočetního procesu, podle kterého byly úkoly načítány z děrných štítků na disk tempem, jakým se objevovaly ve výpočetním středisku, a poté, když byl dokončen další úkol, nový úloha byla načtena z disku do volného oddílu.

Spolu s multiprogramovou implementací systémů dávkového zpracování se objevil nový typ OS - systémy sdílení času. Možnost multiprogramování používaná v systémech sdílení času má za cíl vytvořit u každého jednotlivého uživatele iluzi výhradního používání počítače.

Čtvrté období (1980–současnost): Toto období ve vývoji operačních systémů je spojeno s nástupem velkých integrovaných obvodů (LSI). Během těchto let došlo k prudkému nárůstu stupně integrace a snížení nákladů na mikroobvody. Počítač se stal dostupným pro jednotlivce a začala éra osobních počítačů. Z architektonického hlediska se osobní počítače nelišily od třídy minipočítačů PDP-11, ale jejich ceny se výrazně lišily. Jestliže minipočítač umožnil oddělení podniku nebo univerzity mít vlastní počítač, pak to umožnil osobní počítač jednotlivci.

Počítače se staly široce používanými laiky, což vyžadovalo vývoj „uživatelsky přívětivého“ softwaru.

Na trhu operačních systémů dominovaly dva systémy: MS-DOS A UNIX. Jednoprogramový OS pro jednoho uživatele MS-DOSširoce používané pro počítače postavené na mikroprocesorech Intel 8088 a poté 80286, 80386 a 80486. Víceprogramový víceuživatelský OS UNIX dominovaly mezi počítači „ne Intel“, zejména těmi, které byly postaveny na bázi vysokého výkonu RISC- procesory.

V polovině 80. let se začaly rychle rozvíjet sítě osobních počítačů provozovaných pod síťovými nebo distribuovanými operačními systémy.

V síťových operačních systémech si uživatelé musí být vědomi přítomnosti jiných počítačů a musí se přihlásit k jinému počítači, aby mohli využívat jeho prostředky, zejména soubory. Každý stroj v síti provozuje svůj vlastní lokální operační systém, který se liší od OS samostatného počítače tím, že obsahuje další nástroje, které umožňují počítači pracovat v síti. Síťový OS nemá žádné zásadní rozdíly od OS jednoprocesorového počítače. Nezbytně obsahuje softwarovou podporu zařízení síťového rozhraní (ovladač síťového adaptéru), dále nástroje pro vzdálené přihlašování k dalším počítačům v síti a nástroje pro přístup ke vzdáleným souborům, tyto doplňky však nijak výrazně nemění strukturu samotného operačního systému.

KONCEPCE OPERAČNÍHO SYSTÉMU

Operační systém (OS) je soubor systémových a ovládacích programů navržených pro co nejefektivnější využití všech zdrojů počítačového systému (CS) (počítačový systém je propojený soubor počítačového hardwaru a softwaru určeného pro zpracování informací) a pohodlí práci s tím.

Účelem OS je organizace výpočetního procesu v počítačovém systému, racionální rozdělení výpočetních zdrojů mezi jednotlivé úkoly; poskytuje uživatelům řadu servisních nástrojů, které usnadňují proces programování a ladění úloh. Operační systém plní roli jakéhosi rozhraní (Interface je soubor hardwaru a softwaru nezbytný pro připojení periferních zařízení k PC) mezi uživatelem a počítačem, tzn. OS poskytuje uživateli virtuální letadlo. To znamená, že OS do značné míry tvoří představu uživatele o schopnostech letadla, snadnosti práce s ním a jeho propustnosti. Různé operační systémy na stejném hardwaru mohou uživateli poskytnout různé možnosti organizace výpočetního procesu nebo automatizovaného zpracování dat.

V počítačovém softwaru zaujímá operační systém ústřední pozici, protože plánuje a řídí celý výpočetní proces. Jakákoli softwarová součást musí běžet pod OS.

Podle podmínek aplikace se rozlišují tři režimy OS: dávkové zpracování, sdílení času a reálný čas. V režimu dávkového zpracování OS postupně provádí úlohy shromážděné v dávce. V tomto režimu nemá uživatel žádný kontakt s počítačem, dostává pouze výsledky výpočtů. V režimu sdílení času OS současně provádí několik úkolů, což umožňuje každému uživateli přístup k počítači. V reálném čase OS zajišťuje řízení objektů v souladu s přijatými vstupními signály. Doba odezvy počítače s operačním systémem v reálném čase na rušivý vliv by měla být minimální.



Etapy vývoje operačních systémů

První období (1945-1955)

Je známo, že počítač vynalezl anglický matematik Charles Babage na konci osmnáctého století. Jeho „analytický motor“ nikdy nemohl reálně fungovat, protože tehdejší technologie nesplňovala požadavky na výrobu dílů přesné mechaniky, které byly nutné pro výpočetní techniku. Je také známo, že tento počítač neměl operační systém.

Určitý pokrok ve vytváření digitálních počítačů nastal po druhé světové válce. V polovině 40. let byla vytvořena první elektronková výpočetní zařízení. Na návrhu, provozu a programování počítače se tehdy podílela stejná skupina lidí. Jednalo se spíše o výzkumnou práci v oblasti výpočetní techniky, než o využití počítačů jako nástroje pro řešení případných praktických problémů z jiných aplikovaných oblastí. Programování probíhalo výhradně ve strojovém jazyce. O operačních systémech nebyla řeč, všechny úkoly organizace výpočetního procesu řešil každý programátor ručně z ovládacího panelu. Neexistoval žádný jiný systémový software kromě knihoven matematických a obslužných rutin.

Druhé období (1955 - 1965)

Od poloviny 50. let začalo nové období ve vývoji výpočetní techniky spojené se vznikem nové technické základny – polovodičových prvků. Počítače druhé generace se staly spolehlivějšími, nyní dokázaly pracovat nepřetržitě tak dlouho, že mohly být pověřeny plněním skutečně prakticky důležitých úkolů. V tomto období se personál dělil na programátory a operátory, operátory a vývojáře počítačů.

Během těchto let se objevily první algoritmické jazyky a následně první systémové programy - kompilátory. Náklady na čas CPU se zvýšily, což vyžaduje snížení časové režie mezi běhy programů. Objevily se první systémy dávkového zpracování, které jednoduše automatizovaly spouštění jednoho programu za druhým a tím zvyšovaly vytížení procesoru. Systémy dávkového zpracování byly prototypem moderních operačních systémů, staly se prvními systémovými programy určenými k řízení výpočetního procesu. Při implementaci systémů pro dávkové zpracování byl vyvinut formalizovaný jazyk pro řízení úloh, s jehož pomocí programátor informoval systém a obsluhu, jakou práci chce na počítači vykonávat. Soubor několika úkolů, obvykle ve formě balíčku děrných štítků, se nazývá balíček úkolů.

Třetí období (1965 - 1980)

Další důležité období ve vývoji počítačů spadá do let 1965-1980. V této době došlo v technické základně k přechodu od jednotlivých polovodičových prvků jako jsou tranzistory k integrovaným obvodům, což dávalo mnohem větší možnosti nové, třetí generaci počítačů.

Toto období bylo také charakterizováno vytvářením rodin softwarově kompatibilních strojů. První rodinou softwarově kompatibilních strojů postavených na integrovaných obvodech byla řada strojů IBM/360. Tato rodina, postavená na počátku 60. let, výrazně převyšovala stroje druhé generace v poměru cena/výkon. Myšlenka softwarově kompatibilních strojů se brzy stala obecně uznávanou.

Kompatibilita softwaru také vyžadovala kompatibilitu operačního systému. Takové operační systémy by musely běžet na velkých i malých počítačových systémech s velkým i malým počtem periferií v komerčních a vědecko-výzkumných aplikacích. Operační systémy postavené tak, aby uspokojily všechny tyto protichůdné požadavky, se ukázaly jako extrémně složitá monstra. Skládaly se z mnoha milionů řádků kódu assembleru, napsaného tisíci programátorů, a obsahovaly tisíce chyb způsobujících nekonečný proud oprav. S každou novou verzí operačního systému byly některé chyby opraveny a jiné byly zavedeny.

Navzdory své obrovské velikosti a mnoha problémům však OS/360 a další podobné operační systémy na strojích třetí generace uspokojily většinu požadavků spotřebitelů. Nejdůležitějším úspěchem OS této generace byla implementace multiprogramování. Multiprogramování je způsob organizace výpočetního procesu, ve kterém je na jednom procesoru střídavě vykonáváno několik programů. Zatímco jeden program provádí I/O operaci, procesor není nečinný, jako tomu bylo při sekvenčním provádění programů (režim jednoho programu), ale provádí jiný program (režim více programů). V tomto případě je každý program načten do své vlastní části paměti RAM, nazývané oddíl.

Další novinkou je navíjení. Spooling byl v té době definován jako způsob organizace výpočetního procesu, podle kterého byly úkoly načítány z děrných štítků na disk tempem, jakým se objevovaly ve výpočetním středisku, a poté, když byl dokončen další úkol, nový úloha byla načtena z disku do volného oddílu.

Spolu s multiprogramovou implementací systémů dávkového zpracování se objevil nový typ OS - systémy sdílení času. Možnost multiprogramování používaná v systémech sdílení času má za cíl vytvořit u každého jednotlivého uživatele iluzi výhradního používání počítače.

Základní síťové nástroje.

Linux je síťový operační systém. To znamená, že uživatel může odesílat soubory a pracovat nejen na svém lokálním počítači, ale pomocí vzdáleného přístupu přijímat a odesílat soubory a provádět některé akce na vzdáleném počítači. Díky rozsáhlé sadě síťových nástrojů je práce na vzdáleném počítači stejně pohodlná jako na místním počítači

Chcete-li zajistit bezpečnost při práci na vzdáleném počítači, měli byste použít nástroj ssh (secure shell). Uživatel musí být samozřejmě registrován v systému, kam se chystá pracovat. V okně emulátoru terminálu musí uživatel zadat příkaz.

ssh user_login@host

kde login je registrační jméno uživatele na hostitelském počítači. Další možností je:

ssh host -l user_login

Funkce v Excelu jsou předdefinované vzorce, které provádějí výpočty v určeném pořadí pomocí daných hodnot. V tomto případě mohou být výpočty jednoduché i složité.

Například určení průměrné hodnoty pěti buněk lze popsat vzorcem: =(A1 + A2 + A3 + A4 + A5)/5, nebo lze použít speciální funkci PRŮMĚR, která výraz zmenší do následujícího tvaru : PRŮMĚR (A1:A5). Jak vidíte, místo zadávání adres všech buněk do vzorce můžete použít konkrétní funkci, která jako argument určí jejich rozsah.

Pro práci s funkcemi v Excelu je na pásu karet samostatná karta Vzorce, na které jsou umístěny všechny hlavní nástroje pro práci s nimi

Požadovanou kategorii můžete vybrat na pásu karet ve skupině Knihovna funkcí na kartě Vzorce. Po kliknutí na šipku u každé kategorie se otevře seznam funkcí a po najetí kurzorem na některou z nich se zobrazí okno s jejím popisem.

Zadávání funkcí, stejně jako vzorce, začíná rovnítkem. Poté následuje název funkce ve formě zkratky velkými písmeny označující její význam. Poté jsou v závorkách uvedeny argumenty funkce - data použitá k získání výsledku.

Argumentem může být konkrétní číslo, nezávislý odkaz na buňku, celá řada odkazů na hodnoty nebo buňky nebo rozsah buněk. Některé funkce mají zároveň argumenty, které jsou textové nebo číselné, zatímco jiné mají čas a data.

Mnoho funkcí může mít několik argumentů najednou. V tomto případě je každý z nich oddělen od dalšího středníkem. Například funkce =PRODUCT(7, A1, 6, B2) vypočítá součin čtyř různých čísel uvedených v závorkách a podle toho obsahuje čtyři argumenty. Navíc v našem případě jsou některé argumenty specifikovány explicitně, zatímco jiné jsou hodnotami určitých buněk.

Jako argument můžete použít i jinou funkci, která se v tomto případě nazývá vnořená. Například funkce =SUM(A1:A5; AVERAGE(B5:B10)) sečte hodnoty buněk v rozsahu od A1 do A5 a také průměrnou hodnotu čísel umístěných v buňkách B5, B6, B7, B8, B9 a B10.

Některé jednoduché funkce nemusí mít vůbec žádné argumenty. Takže pomocí funkce =TDATE() můžete získat aktuální čas a datum bez použití jakýchkoli argumentů.

Ne všechny funkce v Ecxel mají jednoduchou definici, jako je funkce SUM, která sčítá vybrané hodnoty. Některé z nich mají složitý syntaktický zápis a také vyžadují mnoho argumentů, které musí být také správného typu. Čím je funkce složitější, tím je obtížnější ji správně sestavit. A vývojáři to zohlednili tím, že do svých tabulek zařadili pomocníka pro vytváření funkcí pro uživatele – Průvodce funkcí.

Chcete-li začít zadávat funkci pomocí Průvodce funkcí, klikněte na ikonu Vložit funkci (fx) umístěnou nalevo od řádku vzorců.

Tlačítko Vložit funkci najdete také na pásu karet nahoře ve skupině Knihovna funkcí na kartě Vzorce. Dalším způsobem, jak otevřít Průvodce funkcí, je klávesová zkratka Shift+F3.

Po otevření okna asistenta budete muset nejprve vybrat kategorii funkcí. K tomu můžete použít vyhledávací pole nebo rozevírací seznam.

Uprostřed okna se zobrazí seznam funkcí vybrané kategorie a níže je stručný popis funkce vybrané kurzorem a nápověda k jejím argumentům. Mimochodem, účel funkce lze často určit podle jejího názvu.

Po provedení potřebného výběru klikněte na tlačítko OK, poté se zobrazí okno Argumenty funkcí.

Diagramy

Poměrně často čísla v tabulce, i když jsou správně seřazena, neposkytují úplný obrázek o výsledcích výpočtu. Chcete-li získat vizuální znázornění výsledků, umožňuje MS Excel vytvářet různé typy grafů. Může to být buď běžný histogram nebo graf, nebo radarový, koláčový nebo exotický bublinový graf. Kromě toho má program schopnost vytvářet kombinované grafy z různých typů a ukládat je jako šablonu pro budoucí použití.

Graf v Excelu lze umístit buď na stejný list, kde se již nachází tabulka, v takovém případě se nazývá „vložený“, nebo na samostatný list, který se bude nazývat „list s grafem“.

Chcete-li vytvořit graf založený na tabulkových datech, nejprve vyberte buňky, jejichž informace chcete graficky zobrazit. Vzhled grafu závisí na typu vybraných dat, která by měla být ve sloupcích nebo řádcích. Záhlaví sloupců by měla být nad hodnotami a záhlaví řádků nalevo od nich.\

Poté na pásu karet na kartě Vložit ve skupině Grafy vyberte požadovaný typ a typ grafu. Chcete-li zobrazit stručný popis určitého typu a typu diagramu, musíte nad ním podržet ukazatel myši

V pravém dolním rohu bloku Grafy se nachází malé tlačítko Vytvořit graf, kterým lze otevřít okno Vložit graf se zobrazením všech typů, typů a šablon grafů.

Věnujte pozornost také vzhledu další karty na pásu karet Práce s grafy, která obsahuje další tři karty: Návrh, Rozvržení a Formát.

Na kartě Návrh můžete změnit typ grafu, zaměnit řádky a sloupce, přidat nebo odebrat data, zvolit jeho rozložení a styl a také přesunout graf na jiný list nebo jinou kartu v sešitu.

Karta Rozvržení obsahuje příkazy, které umožňují přidávat nebo odebírat různé prvky grafu, které lze snadno formátovat pomocí karty Formát.

Karta Nástroje grafu se zobrazí automaticky, kdykoli vyberete graf, a zmizí, když budete pracovat s jinými prvky dokumentu.

Koncept operačního systému. Hlavní fáze vývoje operačních systémů.




Nahoru