Data (počítače)

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Data jsou v informatice veškeré informace v digitální (číselné) podobě určené k počítačovému zpracování. Data (např. číslo, text, obrázek, zvuk, zdrojový kód atd.) jsou zapsány (kódovány) v podobě posloupností čísel (bajtů) a uloženy např. v operační paměti počítače nebo na záznamovém médiu (pevný disk, CD, paměťová karta, internetový server ap.). Stejným způsobem je kromě dat uložený sled instrukcí tvořící počítačový program, který určuje, jak má počítač data zpracovávat.

Data se sice zapisují jako posloupnosti bajtů, ale lidsky přítulnější je uvažovat na vyšší úrovni abstrakce - např. data jsou obrázek, který je uložen v nějakém formátu. K datům (bajtům, bitům) taktéž potřebujeme informaci, co reprezentují (představte si dobře zkomprimovaný soubor); k tomu se používají metadata. Data se často shlukují a strukturují a databáze je nástroj pro uchovávání a zpracovávání větších množství dat.

V jiném pojetí se za data považuje binární soubor, který není lidmi čitelný, na rozdíl od lidmi čitelných textových souborů.[1] Ale (moderní) datové formáty jako SGML, XML a JSON dovolují zachycovat data ve více (či méně) lidsky čitelné podobě.

Celkový objem digitálních dat v roce 2007 byl odhadnut na 281 bilionů GB.[2][3]

Data vs. program[editovat | editovat zdroj]

Počítače v podstatě provádějí tok instrukcí, který dostanou. Řada instrukcí k vykonání úlohy (nebo úloh) se nazývá počítačový program, na nízké úrovni pak vykonatelný kód. Ten je pak vykonáván počítačem a je zapsán ve strojovém kódu. Části paměti, používané programem, které nejsou vykonávány procesorem, obsahují data. Obvykle se data měnit můžou a program se nemění. Striktní oddělení programu a dat (na nízké úrovni) je pragmatický přístup, který slouží i jako ochrana proti chybám softwaru a před úmyslnou snahou program změnit, resp. "vykonávat" data.

Typicky, různé soubory jsou používány na uchování programů nebo dat a rozlišují se konvencí pomocí přípon za tečkou. Spustitelné soubory obsahují programy; všechny ostatní soubory jsou datové. Přesto, spustitelné soubory mohou také obsahovat vestavěná data. V některých případech některé spustitelné soubory mají datový segment, který obsahuje konstanty a inicializační hodnoty, což jsou data. Knihovny (DLL) obsahují jak vykonatelné části, tak datové informace.

Například: uživatel může nejprve instruovat operační systém, aby načetl textový editor z jednoho souboru a následně editovat textový dokument uložený v jiném souboru. V tomto příkladě dokument obsahuje data. Pokud textový editor obsahuje i kontrolu pravopisu, pak jeho slovník (seznam slov) bude také obsahovat data. Algoritmus používaný kontrolou překlepů, navrhující opravy, by byl považován za programový kód.

Hranice mezi programem a daty může být (někomu) nejasná. Stejný soubor nebo část paměti může být podle způsobu použití data nebo program. Například interpret je program, kde vstupní data do interpretu jsou sama o sobě programový kód, jen nejsou vyjádřena v přirozeném počítačovém jazyce. V mnoha případech bude interpretovaný program v lidsky čitelné podobě (textový soubor), s nímž lze manipulovat v textovém editoru jako s přirozeným textem.

O vykonatelném kódu se často mluví i v případě, že je interpretován. Z technického pohledu jde o data interpretu, například shellu (sh, BAT). Ale protože ten interpret může podle těch dat vykonat skoro cokoli, z pohledu uživatele šlo o vykonání programu. Kompilátor, když generuje strojové instrukce, tak jsou to pro něj data. A JIT kompilátor taková data vygeneruje a pak je následně vykoná.

von Neumannova architektura[editovat | editovat zdroj]

V běžně používané von Neumannově architektuře můžeme bajty použít jako data nebo program. Kompilátor generuje budoucí spustitelný kód jako data a ta se pak spustí. Interpret čte data, která někteří uživatelé chápou jako zdroják (což není kód, ale jeho abstrakce), a při jeho interpretaci vykonává interpret svoje instrukce. Na nízké úrovni je bajt data neodlišitelný od bajtu kódu, na vyšší úrovni programovacích jazyků se pro shodný formát programu i dat používá pojem homoikonicita (angl. homoiconicity).

Formát[editovat | editovat zdroj]

Formát dat (v širokém smyslu, nejen souborů) je často standardizován, aby se počítače a programy domluvily. A aby se v tom vyznali i uživatelé, tak různé formáty souborů mají svoje konvenční přípony.

Neveřejné (binární) formáty nutily uživatele používat programy určitého výrobce. Otevřené formáty, často textové, odstraňují do určité míry tuto nepříjemnost.

Data v programovacích jazycích mají typ. Jednoduchý vestavěný nebo složený. Typ určuje, jak se kódují data do bitů (nebo bajtů) a teda jak se mají chápat bajty dat.

Reference[editovat | editovat zdroj]

  1. file(1) [online]. 2004-12-04, [cit. 2007-03-19]. (OpenBSD Manual Pages.) Dostupné online.  
  2. Paul, Ryan. Study: amount of digital info > global storage capacity. Parametr "periodikum" je povinný! Ars Technica, March 12, 2008. Dostupné online [cit. 2008-03-12].  
  3. Gantz, John F. et al.. The Diverse and Exploding Digital Universe [online]. International Data Corporation via EMC, 2008, [cit. 2008-03-12]. Dostupné online.  

Související články[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Data (computing) na anglické Wikipedii.