Direktorij

U računarstvu, **direktorij** (*direktorijum*, *katalog*, *fascikla*, *imenik* ili *omotnica*) je kataloška struktura sistema datoteka koja sadrži reference prema ostalim računarskim datotekama, i često prema drugim direktorijima. Na više računara, direktoriji su poznati kao **folderi**, **katalozi** (`catalog` se koristi na Apple II, Commodore 128 i nekim drugim ranijim kućnim računarima kao komanda za prikazivanje sadržaja diska; sistemi datoteka korišteni od strane ovih DOS-ova (operativni sistemi diska) ne podržavaju hijerarhiju direktorija), ili **lad** da pruže neku relevantnost prema radnom okruženju kao tradicionalni uredski kabinet datoteka. Na Microsoft Windows-u, pojmovi *folder* i *directory* se naizmjenično koriste.

Datoteke su organizirane pohranjivanjem povezanih datoteka u isti direktorij. U hijerarhijskom sistemu datoteka (to je onaj u kojem su datoteke i direktoriji organizirani na način koji podsjeća na stablo), direktorij koji se nalazi u drugom direktoriju se zove **poddirektorij** ili **subdirektorij**. Pojmovi **parent** i **child** se često koriste u engleskom jeziku da opišu vezu između poddirektorija i direktorija u kojem je ovaj prethodni katalogiziran, dok je ovaj drugi parent - roditelj. Direktorij koji sadrži sve direktorije u sistemu datoteka, a ne nalazi se pritom ni u jednom direktoriju, naziva se **root** direktorij.

## Pregled

Historijski, pa čak i na nekim modernim ugrađenim sistemima, sistemi datoteka ili nemaju podršku za direktorije nikako ili imaju samo "flat" strukturu direktorija, što znači da poddirektoriji nisu podržani; postoji samo grupa top-level direktorija gdje svaki sadrži datoteke. Prvi popularni potpuno generalno hijerarhijski sistem datoteka je bio Multics. Ovaj tip sistema datoteka je bio rani istraživački interes Dennisa Ritchieja.

Mnogi moderni sistemi poput Unixa, posebno Linux, imaju standardnu strukturu direktorija definiranu od strane Filesystem Hierarchy Standard. Kod dosta operativnih sistema, programi imaju asociran radni direktorij u kojem se pokreću. Tipično, imena datoteka pristupljena programom pretpostavlja se da borave u ovom direktoriju ako imena datoteka nisu navedena sa eksplicitnim imenom direktorija.

Neki operativni sistemi vrše restrikciju prema korisničkom pristupu na samo njihov "kućni direktorij" ili direktorij projekta, pritom izolirajući njihove aktivnosti od svih ostalih korisnika. U ranijim verzijama Unixa, root direktorij je bio home direktorij za root korisnika, ali moderni Unix obično koristi drugi direktorij kao što je /root za ovu svrhu.

U skladu sa filozofijom Unixa, Unix sistemi tretiraju direktorije kao tip datoteke.

### Metafora "folder"

Naziv *folder*, predstavljajući analogiju sa folderom datoteka koja se koristi u uredima, i korištena u hijerarhijskom sistemu dizajna za Electronic Recording Machine, Accounting (ERMA) Mark 1 izdata u 1958. kao i od strane Xerox Star, je korištenna u skoro svim modernim OS-ovim radnim okruženjima. Direktoriji su često označeni ikonama koje vizuelno predstavljaju fizički izgled fascikle.

Postoji razlika između *directorija*, koji je koncept sistema datoteka, i GUI metafora koja se koristi da reprezentira to (*folder*). Naprimjer, Microsoft Windows koristi koncept specijalnih folderada pomogne prezentirati sadržaje računara prema korisniku u veoma konzistentnom načinu koji oslobađa korisnika od mučenja sa apsolutnim putevima direktorija, koji variraju među verzijama Windowsa, i između individualnih instalacija. Većina operativnih sistema također imaju koncept "smart foldera" koji reflektuju rezultate pretrage sistema datoteka ili druge operacije. Ovi folderi ne reprezentiraju direktorij u hijerarhiji datoteka. Većina email klijenata dopušta kreiranja foldera radi organiziranja emaila. Ovi folderi nemaju korespodentnu reprezentaciju u strukturi sistema datoteka.

Ako se misli na *sadržilac dokumenata*, pojam *folder* je adekvatniji. Pojam *direktorij* predstavlja način strukturne liste datoteka-dokumenata i foldera koji su pohranjeni na računaru. Razlikovanje može biti način pristupa direktoriju; na Unix sistemima, /usr/bin/ se smatra direktorijem kada je prikazan u komandnoj tekstualnoj konzoli, ali ako je pristupljeno istom preko grafičkog interfejsa (menadžera datoteka), korisnici ga onda zovu folder.

## Keš memorija za pregled
Operativni sistemi koji podržavaju hijerarhijske sisteme datoteka (praktično sve moderne) implementiraju formu keširanja u RAM nedavnih pregleda traženih puteva (path). U svijetu Unixa, ovo je često nazivano **Directory Name Lookup Cache** (DNLC), a **dcache** kod Linuxa.

Za lokalne sisteme datoteka, DNLC unosi normalno ističu jedino pod pritiskom ostalih novijih unosa. Za mrežne sisteme datoteka, mehanizam koherentnosti je potreban da omogući tim unosima da ne budu poništeni od strane drugih klijenata.

## Juniks
Pod operativnim sistemom juniks, direktorijumi su ostvareni u obliku specijalne vrste datoteka, čiji osnovni sadržaj treba da bude spisak datoteka i direktorijuma koji se u njemu nalaze, i njihove lokacije u okviru datotečnog sistema. Ovaj koncept je ostvaren transparentno, tako da običan korisnik ne primijeti njegovu „datotečnu“ prirodu.

## Povezano
* Struktura direktorija
* Ime datoteke
* Kućni direktorij
* Root direktorij
* Virtuelni direktorij
* Radni direktorij

## Reference

## Vanjske veze

* Definicija direktorija prema Linux informativnom projektu (LINFO)