ver. 17.11.2012
Software, operační systémy
Software Software – programové vybavení pro počítač. Členění software 1. Systémový software – operační systém a pomocné programy, zajišťující běh počítače a) operační systém b) systémový software – zálohovací software, diagnostický a servisní software, apod. Hranice mezi systémovým softwarem a operačním systémem je neostrá, přesněji: není vždy jasné, jestli máme daný software klasifikovat jako součást operačního systému nebo jako samostatný software. 2. Uživatelský software (aplikace) – software, pro danou činnost, kterou uživatel na počítači vykonává. Operační systém Definice operačního systému je různorodá, záleží, ke kterému zdroji informací se přikloníme. Operační systém: • Spravuje zdroje (prostředky) počítače a přiděluje je aplikacím. Systémovými zdroji myslíme třeba strojový čas procesoru, operační paměť, místo na disku, apod. • Přiděluje uživateli uživatelský prostor, odděluje uživatele od sebe, vytváří z pohledu uživatele virtuální počítač (i v případě víceuživatelského systému má uživatel po přihlášení systém „celý pro sebe“). Tato problematika se řeší pomocí uživatelských oprávnění k prostředkům počítače. • Umožňuje uživateli ovládání počítače – spouštění programů, přidělování vstupů a výstupů programům • Abstrahuje hardware – operační systém komunikuje s hardwarem a BIOSem a vytváří jednotné prostředí pro běh aplikací. Zjednodušeně řečeno: Hardware je různorodý, ale aplikace vyžadují jednotné prostředí pro svou činnost, což jim zprostředkuje právě operační systém. Př.: Existuje nepřeberné množství modelů tiskáren, ale např. textový editor jeho tvůrce nepřizpůsobuje žádné konkrétní tiskárně. Dáme-li v editoru povel tisk, editor standardním způsobem zavolá operační systém s požadavkem na tisk a operační systém se s tiskárnou „domluví“ a požadavek vyřídí. Abstrakce hardwaru – čili způsob, jak se systém „domluví“ s hardwarem – se řeší pomocí softwarových ovladačů. Ovladače jsou buď součástí operačního systému nebo musí být dodány výrobcem příslušného hardwaru a doinstalovány do systému dodatečně.
1/8
ver. 17.11.2012
Software, operační systémy
Ovládání operačního systému Rozhraní mezi operačním systémem a uživatelem je tzv. Interpret příkazů. Interpret: • řádkový – příkazy od uživatele jsou textové, s přesně danou syntaxí (způsobem zápisu). Napsaný příkaz se odešle ke zpracování klávesou Enter. Např. Unix, Linux, BSD •
grafický – uživatel se pohybuje v grafickém rozhraní, kde příkazy zadává pomocí myši a grafických objektů (okna, ikony, tlačítka, rozbalovací nabídky, přepínače, zatržítka). Např. Microsoft Windows, v případě Unixu nebo Linuxu různá grafická prostředí – KDE, Gnome, LXDE, …
U některých operačních systémů se grafický interpret považuje za nedílnou součást systému – systém nelze nainstalovat bez grafického interpretu a nemůžeme si zvolit jiné grafické prostředí. Typickým příkladem jsou Windows. To ovšem neznamená, že Windows neobsahují i řádkový interpret – nazývá se Příkazový řádek a spouští se příkazem CMD. V případě Unixu nebo Linuxu se grafický interpret považuje za nadstavbu systému, samotný systém se ovládá pomocí řádkového interpretu (tzv. shell). Toto řešení znamená, že při instalaci systému si můžeme zvolit z více možností, podle toho, které grafické prostředí preferujeme. Žádný problém není ani instalace více grafických interpretů, z nichž si při přihlašování do systému můžeme vybírat. Stavba operačního systému Operační systém se skládá ze dvou částí: 1. Jádro systému, zvané též kernel 2. Pomocné systémové nástroje Kernel – při startu systému je zaveden do paměti a běží po celou dobu běhu systému. Kernel je většinou zaváděn z pevného disku, při instalaci systému se kernel zavádí z CD/DVD nebo USB flashdisku. Možné je i zavedení kernelu ze sítě skrze síťovou kartu. Pro zavádění systému se používá výraz boot. Kernel se dle provedení může být: • •
2/8
Monolitický kernel – představuje jeden funkční celek. Př.: Unix, Linux Mikrokernel – velmi malý, všechny ostatní funkce jsou zajišťovány samostatně běžícími procesy. Př.: Windows
ver. 17.11.2012
Software, operační systémy
Pojmy z oblasti operačních systémů
3/8
•
Víceúlohový systém – systém schopný multitaskingu. Dnes prakticky všechny operační systémy.
•
Víceuživatelský systém – jeden systém může využívat více uživatelů, i současně. Systém se musí postarat, aby se uživatelé nemohli vzájemně ovlivňovat. Uživatelé mají oddělené prostory pro ukládání dat, v rámci svého oprávnění mají i oddělené nastavení systému a pracovního prostředí.
•
Superuživatel – uživatel s plným oprávněním vykonat v systému jakoukoliv činnost. Provádí konfiguraci systému, instalaci programů, apod. Superuživatel by měl svůj účet používat jen na uvedené činnosti. Na běžnou práci by měl být používán běžný účet s omezeným oprávněním. Jednak nemůžeme nechtěným zásahem napáchat v systému větší škody a také systém není tolik náchylný ke kompromitaci ze sítě, tzn. vložení a spuštění škodlivého kódu – viry, trojské koně, apod. V Unixu a Linuxu je superuživatel označován jako root, ve Windows jako Administrator.
•
Běžný uživatel (user) – má omezené oprávnění k zásahům do systému, většinou ohraničené svým uživatelským profilem, kde může ukládat svoje data a provádět nastavení, týkající se jenom jeho a ne jiných uživatelů.
•
Oprávnění (přístupová práva) – uživatelský účet s sebou mimo jiné nese pro uživatele definovaná oprávnění k určitým činnostem nebo k přístupu ke zdrojům – nejčastěji k souborům na disku.
•
Uživatelský účet – uživateli je přidělena možnost se přihlásit pod určitým jménem a heslem, je mu přidělen prostor pro jeho data a přidělen souhrn oprávnění. Vytvoření nového uživatelského účtu může provést jen superuživatel.
•
Uživatelský profil – souhrnný název pro všechno, co se týká daného uživatele, jinak řečeno „prostor“ pro uživatele. Profil je uložen v jedné složce, která je pojmenována podle jména uživatele. Např pro uživatele Franta bude situace následující: Linux: /home/Franta Windows: C:\Users\Franta Tímto způsobem je zajištěno oddělení jednotlivých uživatelů.
•
Síťový operační systém – má za úkol zajišťovat v počítačové síti poskytování síťových služeb (sdílení souborů a tiskáren, sdílení internetu, směrování dat v síti,...) ostatním počítačům. Je specializovaný na toto použití, není určen na spouštění běžných aplikací a běžné používání uživatelem. Běží na počítači, který je určen jen pro tuto činnost – tzv. server. Podle poskytovaných služeb dělíme servery na souborové servery, webové servery, poštovní servery, směrovače (routery), aj. Př.: Unix, Linux, Novell Netware, Windows 2008 Server,....
•
Desktopový (uživatelský) operační systém – určený pro běžnou práci – spouštění běžných aplikací uživatelem. Př.: Windows XP, Windows 7, Linux s vhodným grafickým interpretem, Mac OS, Android
ver. 17.11.2012
Software, operační systémy
Více k tématu operační systém:
Řádkový interpret (shell) v operačním systému Linux Na obrázku je příklad řádkového interpretu v operačním systému Linux – konkrétně výpis obsahu adresáře (složky). Je vidět i příkaz, který tento výpis vyvolal. Tento příkaz je ls -l (úplně nahoře). Část ls je samotný příkaz, část -l je tzv. parametr příkazu, který ovlivňuje, jak má příkaz pracovat. Zde konkrétně parametr -l způsobil, že se nevypsaly pouze názvy souborů a adresářů, ale i podrobnosti ke každé položce. Zde na tomto příkladu si ukážeme, jak se pracuje s uživatelskými právy. Každá položka má svého vlastníka, který patří do určité skupiny uživatelů. Zde je u většiny položek vlastník uživatel s uživatelským jménem mironov, patřící do skupiny users. První položka – směsice písmen drwx a pomlček vyznačuje práva k souboru či adresáři. První znak v řadě je písmeno d. Vyznačuje, že se jedná o adresář (složku). Pokud chybí, jedná se o soubor. Následujících 9 znaků vyjadřuje práva uživatelů. První trojice vyjadřuje práva vlastníka, druhá trojice práva skupiny, poslední trojice práva kohokoliv jiného. Znak r značí právo číst (read), znak w znamená právo změnit položku (write), znak x značí možnost spouštění souboru (execute). V případě, že se jedná o adresář, právo x znamená, že adresář je možno otevřít. Př.: složka Práce má práva drwxr-xr-x, vlastníka mironov, patřícího do skupiny users. Znamená to: drwxr-xr-x jedná se o složku práva vlastníka – může cokoliv 4/8
jakýkoliv jiný uživatel – právo čtení a vstupu ostatní uživatelé ze skupiny users - mají jen právo čtení a vstupu, ale nemůžou provádět změny
ver. 17.11.2012
Software, operační systémy
Práva lze změnit, stejně tak vlastníka, způsob zde řešit nebudeme, jen je třeba si uvědomit, že práva může změnit jen vlastník souboru či složky a vlastníka nemůže změnit jiný vlastník – to by de facto byla krádež. Výjimkou je superuživatel – v unixových systémech root, ve windows administrator. Ten může vše: měnit vlastnictví kterýchkoliv položek, může všude vstoupit, má všude právo zápisu, v nastavení systému může provádět jakékoliv změny a zásahy. Z toho plyne, že superuživatelský účet bychom měli užívat jen pro instalaci programů, změny v nastavení systému apod. Pokud chceme na počítači provádět běžnou činnost, měli bychom se přihlásit pod účtem s běžným (omezeným) oprávněním. Podléháme sice omezenému oprávnění, ale pokud v tomto okamžiku „chytneme na internetu nějakou havěť“, pak tento škůdce má taky omezené pole působnosti. Pokud ale v daném momentu budeme přihlášeni jako superuživatel, budeme mít neomezená práva. Tato práva bude mít ale bohužel i „havěť“, která se pokouší infikovat náš systém a napáchá mnohem větší škody. Dlužno dodat, že tato pravidla se ve světě unixových operačních systémů běžně dodržují, v případě windows je bohužel u domácích (a mnohdy nejen u nich) počítačů běžné, že jsou vždy přihlášeni uživatelé s plným oprávněním. I sebekvalitněji zabezpečený systém je potom takovým používáním z hlediska odolnosti vůči škodlivému kódu silně znevýhodněn. I když se technické detaily zabezpečení a oprávnění v různých systémech liší, základní princip je stejný. Přehled běžných operačních systémů pro platformu PC Desktopové systémy MS-DOS • operační systém prvních IBM PC • výrobce: Microsoft • pouze textový interpret • jednouživatelský, jednoúlohový Windows – postavené na DOSu • jako grafická nadstavba DOSu – Windows 3.0, Windows 95, Windows 98, Windows ME • přítomnost DOSu byla více nebo méně maskována • jednouživatelský (nemá systém uživatelských profilů a oprávnění) • víceúlohový – kooperativní multitasking • problémy se stabilitou Windows NT (NT = new technology) • od roku 1993 • nová architektura, nevychází z DOSu • preemptivní multitasking • víceuživatelský systém, uživatelská práva a profily • architektura NT se používá ve všech pozdějších verzích Windows, jen se už zkratka NT neuvádí • vysoká stabilita a spolehlivost • Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7
5/8
ver. 17.11.2012
Software, operační systémy
Linux • vznik v roce 1991, autor Linus Torvalds – tehdy student, dnes systém vyvíjený komunitně (společné dílo mnoha programátorů z celého světa) • Linus naprogramoval pouze jádro (kernel) • Linux vychází z Unixu, přebírá jeho filozofii – maximální jednoduchost a stručnost • Linux je složenina Linus a Unix • postupem doby se pojem Linux rozšířil z označení jádra na označení celého systému • Linuxový systém = jádro (samotný Linux) + podpůrné systémové nástroje • velmi modulární a přizpůsobivý – výběrem komponent lze sestavit systém vhodný jak na server, tak jako běžnou pracovní stanici. • velký důraz je kladen na stabilitu a bezpečnost • Linuxová distribuce – systém složený ze samotného systému, podpůrných programů a množství uživatelských aplikací. Stahuje se buď z Internetu nebo lze zakoupit CD nebo DVD i s papírovým manuálem za symbolickou cenu. Po nainstalování máme nejen operační systém, ale spoustu aplikací pro práci (internetové aplikace, kancelářský balík, multimediální aplikace,....) • známé distribuce (bezplatné): OpenSUSE, Ubuntu, Debian, Slackware, Fedora, Arch Linux • Linux jako systém je zdarma legálně k dispozici komukoliv. • U placených verzí Linuxu neplatíme za systém jako takový, ale dané firmě za uživatelskou podporu spočívající v poradenství a vydávání aktualizací a opravných balíčků. Tyto placené verze jsou určeny především pro firemní použití. Serverové systémy Unix a odvozené systémy • Unix – vznik roku 1969, na jeho bázi vzniklo velké množství variant • Linux – vznikl ne jako odnož Unixu, ale jako samostatný systém, splňující Unixové standardy a vycházející z Unixu • obecně se tato rodina systémů označuje jako Unix-like systémy • Většina serverů, na nichž stojí Internet, běží na nějakém Unixu Windows • serverové verze Windows jsou speciální serverová vydání (nejsou totožné s „běžnými“ Windows) • Windows 2000 Server, Windows 2003 Server, Windows 2008 Server • Všechny serverové systémy Microsoftu jsou založeny na technologii NT
6/8
ver. 17.11.2012
Software, operační systémy
Aplikace Jsou to konkrétní programy, spouštěné uživatelem pro vykonání požadované činnosti. Každý aplikační program má tři složky: 1. samotný program na nějakém médiu (CD, DVD, dostupný on-line na webu) 2. dokumentace – papírová nebo v elektronické podobě 3. licence – určuje, za jakých podmínek můžeme program používat, šířit dále, popř. i upravovat Členění podle účelu: • nástroje pro programátory (editory, kompilátory) • databázové systémy • textové editory • tabulkové procesory • prezentační programy • pomocné a obslužné programy – např souborové manažery (Total Commander) • antivirové programy • úzce zaměřené uživatelské programy – např. účetnictví, inventarizace,... • hry Softwarová licence Licence – dokument, vymezující práva a povinnosti uživatele ohledně užívání a dalšího nakládání se softwarem. Tato problematika se týká jak operačního systému, tak aplikací. Jak se tvoří software? Programátor tvoří program zápisem algoritmu pomocí zdrojového kódu. Zdrojový kód se píše v programovacím jazyce. Programovacích jazyků je celá řada – např. Pascal, jazyk C, Java,..... Zdrojovému kódu rozumí člověk – programátor, ale „nerozumí“ mu procesor počítače. Proto se zdrojový kód musí přeložit (zkompilovat) do strojového kódu, kterému „rozumí“ procesor. Překlad se dělá pomocí speciálního softwaru – překladače (kompilátoru). Po překladu dostaneme program, jak ho všichni uživatelé znají – se spustitelným souborem. Licence – když si pořídíme nějaký program (záměrně nepíšu koupíme), nezískáváme program samotný, ale právo s ním nakládat způsobem, který popisuje licenční smlouva. Pojem smlouva zde funguje trochu jinak, než v běžné praxi. Smlouva je v softwaru obsažena (alespoň elektronicky) a spuštěním nebo nainstalováním programu dáváme automaticky souhlas s jejím zněním (neznalost neomlouvá). Kritérium pro většinu uživatelů v praxi je, zda je program placený nebo zdarma. Situace je ale v praxi trochu méně černobílá.
7/8
ver. 17.11.2012
Software, operační systémy
Typy licencí • Registrovaná licence – placená licence. Většinou se dělí na: ◦ Domácí licence – určena na počítače v domácnosti ◦ Komerční licence – určena pro firmy a organizace, pokud má více počítačů, bývá výhodnější multilicence • Freeware – autor se nevzdává autorského práva, ale za používání programu nepožaduje platbu. Program lze i dále šířit. Nelze ale program měnit nebo šířit za úplatu. Některé Freeware jsou zdarma jen pro domácí použití. • GPL (General Public Licence) – software pod touto licencí je možno volně používat, bezplatně šířit i modifikovat. Za tímto účelem jsou povinně se softwarem šířeny i zdrojové kódy. Pokud vznikne odvozenina úpravou původního program, vztahují se na ni stejná pravidla, jako na původní program. Běžný uživatel sice zdrojových kódů nevyužije, ale i tak má z této skutečnosti prospěch. Lidé, kteří umí programovat mohou program vylepšovat nebo najít a opravit chyby, což je i v zájmu běžných uživatelů. Tímto způsobem se může na vývoji programu podílet značné množství lidí z celého světa, díky Internetu mohou svoje úsilí spojit – označujeme toto jako komunitní vývoj software. Existuje více licencí podobných GPL, ale všechny mají stejný cíl: vyvíjet software pro volné použití, s dostupným zdrojovým kódem. Tento druh software se označuje jako Svobodný (Free) Softvare. Skutečnost, že je neodlučně šířen i zdrojový kód softwaru se označuje pojmem Open Source Software. Příklady Open source software: ◦ operační systém GNU/Linux ◦ kancelářský balík Open Office/Libre Office ◦ grafický editor GIMP nebo Inkscape ◦ prohlížeč Mozilla Firefox ◦ komprimační program 7-zip ◦ ...a mnoho dalších. Předchozí 4 příklady byly vybrány jednak pro svoji známost a jednak proto, že jsou multiplatformní – existují ve verzích pro různé operační systémy, takže se s nimi může setkat jak uživatel Windows, tak třeba Linuxu a jiných OS. • Shareware, Trialware – tyto dva pojmy označují prakticky totéž: Program má placenou licenci, ale je možno jej bezplatně vyzkoušet po určitou dobu (většinou 30 dní). Poté se program odmítne spustit nebo se zablokují jen některé jeho funkce, popř. se objeví nějaká funkce, která má další používání programu bez zaplacení znepříjemnit (např. náhodně vyskakující hláška) • Demoverze – placený program, od počátku je jeho funkce omezena (např. nejde tisknout, jde uložit jen jedna strana,...). Po zaplacení licenčního poplatku bude program plně funkční.
8/8