Operační systém
Operační systém (OS), program, který spravuje prostředky počítače, zejména rozdělování těchto prostředků mezi ostatní programy. Mezi typické prostředky patří centrální procesorová jednotka (CPU), paměť počítače, úložiště souborů, vstupní/výstupní (I/O) zařízení a síťová připojení. Mezi úkoly správy patří plánování využití prostředků tak, aby nedocházelo ke konfliktům a rušení mezi programy. Na rozdíl od většiny programů, které dokončí úkol a ukončí se, operační systém běží neomezeně dlouho a ukončí se až po vypnutí počítače.
Moderní víceprocesorové operační systémy umožňují aktivitu mnoha procesů, přičemž každý proces je „výpočetním vláknem“, které se používá k provádění programu. Jednou z forem multiprocesingu je tzv. sdílení času, které umožňuje mnoha uživatelům sdílet přístup k počítači rychlým přepínáním mezi nimi. Sdílení času musí chránit před rušením mezi programy uživatelů a většina systémů používá virtuální paměť, ve které může být paměť nebo „adresní prostor“ používaný programem umístěn v sekundární paměti (např. na magnetickém pevném disku), když není bezprostředně používán, aby byl na požádání vyměněn zpět a obsadil rychlejší hlavní paměť počítače. Tato virtuální paměť jednak zvětšuje adresní prostor, který má program k dispozici, jednak pomáhá zabránit vzájemnému rušení programů, ale vyžaduje pečlivou kontrolu ze strany operačního systému a sadu alokačních tabulek pro sledování využití paměti. Snad nejchoulostivějším a nejkritičtějším úkolem moderního operačního systému je přidělování procesoru; každý proces smí používat procesor po omezenou dobu, která může být zlomkem sekundy, a pak se musí vzdát kontroly a pozastavit se až do svého dalšího příchodu na řadu. Přepínání mezi procesy musí samo o sobě využívat procesor a zároveň chránit všechna data procesů.
První digitální počítače neměly žádný operační systém. Běžel na nich vždy jeden program, který měl příkaz ke všem systémovým prostředkům, a lidský operátor zajišťoval všechny potřebné speciální prostředky. První operační systémy byly vyvinuty v polovině 50. let 20. století. Jednalo se o malé „supervizní programy“, které zajišťovaly základní vstupně-výstupní operace (například ovládání čteček děrných štítků a tiskáren) a vedly účty o využití procesoru pro fakturaci. Supervizorové programy také poskytovaly možnosti multiprogramování, aby bylo možné spustit několik programů najednou. To bylo důležité zejména proto, aby tyto první mnohamilionové stroje nebyly nečinné během pomalých vstupně-výstupních operací.
Počítače získaly výkonnější operační systémy v 60. letech 20. století s nástupem sdílení času, které vyžadovalo systém pro správu více uživatelů sdílejících čas procesoru a terminálů. Dva rané systémy pro sdílení času byly CTSS (Compatible Time Sharing System), vyvinutý na Massachusettském technologickém institutu, a Dartmouth College Basic System, vyvinutý na Dartmouth College. Mezi další víceprogramové systémy patřil Atlas na univerzitě v anglickém Manchesteru a OS/360 společnosti IBM, pravděpodobně nejsložitější softwarový balík 60. let. Po roce 1972 se nejpropracovanějším systémem stal systém Multics pro počítač GE 645 společnosti General Electric Co. (a později pro počítače společnosti Honeywell Inc.), který disponoval většinou funkcí multiprogramování a sdílení času, jež se později staly standardem.
Minipočítače 70. let měly omezenou paměť a vyžadovaly menší operační systémy. Nejdůležitějším operačním systémem tohoto období byl UNIX, který vyvinula společnost AT&T pro velké minipočítače jako jednodušší alternativu k systému Multics. V 80. letech se stal široce používaným, částečně proto, že byl pro univerzity zdarma, a částečně proto, že byl navržen se sadou nástrojů, které byly v rukou zkušených programátorů výkonné. V nedávné době se na osobních i větších počítačích stal populárním Linux, open-source verze UNIXu vyvinutá zčásti skupinou vedenou finským studentem informatiky Linusem Torvaldsem a zčásti skupinou vedenou americkým programátorem Richardem Stallmanem.
Kromě těchto univerzálních systémů běží na malých počítačích, které řídí montážní linky, letadla, a dokonce i domácí spotřebiče, i speciální operační systémy. Jedná se o systémy reálného času, které jsou navrženy tak, aby poskytovaly rychlou odezvu na senzory a využívaly jejich vstupy k řízení strojů. Operační systémy byly vyvinuty také pro mobilní zařízení, jako jsou chytré telefony a tablety. Dvěma významnými mobilními operačními systémy jsou iOS společnosti Apple Inc, který běží na iPhonech a iPadech, a Android společnosti Google Inc.
Z pohledu uživatele nebo aplikačního programu poskytuje operační systém služby. Některé z nich jsou jednoduché uživatelské příkazy jako „dir“ – zobrazení souborů na disku – zatímco jiné jsou nízkoúrovňová „systémová volání“, která může grafický program použít k zobrazení obrázku. V obou případech operační systém poskytuje příslušný přístup ke svým objektům, v jednom případě k tabulkám diskových umístění a v druhém k rutinám pro přenos dat na obrazovku. Některé z jeho rutin, ty, které spravují procesor a paměť, jsou obecně přístupné pouze jiným částem operačního systému.
Současné operační systémy pro osobní počítače běžně poskytují grafické uživatelské rozhraní (GUI). Grafické uživatelské rozhraní může být nedílnou součástí systému, jako je tomu u starších verzí operačních systémů Mac OS společnosti Apple a Windows společnosti Microsoft Corporation; v jiných případech se jedná o sadu programů, které jsou závislé na základním systému, jako je tomu u systému X Window pro UNIX a Mac OS X společnosti Apple.