Šta je fascikla na računaru?: Sve što trebate znati o datotečnom sistemu i operativnom sistemu

Posljednje ažuriranje: Januar 19 od 2024-a
fascikla, sistem datoteka

Svi mi koristimo datoteke ili datoteke svaki dan, i svi ga koristimo mape ili direktorije, bilo da se radi o datotečnim sistemima desktop računara, laptopa, mobilnih uređaja itd. Stoga ću u ovom članku objasniti sve što trebate znati o tome kako biste mogli razumjeti šta su informacije i kako se pohranjuju u sjećanje na.

Šta je sistem datoteka?

sistem datoteka

Un sistem datoteka Datotečni sistem (FS) je metoda i struktura podataka koju operativni sistem koristi za kontrolu načina pohranjivanja i preuzimanja informacija. Bez datotečnog sistema, podaci pohranjeni na mediju za pohranu bili bi jedinstvena cjelina podataka bez načina da se razlikuje gdje jedan skup podataka završava, a sljedeći počinje, ili gdje se bilo koji skup podataka nalazi kada ga je potrebno preuzeti. To bi bili ono što se naziva sirovim podacima.

Kada formatirate disk za pohranu podataka koristeći NTFS, FAT, ext4, btrfs, HFS+ itd., zapravo kreirate datotečni sistem za upravljanje podacima na tom disku. Drugim riječima, ono što nazivamo formatima zapravo su FS-ovi.

Razdvajanjem podataka na dijelove i imenovanjem svakog dijela, lPodaci se mogu lako izolovati i identifikovatiDa bi sve ovo bilo moguće, datotečni sistem se sastoji od dva ili tri sloja. Ponekad su ovi slojevi eksplicitno odvojeni, a ponekad su funkcije kombinovane. Slojevi o kojima govorimo su:

  • Logički sistem datoteka: je odgovoran za interakciju s korisničkom aplikacijom. Pruža API za operacije s datotekama, kao što su Otvori, Zatvori, Čitaj, itd., i prosljeđuje traženu operaciju sloju ispod njega na obradu. Logički sistem datoteka upravlja otvorenim unosima u tabelu datoteka i deskriptorima datoteka po procesu. Ovaj sloj omogućava pristup datotekama, operacije s direktorijima, sigurnost i zaštitu.
  • Virtuelni datotečni sistemOvaj interfejs omogućava podršku za više istovremenih instanci fizičkih datotečnih sistema. Ovaj sloj je opcionalan i nije uvijek prisutan.
  • Fizički sistem datotekaUpravlja fizičkim radom uređaja za pohranu podataka. Obrađuje fizičke blokove koji se čitaju ili pišu. Upravlja baferovanjem, upravljanjem memorijom i odgovoran je za fizičko postavljanje blokova na određene lokacije na mediju za pohranu podataka. Fizički datotečni sistem komunicira sa drajverima hardverskih uređaja za pohranu podataka ili kanalom kako bi usmjeravao uređaj za pohranu podataka.

Karakteristike FS-a

Svaki postojeći datotečni sistem ima svoja ograničenja i karakteristike koje treba da znate, kao:

  • Upravljanje ili alokacija prostora: Datotečni sistemi granularno raspoređuju prostor, obično na više fizičkih diskova na uređaju. Datotečni sistemi su odgovorni za organiziranje datoteka i direktorija i praćenje koja područja medija pripadaju kojim datotekama, a koja su nekorištena.
  • Fragmentacija: Ovo se dešava kada se ista datoteka pohranjuje na različitim dijelovima diska za pohranu, što znači da pojedinačni dijelovi datoteke nisu susjedni. Kako se datoteke kreiraju, mijenjaju i brišu, to može rezultirati područjima korištenog i nekorištenog prostora različitih veličina. Ne samo to, ovo utiče na neke FS (npr. Microsoftove FAT i NTFS), usporavajući čitanje datoteka.
  • Nazivi fajlova: Datotečni sistemi upravljaju ograničenjima dužine, osjetljivošću na velika i mala slova i upotrebom specijalnih znakova u imenima datoteka.
  • Imenici: Često imaju direktorije za organiziranje datoteka u odvojene kolekcije. Mogu biti ravni ili hijerarhijski. O tome ću detaljnije govoriti kasnije, jer se o tome radi...
  • Metapodaci: Ima povezane metapodatke, koji uključuju detalje kao što su dužina podataka, vremenske oznake, dozvole pristupa i atributi datoteke.
  • Komunalne usluge i pristup: Koriste se za inicijalizaciju, modifikaciju i brisanje instanci datotečnog sistema, kao i za kreiranje, preimenovanje i brisanje direktorija i datoteka, šifriranje, kvote, migraciju, konverziju, pravljenje sigurnosnih kopija itd.
  • Integritet i upravljanje greškama: FS mora održavati integritet struktura datotečnog sistema na sekundarnoj memoriji ili eksternim diskovima, čak i u slučaju kvara operativnog sistema ili nestanka struje.
  • Korisnički podaci: mora omogućiti upravljanje korisničkim podacima, uključujući pohranu, preuzimanje i ažuriranje podataka.
  • Višestruki datotečni sistemi: Moguće je imati više datotečnih sistema na jednom sistemu.
  • Ograničenja dizajna: Datotečni sistemi imaju funkcionalna ograničenja koja definiraju maksimalni kapacitet pohrane unutar tog sistema, maksimalnu veličinu datoteka, broj datoteka itd.

Šta je particija?

Una particiji Particija je logički dio ili podjela uređaja za pohranu podataka, kao što su HDD, SSD, fleš disk itd. Ova particija služi u nekoliko svrha, omogućavajući bolju organizaciju i upravljanje pohranjenim podacima. Na primjer, svaka particija se može koristiti za određenu svrhu, na njoj se može instalirati više operativnih sistema itd.

Važno je napomenuti da kreiranje, brisanje i promjena veličine Promjene particija mogu dovesti do gubitka podataka, stoga je važno ove operacije izvoditi s oprezom i napraviti sigurnosnu kopiju kritičnih podataka prije nego što napravite veće promjene u strukturi particija.

S druge strane, ukratko, trebali biste također shvatiti da postoje različite vrste pregrada fundamentalni u MBR sistemu (mogućnosti su proširene u GPT-u, sa do 128 mogućih particija na istoj jedinici, iako je to druga tema...):

  • Primarna particija: Svaki disk za pohranu može imati do četiri primarne particije. To su glavne particije na kojima su instalirani operativni sistemi i gdje se nalaze podaci. Jedna od primarnih particija može biti određena kao aktivna ili boot particija, s koje se operativni sistem pokreće.
  • Proširena particija: Proširena particija je posebna primarna particija koja se koristi za kreiranje dodatnih logičkih particija unutar nje. Ne sadrži direktno podatke, već djeluje kao kontejner za logičke particije. Možete imati više logičkih particija unutar proširene particije. Ovo vam omogućava da prevaziđete ograničenje od četiri primarne particije na tvrdom disku.
  • Logička particija: Oni se kreiraju unutar proširene particije. Ne koriste se za pokretanje operativnog sistema, već se uglavnom koriste za organiziranje podataka ili datoteka. Možete imati više logičkih particija unutar proširene particije, što olakšava organizaciju podataka.
  Najbolji besplatni programi za obradu teksta 2026: Alternative za Word

Šta je particijska tabela?

La tabela particija To je struktura podataka koja se nalazi na početku tvrdog diska i sadrži informacije o tome kako je disk podijeljen na particije. Obično se pohranjuje u glavnom boot sektoru (MBR) na sistemima zasnovanim na BIOS-u ili u GPT-u (GUID Partition Table) na modernijim sistemima zasnovanim na UEFI-ju. Tabela particija uključuje detalje kao što su veličina svake particije, njen tip (npr. NTFS, FAT32, ext4, itd.) i njena lokacija na mediju za pohranu.

Stoga, veza između tabele particija i datotečnog sistema leži u činjenici da tabela particija ukazuje gdje svaka particija počinje i završava na fizičkom disku. Svaka particija je formatirana sa specifičnim datotečnim sistemom. Kada se particiji pristupi radi čitanja ili pisanja datoteka, operativni sistem koristi informacije u tabeli particija da bi locirao i razumio kako je datotečni sistem strukturiran na toj određenoj particiji.

Vrste datoteka

Format

Među različitim datotečnim sistemima, treba istaknuti sljedeće tipove:

  • Sistemi datoteka na disku: Ovi sistemi koriste sposobnost diskovnih medija za pohranu podataka da nasumično i brzo pristupaju podacima. Oni omogućavaju višestrukim korisnicima ili procesima pristup podacima na disku bez obzira na njegovu sekvencijalnu lokaciju. Primjeri uključuju FAT, exFAT, NTFS, Reiser FS, HFS, HFS+, HPFS, APFS, UFS, ext2, ext3, ext4, XFS, btrfs, VMFS, ZFS, ReiserFS, NSS i ScoutFS. Pored ovih, sljedeće bi se moglo razmotriti:
    • optički diskovi: uobičajeni formati kao što su ISO 9660 i Universal Disk Format (UDF) koji se koriste na CD-ovima, DVD-ima i Blu-ray medijima.
  • Flash sistemi datoteka: Ovi sistemi su posebno dizajnirani za fleš memorijske uređaje i uzimaju u obzir njihove karakteristike i ograničenja. Preporučuje se korištenje datotečnih sistema dizajniranih za fleš uređaje umjesto prilagođavanja diskovnih sistema. Neki primjeri su JFFS, JFFS2, YAFFS, UBIFS, LogFS i F2FS.
  • Sistemi datoteka sa magnetnom trakom: Ovi sistemi upravljaju pohranom na trakama, koje imaju duže vrijeme slučajnog pristupa od diskova. Razlikuju se u upravljanju direktorijima i naglašavaju potrebu izbjegavanja čestih linearnih kretanja na trakama. Primjer bi bio IBM-ov LTFS.
  • Sistemi datoteka baze podataka: Sistemi datoteka zasnovani na bazama podataka, gdje se datoteke identificiraju karakteristikama kao što su tip, autor ili metapodaci. Primjeri uključuju IBM DB2, između ostalih.
  • Transakcijski sistemi datoteka: Ovi sistemi garantuju atomičnost i izolaciju operacija na datoteci. Primjeri uključuju NTFS u Microsoft Windowsu i druge prototipove transakcijskih datotečnih sistema za UNIX/Linux, kao što su LFS, ext3, itd.
  • Mrežni datotečni sistemi: Mrežni datotečni sistemi koji omogućavaju pristup datotekama na udaljenim serverima putem protokola kao što su NFS, AFS, SMB, FTP i WebDAV. To jest, dizajnirani su za distribuirano računarstvo.
  • Dijeljeni sistemi datoteka: Ovi sistemi omogućavaju više servera siguran pristup istom podsistemu diska. Primjeri uključuju GFS2, GPFS, SFS, CXFS, StorNext i ScoutFS.
  • Specijalni sistemi datoteka: Oni su donekle specifični i nemaju elemente datoteka kao takve, ali im se može pristupiti putem API-ja. Na primjer, sistem datoteka uređaja definiramo kao devfs, koji se koristi u Linuxu itd. S druge strane, imamo i druge posebne sisteme poput configfs, sysfs i procfs, također poznate u svijetu Linuxa.
  • Minimalni sistem datoteka / skladištenje audio-kaseta: Audio kasete su korištene kao sistemi za pohranu podataka za napajanje nekih modela mikroračunara tog vremena, kao što je Commodore PET.
  • Sistemi ravnih datoteka (Flat File System): Ovi sistemi nemaju poddirektorije i pohranjuju sve unose direktorija u jednom glavnom direktoriju. Primjeri ovih FS-ova su onaj koji se koristi u CP/M sistemu i Macintosh File System za Apple-ove klasične Mac računare.

FS Technologies

Proces formatiranja

Svaki datotečni sistem ima svoje specifičnosti i oni podržavaju različite tehnologije. Neki od najvažnijih su:

  • Samoizlječenje: Odnosi se na sposobnost datotečnog sistema da automatski otkrije i ispravi greške i probleme koji se mogu pojaviti u sistemu za pohranu. Ove greške mogu uključivati ​​loše sektore na tvrdom disku ili druge vrste oštećenja podataka. Kada se otkrije greška, datotečni sistem može pokušati oporaviti pogođene podatke vraćanjem iz sigurnosnih kopija ili popravkom oštećenih podataka. Ovo pomaže u održavanju integriteta podataka pohranjenih u datotečnom sistemu.
  • Kompresija: To je funkcija koja vam omogućava smanjenje veličine datoteka i podataka pohranjenih u datotečnom sistemu. Kompresija podataka može uštedjeti prostor na disku i ubrzati prijenos datoteka. Kada je kompresija omogućena, datotečni sistem automatski komprimira datoteke koje se na njega zapisuju i dekomprimira datoteke kada se pročitaju. Ovo može biti korisno na sistemima za pohranu s ograničenim resursima, iako može usporiti pristup.
  • enkripcija: To je tehnika koja se koristi za zaštitu povjerljivosti podataka pohranjenih u datotečnom sistemu. Podaci se šifriraju prije nego što se zapišu na disk i dešifriraju se prilikom čitanja. Šifriranje osigurava da su podaci nečitljivi svima bez odgovarajućeg ključa za dešifriranje. Ovo je ključno za zaštitu privatnosti i sigurnosti osjetljivih podataka. Poput kompresije, može i usporiti pristup.
  • Vođenje dnevnika (zapisnik transakcija): To je funkcija koja čuva zapis svih operacija izvršenih na datotečnom sistemu, kao što su kreiranje, modifikacija ili brisanje datoteka. Ovaj zapis se naziva "dnevnik" ili "dnevnik transakcija". U slučaju kvara sistema, kao što je neočekivani nestanak struje, datotečni sistem može koristiti dnevnik transakcija za oporavak u konzistentno stanje. Ovo sprječava oštećenje podataka i osigurava integritet datotečnog sistema.
  • Kapacitet snimka: Snimci podataka (snapshots) su kopije sistema datoteka u određenom trenutku. Ove kopije su snimci podataka i pohranjuju se zajedno s trenutnim podacima u sistemu datoteka. Snimci podataka omogućavaju vraćanje sistema datoteka u prethodno stanje ako dođe do grešaka ili neželjenih promjena. Ovo je korisno za sigurnosno kopiranje, oporavak podataka i testiranje promjena prije nego što se trajno implementiraju u sistem.
  Vještine umjetne inteligencije: tehničke i ljudske vještine koje će oblikovati vašu budućnost

Šta je direktorij ili mapa?

Windows 10, folder bez pristupa

Sada kada znamo kako se podaci pohranjuju u memorijskim jedinicama i koje su potrebne strukture podataka, vrijeme je da objasnimo šta je mapa ili direktorij.

Direktorij ili mapa je struktura za katalogiziranje drugih datoteka unutar datotečnog sistema, dajući mu intuitivniju hijerarhiju ili organizaciju za korisnika ili operativni sistem. Da bi se to postiglo, sadrži reference na druge datoteke i moguće druge direktorije ili mape, u ovom slučaju nazvane poddirektorije ili podmape.

Neki operativni sistemi sa hijerarhijskim datotečnim sistemima, kao što je Unix, obično imaju keš memoriju direktorija sa nedavnim putanjama pohranjenim u dijelu RAM-a. U Unixu, ovaj dio je poznat kao DNLC (Directory Name Lookup Cache), dok se u Linuxu naziva dcache. Ovaj dio memorije se ažurira sa nedavno pristupljenim putanjama, dok je u mrežnim datotečnim sistemima potreban mehanizam za osiguranje konzistentnosti upravljanjem unosima koji su poništeni ili kreirani od strane korisnika.

U a hijerarhijski sistem datoteka Pohranjivanje je slično stablu. Izrazi "roditelj" i "dijete" se često koriste za opisivanje odnosa između poddirektorija i direktorija u kojem je katalogiziran, pri čemu je ovaj drugi roditelj. Direktorij najvišeg ranga u takvom datotečnom sistemu, koji nema svog roditelja, naziva se korijenski direktorij. To se najbolje može vidjeti u Unixu ili Linuxu, gdje imate određenu hijerarhiju, a korijenski direktorij je root ili /, iz kojeg vise svi ostali direktoriji, čak i ako nisu na istoj particiji.

Virtuelni direktorijum je vrsta organizacije datoteka koja se ne oslanja na lokaciju u hijerarhijskom stablu direktorijuma. Umjesto toga, prikuplja rezultate iz izvora podataka, kao što je baza podataka ili prilagođeni indeks, i vizualno ih predstavlja u istom formatu kao i prikazi foldera.

Ove mape ili direktoriji može se upravljati korištenje alata, i GUI i CLI. Na primjer, možemo koristiti naredbe ili sam upravitelj datoteka za kreiranje, brisanje, preimenovanje, premještanje, kopiranje itd. Iako neki operativni sistemi mogu imati određena ograničenja u pogledu dozvola i radnji koje možete izvršiti na određenim mapama...

Detalji o mapi ili direktoriju na različitim operativnim sistemima

U svakom datotečni sistem i operativni sistem, datoteke i mape se tretiraju drugačije:

  • KorijenOvo je tačka od koje se ostatak hijerarhije foldera u sistemu oslanja ili gdje se nalazi. U Windowsu je to obično C:\, dok je u Unixu/Linuxu to korijenska particija ili /.
  • Put ili rutaOvo je putanja gdje se nalazi mapa ili datoteka unutar FS-a. Na primjer, u Windowsu bismo mogli imati C:\Program Files\Office\Word.exe. U Unixu/Linuxu, to bi bilo nešto poput /home/user/example.c. Kao što vidimo, u Windowsu se koristi obrnuta kosa crta, dok se u *nix svijetu koristi tradicionalna kosa crta.
  • Naziv datoteke ili naziv datoteke: Ovo je naziv koji se daje svakoj datoteci unutar određenog FS-a. Svaki datotečni sistem imat će svoja ograničenja u pogledu maksimalnog broja znakova za naziv datoteke. Nadalje, mora se napraviti razlika između osnovnog naziva i ekstenzije. Neki rani sistemi također su imali ograničenja u pogledu dužine ekstenzija, obično tri. Zbog toga ćete ponekad vidjeti .htm umjesto .html, kako biste osigurali kompatibilnost sa DOS sistemima. Primjer naziva datoteke može biti example.txt, gdje je "example" naziv, a "txt" ekstenzija, što u ovom slučaju ukazuje da je to tekst.
  Kako aktivirati anonimni način rada i privatno pregledavati u bilo kojem pregledniku

Poseban slučaj Unixa/Linuxa

Šta je superblok?

Un superblok To je fundamentalna struktura podataka koja se nalazi na početku datotečnog sistema. Superblok sadrži kritične informacije o samom datotečnom sistemu i koristi se za upravljanje i pristup podacima pohranjenim na tom datotečnom sistemu. Svaki Unix datotečni sistem ima svoj superblok, a njegov specifični format može varirati ovisno o korištenom datotečnom sistemu (npr. ext4, XFS, UFS, itd.).

La informacije koje se pohranjuju u superbloku može uključivati:

  • Veličina datotečnog sistema: označava ukupnu veličinu datotečnog sistema.
  • Broj inoda: Određuje broj inodea dostupnih na datotečnom sistemu. Inodei su strukture podataka koje predstavljaju datoteke i direktorije.
  • Besplatni blokovi: Bilježi broj preostalih slobodnih blokova podataka u datotečnom sistemu za pohranjivanje informacija.
  • Tačka montiranja: označava direktorij u koji je datotečni sistem montiran na operativnom sistemu.
  • Identifikacija datotečnog sistema: jedinstveni identifikator za datotečni sistem koji ga razlikuje od drugih datotečnih sistema na istom sistemu.
  • Datum i vrijeme okupljanja: zapisuje kada je datotečni sistem zadnji put montiran.
  • Korišteni brojači inoda i blokova: prati koliko inoda i blokova podataka se koristi na datotečnom sistemu.
  • Kontrolna suma i ostali metapodaci integriteta: Neki moderni superblokovi mogu uključivati ​​dodatne informacije za provjeru integriteta podataka pohranjenih u datotečnom sistemu.

Kada se montira datotečni sistem, tj. formatirana particija, operativni sistem pristupa superbloku kako bi dobio vitalne informacije o strukturi i stanju datotečnog sistema. Ove informacije su neophodne za čitanje i pisanje podataka u datotečni sistem, kao i za osiguranje integriteta i konzistentnosti pohranjenih podataka.

Inode i direktoriji

En Unix/Linux, Sve je datoteka, kao što su particije, pogoni uređaja itd. To nije slučaj u drugim sistemima, kao što je Windows. Međutim, kada je sve datoteka, čak se i mape ili direktoriji smatraju posebnim tipovima datoteka.

Stoga je direktorij posebna datoteka koja sadrži imena datoteka (i poddirektorija) i brojevi inoda za datoteke na istom datotečnom sistemu ili imena simboličkih veza do datoteka ili direktorija na istim ili različitim datotečnim sistemima. U slučaju tvrdih veza, inode prati koliko je unosa direktorija navedeno u njemu i briše blokove datoteka kada broj veza dostigne nulu. Ovo je drugačije u slučaju meke veze ili simboličke veze. Brisanje simboličke veze ne utiče na ciljnu datoteku. Međutim, ako se datoteka sa simboličkim vezama do nje izbriše, veze postaju neupotrebljive.

U Unix/Linux datotečnim sistemima, datoteka može imati nekoliko imena, sa unosom direktorija za svako ime u istom ili različitim direktorijima, pri čemu svi pokazuju na istu strukturu inoda koja održava listu blokova diska gdje su podaci pohranjeni.

Da bismo bolje razumjeli sve ovo, važno je zapamtiti šta je inode (indeksni čvor). To je fundamentalna struktura podataka u *nix datotečnim sistemima. Predstavlja i pohranjuje bitne informacije na datoteku ili direktorij unutar datotečnog sistema. Stoga će sistem i mapu i datoteku vidjeti kao inode.

Da bi ovo bilo moguće, svaki inod pokazuje na sljedeći informacije:

  • Broj inoda: jedinstveni identifikator za svaku datoteku ili direktorij.
  • Tip datoteke: Označava da li se inode odnosi na regularnu datoteku (f), direktorij (d), simboličku vezu (l) ili drugu vrstu datoteke.
  • Veličina fajla: trenutna veličina datoteke u bajtovima.
  • Dozvole i vlasnik: Informacije o tome ko ima dozvolu za pristup (čitanje, pisanje, izvršavanje) i izmjenu datoteke, kao i vlasnik datoteke (korisnik ili root). Vlasnik može biti čak i korisnik koji ne postoji kao takav, ali može biti uređaj itd.
  • Datum i vrijeme kreiranja/izmjene: Bilježi kada je inode prvi put kreiran i kada je posljednji put izmijenjen. Mogu biti uključeni i drugi metapodaci ili proširene dozvole.
  • Broj linkova: Označava koliko je imena datoteka ili direktorija povezano s ovim inodeom. Direktoriji imaju najmanje dvije veze: jednu prema sebi i jednu prema svom nadređenom direktoriju.
  • Pokazivači na blokove podataka: Sadrži reference na blokove podataka na memorijskoj jedinici koji pohranjuju stvarni sadržaj datoteke. Ovi blokovi mogu biti direktne, indirektne ili dvostruko indirektne adrese, ovisno o specifičnoj implementaciji datotečnog sistema i veličini datoteke.

Inode su ključni za funkcionisanje datotečnog sistema, jer omogućavaju operativnom sistemu da prati fizičku lokaciju i informacije povezane sa svakom datotekom i direktorijem. Kada se pristupi datoteci ili direktoriju, operativni sistem konsultuje odgovarajući broj inode-a kako bi pronašao lokaciju podataka i drugih informacija povezanih s tom datotekom.