Deskriptor souboru: Porovnání verzí

Smazaný obsah Přidaný obsah
JackalND (diskuse | příspěvky)
Celkové přepracování, „odpahýlování“, wikifikace; že „file handle“ je technicky jiný objekt, v textu řádně vysvětleno nebylo a neztotožňuji se s tím, tak jsem to odebral; některé informace sem IMHO nepatří.
m Robot: vhodnější šablona dle žádosti ze dne 25. 4. 2020; kosmetické úpravy
Řádek 1:
'''Deskriptor souboru''' (též '''popisovač souboru''' nebo '''souborový deskriptor''', {{Vjazyce|en}} ''{{Cizojazyčně|en|file descriptor}}'') je v [[Informatika|informatice]] abstraktní klíč (prakticky vždy [[celé číslo]]), který se svěřuje [[Proces (program)|procesům]] za účelem identifikace otevřeného [[soubor]]u či jiného [[Datový proud|datového proudu]], např. [[Roura (software)|roury]] nebo [[soket]]u, při používání [[Systémové volání|systémových volání]] (vstupech [[Operační systém| operačního systému]] do činnosti [[Počítačový program|programu]]). [[Identifikátor]] se tak jako [[Parametr funkce|parametr]] volání [[Podprogram|funkce]] předává v každém požadavku na čtení, zápis nebo uzavření.
 
Pojmenování je příznačné zejména pro [[UN*X|unixové operační systémy]], vycházející ze standardu [[Portable Operating System Interface|POSIX]]. Terminologie konkurenčních systémů [[Microsoft Windows|Windows]] firmy [[Microsoft]] dává přednost názvu ''file handle''; ''handle'' je přitom označení pro [[identifikátor]] jakéhokoli objektu v [[Operační systém|operačním systému]], přívlastek ''file'' upřesňuje, že se jedná o [[Datový proud|proud]] — entitu, s níž lze provádět [[Vstup/výstup|vstupně-výstupní]] operace.
Řádek 8:
S každým přiřazením souborového deskriptoru si [[operační systém]] poznamenává, že k tomuto úkonu došlo. S vlastním [[identifikátor]]em nesvazuje pouze [[datový proud]], nýbrž také vlastnosti vytvořeného komunikačního kanálu. Pevné zastoupení mezi těmito má směr komunikace (čtení, zápis, čtení i zápis), obvyklé další položky jsou údaj o tom, zda [[Vstup/výstup|vstupně-výstupní]] operace mají být uskutečňovány v [[Proces (program)#Základní stavy procesů|blokovacím]], nebo neblokovacím režimu, a informace, zda je možno pracovat s tzv. [[Souborový ukazatel|souborovým ukazatelem]], resp. se při čtení nebo zápisu vracet.
 
Je-li zařízením [[soubor]] ve [[Vnější paměť|vnější paměti]], kupř. na [[Pevný disk|pevném disku]], častým vedlejším efektem držení deskriptoru, především při otevření pro zápis, je bránění [[Operační systém|operačním systémem]] ve smazání či přejmenování tohoto souboru. V případě prostředku, jenž není adresovatelný v [[Souborový systém|souborovém systému]], např. [[Roura (software)|roury]] nebo [[Soket|soketusoket]]u, je naproti tomu událost uzavření posledního přiděleného deskriptoru podnětem k odstranění tohoto prostředku (jeho [[Datová struktura|datových struktur]]) z [[Počítačová paměť|paměti]].
 
Rodiny [[Operační systém|operačních systémů]] se stran souborových deskriptorů liší v počtu sad příslušných [[Systémové volání|systémových volání]]. Zatímco [[UN*X|unixová architektura]] se snaží se všemi částmi operačního systému zacházet jako se [[soubor]]y nebo [[Proces (program)|procesy]] (důraz na co největší [[Abstrakce|abstrakci]]), pravděpodobně nejvlivnější představitel odlišné filozofie — společnost [[Microsoft]] — jde spíše cestou specializovaných funkcí. Nakládání s [[Vnější paměť|vnější pamětí]] a [[Meziprocesová komunikace|interprocesní komunikace]] ovšem mají svá podstatná specifika — soubor ve vnější paměti je [[Zařízení (soubor)#Bloková zařízení|zařízením blokovým]] a [[Proces (program)#Základní stavy procesů|blokování]] v jeho obsluze je takřka bezpředmětné, [[Roura (software)|roura]] a [[soket]] jsou [[Zařízení (soubor)#Znaková zařízení|znaková zařízení]] a blokovací mód reprezentuje výchozí způsob práce s nimi.
 
== Deskriptory standardních proudů ==
Norma [[Portable Operating System Interface|POSIX]], spolu s níž byl pojem zaveden a která [[Operačníoperační systém|operační systémy]]y zavazuje deskriptory vyjadřovat [[Celé číslo|celými čísly]], vedle souborového deskriptoru jakožto rozhraní definuje trojici deskriptorů pro obsluhu tzv. [[Standardní proudy|standardních proudů]]: ''standardní vstup'', ''standardní výstup'' a ''standardní chybový výstup'' ({{Vjazyce|en}} {{CizojazyčněVjazyce2|en|''stdin'', ''stdout'', ''stderr''}}). Tyto popisovače zpravidla mají hodnoty ''0'', ''1'', ''2'' (v uvedeném pořadí) a charakteristické jsou tím, že jsou implicitně otevřené.
{{viz též|Standardní proudy}}