Operační systémy
Aplikační software
Druhy licencí
Instalace softwaru
- Software
- Těžko exaktně definovat
- Program co se spouští na počítači
- "Duše počítače"
- Rozdíl mezi softwarem a firmwarem
- Software lze měnit a očekává se, že ho bude uživatel měnit
- Firmware pevně daný (např. v routeru, autě)
- Špatně definovatelný
- Základní program počítače, který umožnujě běh programů a komunikaci mezi nimi
- Prostředník mezi hardwarem a dalším softwarem
- Zjednodušuje uživateli používání počítače, vývoj softwareu
- Nejen v počítačích, ale také mobilech, konzolích, routerech, televizích...
- Unified Extensible Firmware Interface
- Nahrazuje starší BIOS
- BIOS = Basic Input-Output System
- Firmware počítače, který spouští operační systém
- Grafická konfigurace některých parametrů počítače (např. nastavení času, zapnutí a vypnutí některých funkcí procesoru)
- lze se do něj dostat během startu počítače pomocí klávesy Esc, Del, F11 (záleží)
- Záleží na konkrétním operačním systému
- Spravuje prostředky počítače - Paměť, procesor, přístup k disku...
- Poskytuje funkce pro ovládání hardwareu - Ovladače, souborové systémy, síťové systémy...
- Multitasking - Spouštění více programů zárověň
- Separace oprávění - Omezuje k čemu mají různé programy (a uživatelé) přsítup
- Nejpoužívanější rodina operačních systémů
- Dnes Linux (Android a ChromeOS), FreeBSD
- "Všechno je soubor", standardní knihovna v jazyce C
- Rozdělení operačního systému na jádro (kernel) a zbytek
- Jádro - kernelland
- Základ operačního systému
- Spravuje běžící procesy (programy)
- Obsahuje ovladače, souborové systémy...
- Userland
- Uživatelské programy
- Jádro - kernelland
- Technicky vzato pouze jádro
$\implies$ GNU/Linux - Mnoho distribucí
- Debian - Ubuntu, LinuxMint, PopOS, ...
- Fedora
- OpenSUSE
- NixOS
- ArchLinux
- ...
- Pro osobní počítače - Windows 11, ChromeOS, Macos, Linux
- Servery, superpočítačí - Převládá Linux, Windows
- Mobilní zařízení - Android (Linux), Ios
- Aplikace
- Umožnují uživateli dělat nějakou činnost
- Např. emailový klient, webový prohlížeč, video přehrávač, textový editor, hry...
- Kompilace zdrojového kodu
- Stažení binárního blobu (u windows
.exe
) odněkud z internetu- Nebezpečné, riziko stažení viru
- Populární na Windows, MacOS
- Obvykle přes installer - instalace aktualizace, oprava, odinstalace (pouze) daného programu
- Portable verze
- samostatná složka s programem
- nevyžaduje úpravu souborů mimo ni
- výhodná pro přenos mezi počítači (např. na flashce)
- Správce balíčku
- Program, který se stará o instalaci, odinstalaci, aktualizaci ostatních programů
- Většinou přes příkazovou řádku, nebo grafický "obchod"
- Na windwos winget
- Linux
- Apt - Debian
- Dnf - Fedora
- Pacman - Archlinux
- NixOS - Nix
- Dockerový kontejner
- Stáhne se nejen samotný software, ale i celý "virtuální počítač", ve kterém se software spouští
- Hodí se vývojářům - kontrola zavislých knihoven a prostředí
- Proprietární licence
- Omezují šíření softwareu, jeho zkoumání a upravování
- Většina komerčního softwareu je takto šířena
- Freeware, Demoware
- Software (nebo jeho část) je zdarma dostupná, ale bez zdrojového kódu
- Opensourceové a svobodné licence
- Umožňují software volně šířit, zkoumat, upravovat a upravené verze softwareu dále šířit
- Opensource lecence
- Např. Public Domain, Creative Commons, licence Apache a MIT
- Svobodné licence (Copyleft)
- Fanatičtější než opensource licence - Vyžadují aby úpravy programu vyšely pod stejnou svobodnou licensí
- Např. licence GNU GPL, BSD licence
- Bez license má autor exkluzivní právo na všechno
- Může být limitováno platformou (e.g. Github dovoluje prohlížení a forknutí repozitáře)