Maturitní otázka z POS - č. 9
Programové vybavení počítače • • • •
software – definice, rozdělení systémové programové vybavení – charakteristika, rozdělení aplikační programové vybavení – charakteristika, rozdělení programovací jazyky – charakteristika, rozdělení
SOFTWARE (měkké zboží) – programové vybavení počítače (systémy, programy a data které umožňují činnost počítače) „software oživuje hardware“. Počítačový program – zápis algoritmu ve tvaru, který je počítač schopen zpracovat (posloupnost jednotlivých instrukcí), je zapsán ve vyšším programovacím jazyce a pak přeložen překladačem do strojového jazyka. Spuštěný program (tj. program umístěný v operační paměti počítače a prováděný procesorem) se nazývá proces. Program může být spuštěn vícekrát a vytvořit tak více procesů. Proces se v operační paměti skládá z vlastního programu a dynamicky se měnících dat. Softwarové licence a jejich rozdělení Freeware - je software, který je distribuován bezplatně (jedná se o volně šiřitelný program, bez placení autorského honoráře. Autor si zpravidla ponechává autorská práva, neposkytuje zdrojové kódy a nedovoluje program upravovat nebo omezuje použití zdarma jen pro nekomerční či osobní potřebu. Open source – je software s otevřeným zdrojovým kódem, tzn., že k volnému šíření je určen nejen program jako takový, ale i jeho zdrojový kód. Ten je potom možné, při dodržení určitých podmínek využívat, prohlížet a dále upravovat (např. Linux, OpenOffice). Free software (svobodný software) - je software, ke kterému je k dispozici také zdrojový kód, spolu s právem tento software používat, modifikovat a distribuovat. Naprostá většina svobodného software je zdarma, ačkoliv to není podmínkou. Je dostupný i pro komerční využití. Existují 4 kréda svobodného softwaru: - svoboda používat program za jakýmkoliv účelem - svoboda studovat, jak program pracuje a možnost přizpůsobit ho svým potřebám - svoboda redistribuovat kopie programu - svoboda vylepšovat program a zveřejňovat zlepšení, aby z nich mohli mít prospěch všichni Shareware – je software chráněný autorským právem, který je možné volně distribuovat. Uživatel má možnost software po určitou dobu zkoušet, zda mu vyhovuje nebo ne. Pokud ho ale nadále používá, je povinen se řídit podle autorovy licence a zpravidla zaplatit cenu programu nebo se třeba jen registrovat Volně šířený shareware má zabudovaná omezení: a) časová – trial – program bude fungovat jen určitý počet dní b) funkční – crippleware – program bude fungovat jen po určitý počet spuštění V některých případech se oba druhy omezení kombinují. Jakmile uživatel splní licenční podmínky (zaplatí, zaregistruje se), bude mu k dispozici plnohodnotný program bez omezení. Nagware je typ programového vybavení šířeného jako shareware. Autor se snaží uživatele přimět k registraci tím, že se při běhu programu (např. při spuštění nebo po určité době činnosti) zobrazuje výzva k registraci. Tím je práce s neregistrovanou verzí znepříjemněna.
-1-
Maturitní otázka z POS - č. 9 Adware – software, jehož tvůrce se rozhodl další vývoj financovat z příjmů z reklam v nich zobrazovaných. Diskutabilní je míra agresivity reklam (ta je různá od klidného zobrazování bannerů po vyskakovací okna či nechtěné změny homepage v internetu). Přestože agresívnější adware připomíná chováním škodlivé programy, zpravidla se nejedná o nebezpečný software. Demoverze (demoware či trialware) je komerční software dostupný zdarma ve verzi která je omezená v jednom či více směrech. Malware je počítačový program, který na počítači běží bez vědomí uživatele a nějakým způsobem jej poškozuje, nebo zhoršuje jeho funkci. Název vznikl z anglických slov „malicious“ (zákeřný) a software. V právní terminologii je malware někdy nazýván jako „počítačová nečistota“. Malware se používá jako souhrnné označení pro počítačové viry, trojské koně, internetové červi, spyware a také adware. Spyware je program, který využívá internetu k odesílání dat z počítače bez vědomí jeho uživatele. Spyware představuje z hlediska bezpečnosti dat velkou hrozbu, protože odesílá různé informace (historii navštívených stránek, hesla) z našeho počítače určenému uživateli, který tyto informace dále zpracovává. Programy obsahující Adware na rozdíl od spyware neshromažďují tajně informace a neodesílají je přes internet bez souhlasu uživatele. Existuje velké množství programů, které pomáhají uživatelům vyhledávat a odstraňovat spyware. Podle funkce můžeme software rozdělit na několik skupin: systémový software – umožňuje efektivní používání počítače o firmware – software obsažené ve vstupně-výstupních zařízeních o operační systém – spravuje počítač, vytváří prostředí pro programy jádro operačního systému (včetně ovladačů zařízení) pomocné systémové nástroje - pro správu operačního systému (formátování disků, nastavení oprávnění, utility, …) b) aplikační software - umožňuje uživateli zpracovat a vyřešit konkrétní problém c) programovací jazyky – umělý jazyk určený pro zápis programu a)
Systémový software (systémové vybavení počítače) = programové vybavení počítače, které umožňuje spouštění nebo zpracování aplikačního software. Systémový software je rozhraním mezi hardware a aplikačním software. Nejvýznamnějším zástupcem systémového software je operační systém.
Operační systém je označení pro software, který zakrývá rozdíly v hardware různých počítačů a zajišťuje jednotné rozhraní, pro spouštění aplikačního software. Operační systém je v informatice základní programové vybavení počítače, které je zavedeno do paměti počítače při jeho startu a zůstává v činnosti až do jeho vypnutí. Skládá se z jádra (kernel) a pomocných systémových nástrojů. Hlavním úkolem operačního systému je zajistit uživateli možnost ovládat počítač, vytvořit pro procesy stabilní aplikační rozhraní (API) a přidělovat jim systémové zdroje. Operační systém je velmi komplexní software, jehož vývoj je mnohem složitější a náročnější, než vývoj obyčejných programů. Operační systém plní tři základní funkce: 1. ovládání počítače – umožňuje uživateli spouštět programy, předávat jim vstupy a získávat jejich výstupy s výsledky 2. abstrakce hardware – vytváří rozhraní pro programy, které abstrahuje ovládání hardware a dalších funkcí do snadno použitelných funkcí (aplikační rozhraní) 3. správa prostředků – přiděluje a odebírá procesům systémové prostředky počítače -2-
Maturitní otázka z POS - č. 9 Operační systém se skládá z jádra a pomocných systémových nástrojů. Jádro je základním kamenem operačního systému. Zavádí se do operační paměti počítače při startu a zůstává v činnosti po celou dobu běhu operačního systému. Základní typy operačních systémů: Microsoft Windows, Linux, Mac OS
Microsoft Windows = operační systém, který byl dříve založený na MS-DOS (MicroSoft Disk Operating System – první verze byla vypracována pro procesor Intel 8086 v roce 1981, je to systém pro 16 a 32-bitové počítače firmy IBM) a od verze Windows NT jsou Windows založeny na jádře NT. Microsoft uvedl první Windows na trh v roce 1985, který byl 16-bitový. První verzí, která došla mezi dobovou konkurencí podobných produktů byla verze Windows 3 (1990), mezi uživateli se však vyšší oblibě těšila až verze Windows 3.1 (1992). Verze Windows 3.11 pak přinesla sdílení disků a je doposud mnohde používána na starších počítačích. Změna vzhledu (výměna správce oken) ve Windows 95 (1995) přinesla intuitivnější ovládání a vyšší zájem uživatelů. Přímo do instalace systému bylo integrováno dříve samostatně dostupné rozšíření Win32s pro podporu 32-bitových aplikací. Stejně tak i přímou podporu protokolu TCP/IP, což znamenalo umožnění přímého přístupu k Internetu bez instalace doplňků od jiných dodavatelů (např. Trumpet Winsock), ale i nebývalý nárůst požadavků na operační paměť RAM. Dalším vylepšením byla verze Windows 98 (1998) a posléze Windows Me (Millennium Edition vydání k novému tisíciletí) v roce 2000, což byla i poslední verze této řady. V roce 1993 byla uvedena do prodeje nová řada síťových operačních systémů firmy Microsoft, která byla založena na plně 32-bitovém jádře NT (New Technology), která byla původně míněna jako plně profesionální produkt pro desktop. Prvním zástupcem byly Windows NT 3.1, verze 3.5 (1994) a verze 3.51 (1995), která byla považována za stabilní. Úspěch nového grafického vzhledu převzatého z Windows 95 převzaly Windows NT 4.0 (1996). Dále následovaly Windows 2000 (2000), Windows XP (2001, eXPerience zkušenost, zážitek), Windows Server 2003 (2003) a Windows Vista (pro výrobce na konci roku 2006, pro uživatele až v roce 2007), Windows Server 2008 (2008). Koncem roku 2009 by se na trh měla dostat finální verze Windows 7 (Seven), která by měla mít edice Home, Premium, Profesional a Ultimate. Windows 7 má být svižnější než Vista. Beta-verze ukazuje, že je složitější a bude mít více grafických efektů, přesto je výkonnější a podstatně rychlejší. Naznačuje to i instalace, která je zásadně zrychlena a pohodlně se vejde do dvaceti minut. Windows Vista byl revolucí ve vzhledu pracovní plochy, tak Windows 7 přináší revoluci v jejím ovládání. A to zejména v inovaci hlavního panelu, který má nový vzhled, novou funkčnost a možnosti. Do Windows 2000 byly prodávány verze pro server i desktop současně, v poslední době jsou již odděleny. Za serverovou edici se tak považují Windows Server 2003, kdežto Windows XP a Windows Vista jsou určena pro desktop. Pro malé kapesní počítače (PDA) a jiné elektronické přístroje existuje řada označovaná původně CE. Dříve se tato řada jmenovala Windows Pocket PC Edition, později došlo k přejmenování na Windows Mobile.
-3-
Maturitní otázka z POS - č. 9 Linux - je jádrem několika počítačových operačních systémů. Je známým příkladem svobodného softwaru a vývoje open source softwaru – na rozdíl od ostatních operačních systémů jako Microsoft Windows či Mac OS je celý jeho zdrojový kód volně k dispozici pro veřejnost a kdokoli jej může svobodně používat, upravovat a dále distribuovat. Zpočátku byl Linux vyvíjen a používán zejména jednotlivými nadšenci. Časem ale získal podporu velkých společností jako IBM, Hewlett-Packard, Nokia a Novell pro využití na serverech, a poslední dobou získává popularitu i na trhu se stolními počítači a notebooky. Zastánci a analytici připisují jeho úspěch nezávislosti na dodavateli, nízkých nákladech, flexibilitě, bezpečnosti a spolehlivosti. Linux se převážně používá jako jádro distribucí. Ty jsou sestavovány jednotlivci, týmy dobrovolníků, ale i komerčními firmami za cílem finančního zisku. Typická distribuce zahrnuje jádro, další systémový a aplikační software spolu s prostředky, jak celý systém nainstalovat na počítač. Různé distribuce byly vyvinuty k různým účelům, mezi než patří možnost mít hotový systém připravený k použití, určitý jazyk, podpora určité počítačové architektury... Některé záměrně obsahují výhradně svobodný software. V současné době existuje kolem 450 různých distribucí. Moderní distribuce Linuxu obsahují grafické rozhraní pro přidávání a odebírání software. Instalace nových aplikací pak probíhá pomocí několika málo kliknutí myší. Výběr takto dostupného software je velmi široký a pro běžného uživatele PC více než dostačuje. Samozřejmostí je také možnost manipulovat s aplikacemi z příkazového řádku. Mezi nejznámější distribuce Linuxu patří: • • • • • • •
Mandriva Fedora Debian Red Hat Enterprise openSUSE Ubuntu Knoppix
Mac OS (X) – Macintosh Operating System – je označení původního operačního systému pro počítače Macintosh firmy Apple. Tento systém se používal na počítačích Macintosh od roku 1984 do začátku 21. století. Během posledních let svého používání přestal systém vyhovovat rostoucím nárokům a hledala se náhrada. Tou se nakonec stal Mac OS X, který na Mac OS navazuje číslováním (X je zde bráno jako římská číslice) a částečně grafickým rozhraním, ale liší se implementací. Systém Mac OS X je plně přizpůsoben počítačům Macintosh. Ačkoliv na Macích můžete spustit Windows, opačně to možné není. Politika Applu – vývoj vlastního hardwaru i softwaru eliminují problém s jejich nekompatibilitou. Apple nehodlá umožnit spuštění Mac OS X na PC. Přesto je možné (nelegálně) na některých PC operační systém Mac OS X rozběhnout.
-4-
Maturitní otázka z POS - č. 9 Firmware = je programové vybavení, které je součástí elektronického zařízení. Tyto programy jsou většinou naprogramovány (vypáleny) do vnitřní paměti (ROM, EPROM, …) firmou vyrábějící dané zařízení. V závislosti na způsobu uložení jej lze v některých případech upravovat buď výměnou, aktualizací nebo přepsáním obsahu. Firmware bývá často úzce vázaný na hardware pro který je určen. Typickým příkladem zařízení obsahujících firmware jsou mobilní telefony a kapesní počítače. Avšak v dnešní době obsahuje drtivá většina elektronických zařízení nějaký programový kód - firmware. Další příklady: • • • • •
BIOS u PC operační systémy a základní uživatelské aplikace v kapesních počítačích firmware mobilů firmware tiskáren firmware agregátů v automobilech (řídící jednotka, vstřikování, ABS, klimatizace, …)
Aplikační software (aplikační programové vybavení) Aplikační software (aplikace) je v informatice veškeré programové vybavení počítače, které je určeno pro přímou práci s uživatelem. Účelem aplikačního software je zpracování a řešení konkrétního problému uživatele. Pro práci s uživatelem má v počítači typicky grafické nebo textové rozhraní. Aplikace se může skládat z několika programů, případně je několik aplikací spojeno do skupiny, kterou označujeme jako aplikační balíky, mezi které patří například kancelářské balíky OpenOffice, Microsoft Office a 602Office. Aplikační software můžeme rozdělit do různých skupin. Některé aplikace mohou patřit i do více skupin a skupiny se mohou překrývat, protože rozdělení nemusí být jednoznačné. Skupiny aplikačního programového vybavení: 1) Textové editory – jednoduší umožňují psát text, profesionální dokáží text editovat i ve složitějších operacích (Word, Writer, T 602, PSPad, Notepad, Ami Pro, Wordpad, Poznámkový blok,) 2) Tabulkové procesory – slouží pro práci s tabulkami, mohou se využít i různé vzorce, funkce a nástroje jejich součástí je i tvorba grafů pro přehlednou prezentaci výsledků (Excel, Calc, C 602, Lotus, Quattro Pro) 3) Databázové systémy – programy pro práci s daty, umožňují uchovávat a zpracovat různé seznamy, kartotéky, katalogy –tvz. databáze (Access, Fox Pro, SQL, Base, Oracle) 4) Grafické programy – jsou programy pro práci s grafikou, pomáhají vytvářet obrázky, výkresy a nejrůznější objekty (Corel, Zoner Callisto, Gimp, Draw, Malování) 5) Antivirové programy – je software, který slouží k identifikaci, odstraňování a eliminaci počítačových virů a jiného škodlivého software (malware). Úspěšnost závisí na schopnostech antivirového programu a aktuálnosti databáze počítačových virů. Aktuální virové databáze se dnes nejčastěji stahují z Internetu. (AVG, Norton AntiVirus, NOD32, Kaspersky) 6) Komprimační (archivační) programy – slouží k uložení informací tak, že zaberou méně místa na disku tzv. komprimace (WinRAR, WinZip, WinAce, 7-zip, PowerArchiver)
-5-
Maturitní otázka z POS - č. 9 7) Webové (internetové) prohlížeče (Browsery) – slouží k prohlížení WWW (World Wide Web), umožňují komunikaci s HTTP serverem a zpracování přijatého kódu (html, xhtml, xml apod.), který podle daných standardů zformátuje a zobrazí webovou stránku. (Internet Explorer, Mozilla, Firefox, Opera, Safari). 8) Prezentační programy – umožňují vytvořit prezentaci, tj. sérii stránek (snímků) poskytujících přehledně zobrazené informace, které můžeme doplnit nejen grafickými objekty, ale i dynamickými prvky, které mohou prezentaci oživit (zvuk, animace). (PowerPoint, Impress, KPresenter) Existuje celá řada dalších skupin aplikačního software: -
programy pro úpravu videa, fotografie, zvuku programy pro správu souborů hry – také tvoří samostatnou skupinu poštovní programy výukové programy programy pro tvorbu webových stránek apod.
Programovací jazyky Programovací jazyk je umělý jazyk (prostředek) pro zápis algoritmů, má omezený počet slov a pevná pravidla, podle nichž tato slova můžeme spojovat. Zápis algoritmu ve zvoleném programovacím jazyce se nazývá program. Programovací jazyk je komunikačním nástrojem mezi programátorem, který v programovacím jazyce formuluje postup řešení daného problému, a počítačem, který program interpretuje technickými prostředky. Programovací jazyk je vlastně soubor pravidel pro zápis algoritmu, odborně řečeno se jedná o formální jazyk. Programovací jazyky dle míry abstrakce rozdělujeme do 3 skupin: strojový jazyk – je základní jazyk počítače, instrukce strojového jazyka je počítač schopen bezprostředně vykonat (posloupnost 0 a 1), pro programátora je práce v tomto jazyce velmi náročná, proto se nepoužívá 2) nižší programovací jazyky - jazyk symbolických adres (zápis příkazů je proveden symbolicky, druh operace je zapsán zkratkou, jedna instrukce v sobě v jazyce symbolických adres v sobě zahrnuje několik instrukcí strojového jazyka), - částečně VHDL - jazyk sloužící pro popis hardware, zkratka VHDL znamená VHSIC Hardware Description Language (jazyk pro popis hardware), kde VHSIC je zkratka z Very-High-Speed Intergrated Circuit (velmi rychlé integrované obvody) 3) vyšší programovací jazyky (většina jazyků) – usnadňují programování, umožňují jednoduší a přehlednější zápis instrukcí Vyšší programovací jazyky se dále dělí na: 1)
a) procedurální (imperativní) - strukturované – Basic, Fortran, Pascal, C jazyk, Cobol - objektově orientované – Java, C# (vyslovuje se C Sharp), Visual Basic, C++, Delphi b) neprocedurální (deklarativní) - funkcionální – Lips, Miranda - logické – Prolog -6-
Maturitní otázka z POS - č. 9 Dle způsobu překladu a spuštění: • •
kompilované programovací jazyky (např. Pascal, C, C++) interpretované programovací jazyky (např. BASIC, Perl, Python, Shell) - interpretované jazyky, které se pouze interpretují (z toho důvodu jsou pomalejší proto většina jazyků má alespoň nějakou jinou možnost, pokud nejsou stejně zpomalované něčím jiným, jako třeba shell) - interpretované jazyky, které se překládají, ale pouze do mezikódu, nikoli do strojového kódu počítače (např. Java, Python) - interpretované jazyky, které se po spuštění za běhu programu překládají do strojového kódu počítače (např. Java, pokud se použije systém JIT)
Toto členění není úplné, řada programovacích jazyků existuje v implementaci jak interpretované, tak kompilované (například zmíněná Java). Navíc jsou oba postupy někdy kombinovány, zdrojový kód je nejprve kompilován do mezikódu, který je poté interpretován. Překladače: a) interpret – čte příkaz za příkazem, překládá jej a provádí, přečte 1. příkaz, přeloží jej, provede, zapomene překlad atd. Při každém spuštění programu musí překlad proběhnout znovu = pomalé b) kompilátor – překládá program jako celek, každý příkaz překládá pouze jednou, překládá celý zdrojový program a po přeložení ho ukládá do souboru na disk. Výsledkem kompilace je cílový program ve strojovém jazyce.
-7-