Operační systémy

Co je operační systém?

  • Základní software řídící hardware počítače.

  • Poskytuje rozhraní mezi uživatelem a hardwarem.

  • Zajišťuje běh aplikací.

  • Odpovídá za správu zdrojů:

    • CPU

    • paměť

    • úložiště

    • I/O zařízení

Hlavní úlohy operačního systému

  • Správa procesů

  • Správa paměti

  • Správa souborového systému

  • Správa zařízení (ovladače)

  • Komunikace mezi procesy

  • Bezpečnost a řízení přístupu

  • Síťové služby

Typy operačních systémů

  • Stolní OS – Windows, macOS, Linux

  • Serverové OS – Linux, BSD, Windows Server

  • Mobilní OS – Android, iOS

  • Embedded OS – RTOS, OpenWRT, Armbian, Android

1. Počátky (1950–1960)

  • Počítače bez OS – programy se zadávaly ručně.

  • Systémy pro dávkové zpracování (batch processing).

  • Operační systémy vznikají jako nástroj pro:

    • řízení hardware

    • plánování úloh

    • práci s páskami a děrnými štítky

  • První OS:

    • GM-NAA I/O (1956)

    • IBM early batch systems

2. Rozvoj OS (1960–1970)

  • Multitasking a time-sharing.

  • MIT, Bell Labs a GE – vývoj Multics.

  • Zavedení konceptů:

    • souborový systém

    • hierarchické adresáře

    • přístupová práva

  • Vzniká UNIX (1969) – lehčí alternativa k Multics.

3. Éra UNIXu (1970–1990)

  • UNIX se šíří do univerzit a průmyslu.

  • Vznikají deriváty: BSD, System V.

  • Klíčové myšlenky:

    • „vše je soubor“

    • potrubí (pipes)

    • jednoduchost a modularita

  • 1983 – projekt GNU (Free Software Foundation).

  • 1991 – Linus Torvalds vydává první verzi Linuxu.

4. PC revoluce (1980–2000)

  • 1981 – MS-DOS pro IBM PC.

  • 1985 – Windows 1.0, postupný vývoj GUI.

  • 1984 – Mac OS s grafickým prostředím.

  • 1993 – vznik Windows NT (nové jádro, bezpečnostní model).

  • 1998–2000 – Linux získává masovou popularitu na serverech.

5. Moderní OS (2000–současnost)

  • Mobilní platformy:

    • Android (2008, Linux jádro)

    • iOS (2007, Darwin + XNU)

  • Cloud, virtualizace a kontejnery:

    • KVM, Xen, Docker, Kubernetes

  • IoT a embedded systémy:

    • RTOS, Armbian, OpenWRT

  • Posun k bezpečnosti, sandboxingu a izolaci.

  • Operační systémy se stávají komplexními platformami pro multimédia, AI, cloud a distribuované systémy.

Architektura OS

  • Monolitické jádro

    • Vše běží v jádře (Linux)

  • Mikrojádro

    • Minimální jádro, ostatní služby běží v uživatelském prostoru (Minix)

  • Hybridní jádro

    • Kombinace obou (Windows, macOS)

Monolitické jádro (Linux)

  • Většina ovladačů běží přímo v jádře

  • Výhody:

    • vysoký výkon

    • nízká režie

  • Nevýhody:

    • chyba v ovladači = pád systému

    • větší složitost

Mikrojádro

  • Jádro obsahuje jen minimum:

    • IPC - komunikace mezi procesy

    • plánovač

    • správu paměti

  • Ovladače a další části OS běží mimo jádro.

  • Výhody:

    • lepší stabilita

    • modularita

  • Nevýhody:

    • vyšší režie kvůli IPC

Specifické rysy operačního systému Windows

  • Hybridní jádro (ne čistě monolitické, ne mikrojádro).

  • Uživatelské subsystémy (Win32, POSIX, WoW64).

  • HAL – Hardware Abstraction Layer.

  • Kernel mode vs. User mode – striktní oddělení.

  • Terminal / PowerShell / Linux-subsystem

2. Registry

  • Centrální databáze konfigurace systému i aplikací.

  • Oddíly: HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, …

  • Nahrazuje konfigurační soubory známé z UNIX systémů.

  • Výhoda: centralizace. Nevýhoda: snadná korupce, obtížné verzování.

3. Systém služeb (Windows Services)

  • Služby běží na pozadí podobně jako démoni, ale:

    • start mód (Automatic, Delayed, Manual)

    • běh pod specifickými účty (LocalSystem, LocalService…)

  • Řízení přes:

    • services.msc

    • sc.exe

    • PowerShell: Get-Service, Start-Service

4. Bezpečnostní model a řízení přístupu

  • NTFS Permissions – Access Control Lists.

  • UAC (User Account Control) – oddělení admin a běžného uživatele.

  • Group Policy (GPO) – centrální správa konfigurace v doméně.

  • Active Directory – unikátní ekosystém pro firemní prostředí.

5. Windows specifické technologie

  • PowerShell – objektová shell nad .NET.

  • WMI / CIM – systémové management API.

  • COM / DCOM – starší ale stále používané komponentní rozhraní.

  • Win32 API – základní knihovny systému.

  • DirectX – grafické a multimediální rozhraní (gaming standard).

Specifické vlastnosti OS Linux

  • Linux je open-source pod GPL licencí.

  • Každá část systému může být upravena nebo nahrazena.

  • Široká škála distribucí – Debian, Fedora, Arch, Ubuntu, Alpine.

  • Extrémní flexibilita: od serverů po IoT a superpočítače.

2. „Všechno je soubor“

  • Jednotný model zařízení a rozhraní.

  • /dev, /proc, /sys – konfigurace i stav systému přes soubory.

  • Usnadňuje skriptování, monitoring i správu konfigurace.

  • Umožňuje tvořit jednoduché a silné nástroje.

3. Výkonný shell a nástroje

  • Bash, Zsh, Fish – mocné skriptovací prostředí.

  • Filozofie UNIX: dělej jednu věc a dělej ji dobře.

  • Snadná kombinace nástrojů pomocí pipes (|) a přesměrování.

  • Automatizace a práce na serverech je extrémně efektivní.

4. Standardní souborová hierarchie (FHS)

  • /etc – konfigurace

  • /var – logy a proměnná data

  • /usr – aplikace a knihovny

  • /home – uživatelská data

  • Konzistence mezi distribucemi usnadňuje správu.

5. Bezpečnost a permission model

  • Striktní model práv: user, group, other.

  • ACL, SELinux, AppArmor – pokročilé bezpečnostní vrstvy.

  • Izolace aplikací: cgroups, namespaces → základ Dockeru.

  • Běh bez admin práv je běžný default (na rozdíl od starších Windows).

6. Distribuce Linuxu

distros

Specifické vlastnosti Android OS

  • Založen na Linux jádře

  • Optimalizace pro mobilní zařízení.

  • Scheduler přizpůsobený pro nízkou spotřebu energie.

2. Android Runtime (ART)

  • Aplikace běží nad ART (dříve Dalvik VM).

  • Ahead-of-Time (AOT) i Just-in-Time (JIT) kompilace.

  • Každá aplikace v izolovaném sandboxu.

3. Architektura aplikací

  • Apps = Activity, Services, Broadcast Receivers, Content Providers.

  • Manifest definuje oprávnění a chování aplikace.

  • Komunikace přes Intents.

4. Bezpečnostní model

  • Sandbox pro každou aplikaci.

  • Oprávnění (Permissions) udělovaná uživatelem.

  • SELinux v režimu enforcing.

  • Oddělené uživatelské ID pro každou aplikaci.

5. Ekosystém a distribuce

  • Open-source projekt (AOSP).

  • Výrobci přidávají své nadstavby (OneUI, MIUI…).

  • Google Play Services jako uzavřená vrstva nad AOSP.

Specifické vlastnosti macOS

  • Architektura založená na UNIXu

  • Certifikovaný UNIX systém.

  • Stabilní a bezpečné jádro.

  • Terminálové nástroje kompatibilní s POSIX.

2. XNU kernel

  • Hybridní jádro:

    • Mach mikrojádro

    • BSD subsystém

  • Vysoká stabilita a odolnost.

  • Efektivní multitasking a memory management.

3. Ekosystém Apple

  • Silná integrace s hardwarem.

  • Continuity: Handoff, AirDrop, iCloud.

  • Silná kontrola nad aplikacemi → vysoká stabilita.

4. Bezpečnostní model

  • System Integrity Protection (SIP).

  • Sandboxing aplikací.

  • Gatekeeper – kontrola podepsaných aplikací.

  • FileVault – plné šifrování disku.

5. Grafické a vývojové technologie

  • Metal – grafické API pro vysoký výkon.

  • Cocoa a SwiftUI pro vývoj UI.

  • Homebrew jako komunitní UNIX-like balíčkovací systém.

Správa procesů

  • Proces = běžící program

  • Vlákno = lehčí jednotka vykonávání

  • OS se stará o:

    • plánování procesů

    • přidělování CPU času

    • přepínání kontextu

Správa paměti

  • Paměť je organizována do:

    • RAM

    • swap

  • Virtuální paměť:

    • každý proces má vlastní adresní prostor

    • ochrana paměti

    • stránkování

  • Stránkování:

    • paměť je rozdělena na stránky (4 kB)

Souborové systémy

  • Účel: organizace dat na disku

  • Běžné typy:

    • ext4

    • XFS

    • Btrfs

    • NTFS

    • APFS

    • ZFS

  • Funkce:

    • metadata

    • přístupová práva

    • journaling

    • snapshoty (Btrfs, ZFS)

Ovladače zařízení

  • OS poskytuje jednotné rozhraní k hardware.

  • Ovladače mohou běžet:

    • v jádře (Linux)

    • v uživatelském prostoru (FUSE)

  • Příklady zařízení:

    • disk

    • síťová karta

    • USB zařízení

Komunikace mezi procesy (IPC)

  • Signály

  • FIFO / roury

  • Sockets

  • Sdílená paměť

  • Message queues

  • RPC – u distribuovaných OS

Bezpečnost v operačních systémech

  • Správa uživatelů a skupin

  • Oprávnění

    • rwx pro user/group/others

  • Mandatory Access Control (MAC)

    • SELinux

    • AppArmor

  • Sandboxing (Docker)

Síťové funkce OS

  • TCP/IP stack

  • Firewall (iptables/nftables)

  • DHCP klient/server

  • DNS resolver

  • Routing

  • VPN (WireGuard, IPsec)

Virtualizace

  • Hypervizory:

    • KVM

    • Xen

    • Hyper-V

  • Containerizace:

    • LXC

    • Docker

    • Podman

    • Kubernetes

Příklady populárních OS

  • Linux

    • open-source, velmi flexibilní

  • Windows

    • široká podpora aplikací, GUI

  • macOS

    • Unixový základ, silná integrace s hardwarem

  • Android

    • založený na Linuxu

  • iOS

    • uzavřený, vysoce optimalizovaný

Boot proces

  • POST

  • UEFI / BIOS

  • Bootloader (GRUB)

  • Načtení jádra

  • Inicializace init systému

Trendy v oblasti OS

  • Sandboxing

  • Modularizace (unikernel)

  • Cloud-native OS

  • Zvyšování bezpečnosti

Shrnutí

  • OS řídí hardware a zajišťuje běh aplikací

  • Základní oblasti:

    • procesy, paměť, souborový systém, IPC, bezpečnost

  • Typy jader: monolitické, mikrojádro, hybridní

  • Virtualizace a kontejnery jsou klíčové v moderní infrastruktuře