Kaj je računalniška mapa?: Vse, kar morate vedeti o datotečnem sistemu in operacijskem sistemu

Zadnja posodobitev: 19 januar 2024
mapa, datotečni sistem

Vsi uporabljamo datoteke ali datoteke vsak dan in vsi ga uporabljamo mape ali imenike, bodisi v datotečnih sistemih namiznega računalnika, prenosnikov, mobilnih naprav itd. Zato bom v tem članku razložil vse, kar morate vedeti o tem, da boste lahko razumeli kaj so informacije in kako so shranjene v spomin na.

Kaj je datotečni sistem?

datotečni sistem

Un datotečni sistem Datotečni sistem (FS) je metoda in podatkovna struktura, ki jo operacijski sistem uporablja za nadzor shranjevanja in pridobivanja informacij. Brez datotečnega sistema bi bili podatki, shranjeni na nosilcu podatkov, ena sama podatkovna entiteta, brez načina za razlikovanje, kje se en nabor podatkov konča in začne naslednji, ali kje se kateri koli nabor podatkov nahaja, ko ga je treba pridobiti. To bi bili tako imenovani surovi podatki.

Ko formatirate pogon za shranjevanje z datotečnim sistemom NTFS, FAT, ext4, btrfs, HFS+ itd., dejansko ustvarite datotečni sistem za upravljanje podatkov na tem disku. Z drugimi besedami, kar imenujemo formati, so pravzaprav datotečni sistemi.

Z ločevanjem podatkov na dele in poimenovanjem vsakega dela, lPodatke je mogoče enostavno izolirati in prepoznatiDa bi vse to omogočili, datotečni sistem sestavljata dve ali tri plasti. Včasih so te plasti eksplicitno ločene, drugič pa so funkcije združene. Plasti, o katerih govorimo, so:

  • Logični datotečni sistem: je odgovoren za interakcijo z uporabniško aplikacijo. Zagotavlja API za operacije z datotekami, kot so Odpri, Zapri, Preberi itd.in posreduje zahtevano operacijo pod njim v obdelavo. Logični datotečni sistem upravlja odprte vnose v datotečno tabelo in deskriptorje datotek za vsak proces. Ta plast zagotavlja dostop do datotek, operacije z imeniki, varnost in zaščito.
  • Virtualni datotečni sistemTa vmesnik omogoča podporo za več sočasnih primerkov fizičnih datotečnih sistemov. Ta plast je neobvezna in ni vedno prisotna.
  • Fizični datotečni sistem: Upravlja fizično delovanje pomnilniške naprave. Obdeluje fizične bloke, ki se berejo ali zapisujejo. Upravlja medpomnjenje, upravljanje pomnilnika in je odgovoren za fizično postavitev blokov na določena mesta na pomnilniškem mediju. Fizični datotečni sistem komunicira z gonilniki strojne opreme za shranjevanje ali kanalom za usmerjanje pomnilniške naprave.

Funkcije FS

Vsak obstoječi datotečni sistem ima svoje omejitve in značaja kar morate vedeti, na primer:

  • Upravljanje ali dodelitev prostora: Datotečni sistemi prostor dodeljujejo granularno, običajno na več fizičnih diskov v napravi. Datotečni sistemi so odgovorni za organiziranje datotek in imenikov ter za sledenje, katera območja medija pripadajo katerim datotekam in katera so neuporabljena.
  • Razdrobljenost: Do tega pride, ko je ista datoteka shranjena na različnih delih pogona za shranjevanje, kar pomeni, da posamezni deli datoteke niso sosednji. Ko se datoteke ustvarjajo, spreminjajo in brišejo, lahko to povzroči območja uporabljenega in neuporabljenega prostora različnih velikosti. Poleg tega to vpliva na nekatere datotečne sisteme (npr. Microsoftova FAT in NTFS) in upočasni branje datotek.
  • Imena datotek: Datotečni sistemi upravljajo omejitve dolžine, občutljivost na velike in male črke ter uporabo posebnih znakov v imenih datotek.
  • Imeniki: Pogosto imajo imenike za organiziranje datotek v ločene zbirke. Lahko so ravni ali hierarhični. O tem bom podrobneje razpravljal kasneje, saj gre prav za to ...
  • Metapodatki: Ima povezane metapodatke, ki vključujejo podrobnosti, kot so dolžina podatkov, časovni žigi, dovoljenja za dostop in atributi datotek.
  • Komunalne storitve in dostop: Uporabljajo se za inicializacijo, spreminjanje in brisanje primerkov datotečnega sistema, pa tudi za ustvarjanje, preimenovanje in brisanje imenikov in datotek, šifriranje, kvote, migracijo, pretvorbo, varnostno kopiranje itd.
  • Integriteta in upravljanje napak: Datotečni sistem mora ohranjati integriteto struktur datotečnega sistema na sekundarnem pomnilniku ali zunanjih pogonih, tudi v primeru okvar operacijskega sistema ali izpada električne energije.
  • Uporabniški podatki: mora omogočati upravljanje uporabniških podatkov, vključno s shranjevanjem, pridobivanjem in posodabljanjem podatkov.
  • Več datotečnih sistemov: Na enem sistemu je mogoče imeti več datotečnih sistemov.
  • Omejitve oblikovanja: Datotečni sistemi imajo funkcionalne omejitve, ki določajo največjo zmogljivost shranjevanja znotraj tega sistema, največjo velikost datotek, število datotek itd.

Kaj je particija?

A predelne stene Particija je logični del ali podrazdelek naprave za shranjevanje podatkov, kot je trdi disk, SSD, bliskovni pogon itd. Ta particija služi več namenom, saj omogoča boljšo organizacijo in upravljanje shranjenih podatkov. Vsaka particija se lahko na primer uporablja za določen namen, na njej je lahko nameščenih več operacijskih sistemov itd.

Pomembno je opozoriti, da ustvarjanje, brisanje in spreminjanje velikosti Spremembe particij lahko povzročijo izgubo podatkov, zato je pomembno, da te operacije izvajate previdno in pred večjimi spremembami strukture particij varnostno kopirate ključne podatke.

Po drugi strani pa morate, če povzamemo, razumeti tudi, da obstajajo različne vrste predelnih sten temeljno v sistemu MBR (možnosti so v GPT razširjene, z do 128 možnimi particijami na isti enoti, čeprav je to že druga tema ...):

  • Primarna particija: Vsak pogon za shranjevanje ima lahko do štiri primarne particije. To so glavne particije, na katerih so nameščeni operacijski sistemi in kjer se nahajajo podatki. Ena od primarnih particij je lahko določena kot aktivna ali zagonska particija, s katere se zažene operacijski sistem.
  • Razširjena particija: Razširjena particija je posebna primarna particija, ki se uporablja za ustvarjanje dodatnih logičnih particij znotraj nje. Ne vsebuje neposredno podatkov, temveč deluje kot vsebnik za logične particije. Znotraj razširjene particije je lahko več logičnih particij. To vam omogoča, da premagate omejitev štirih primarnih particij na trdem disku.
  • Logična particija: Te so ustvarjene znotraj razširjene particije. Ne uporabljajo se za zagon operacijskega sistema, temveč se običajno uporabljajo za organizacijo podatkov ali datotek. Znotraj razširjene particije je lahko več logičnih particij, kar olajša organizacijo podatkov.
  Wine 11.6: Kako naložiti igre za Windows v Linux in kar najbolje izkoristiti mode

Kaj je tabela particij?

La tabela particij To je podatkovna struktura, ki se nahaja na začetku trdega diska in vsebuje informacije o tem, kako je pogon razdeljen na particije. Običajno je shranjena v glavnem zagonskem sektorju (MBR) v sistemih, ki temeljijo na BIOS-u, ali v GPT (tabela particij GUID) v sodobnejših sistemih, ki temeljijo na UEFI. Tabela particij vključuje podrobnosti, kot so velikost vsake particije, njen tip (npr. NTFS, FAT32, ext4 itd.) in njena lokacija na nosilcu podatkov.

Zato je razmerje med tabelo particij in datotečnim sistemom v tem, da tabela particij označuje kje se vsaka particija začne in konča na fizičnem disku. Vsaka particija je formatirana z določenim datotečnim sistemom. Ko se do particije dostopa za branje ali pisanje datotek, operacijski sistem uporabi informacije v tabeli particij, da poišče in razume, kako je datotečni sistem strukturiran na tej določeni particiji.

Vrste datotek

Oblika

Med različnimi datotečnimi sistemi je treba izpostaviti naslednje vrste:

  • Datotečni sistemi diskov: Ti sistemi izkoriščajo zmožnost diskovnih medijev za naključni in hiter dostop do podatkov. Omogočajo več uporabnikom ali procesom dostop do podatkov na disku, ne glede na njegovo zaporedno lokacijo. Primeri vključujejo FAT, exFAT, NTFS, Reiser FS, HFS, HFS+, HPFS, APFS, UFS, ext2, ext3, ext4, XFS, btrfs, VMFS, ZFS, ReiserFS, NSS in ScoutFS. Poleg teh bi lahko upoštevali tudi naslednje:
    • Optični diski: pogosti formati, kot sta ISO 9660 in univerzalni format diska (UDF), ki se uporabljajo na CD-jih, DVD-jih in Blu-rayu.
  • Datotečni sistemi Flash: Ti sistemi so zasnovani posebej za bliskovne pomnilniške naprave in upoštevajo njihove značilnosti in omejitve. Priporočljivo je uporabljati datotečne sisteme, zasnovane za bliskovne pomnilniške naprave, namesto prilagajanja diskovnih sistemov. Nekaj ​​primerov je JFFS, JFFS2, YAFFS, UBIFS, LogFS in F2FS.
  • Sistemi datotek z magnetnim trakom: Ti sistemi upravljajo shranjevanje na trakovih, ki imajo daljše čase naključnega dostopa kot diski. Razlikujejo se v upravljanju imenikov in poudarjajo potrebo po izogibanju pogostim linearnim premikom na trakovih. Primer bi bil IBM-ov LTFS.
  • Datotečni sistemi baz podatkov: Datotečni sistemi, ki temeljijo na podatkovnih bazah, kjer so datoteke identificirane po značilnostih, kot so vrsta, avtor ali metapodatki. Primeri vključujejo med drugim IBM DB2.
  • Transakcijski datotečni sistemi: Ti sistemi zagotavljajo atomičnost in izolacijo operacij v datoteki. Primeri vključujejo NTFS v sistemu Microsoft Windows in druge prototipe transakcijskih datotečnih sistemov za UNIX/Linux, kot so LFS, ext3 itd.
  • Omrežni datotečni sistemi: Omrežni datotečni sistemi, ki omogočajo dostop do datotek na oddaljenih strežnikih prek protokolov, kot so NFS, AFS, SMB, FTP in WebDAV. To pomeni, da so zasnovani za porazdeljeno računalništvo.
  • Deljeni datotečni sistemi: Ti sistemi omogočajo več strežnikom varen dostop do istega diskovnega podsistema. Primeri vključujejo GFS2, GPFS, SFS, CXFS, StorNext in ScoutFS.
  • Posebni datotečni sistemi: So nekoliko specifični in nimajo elementov datotek kot takih, vendar je do njih mogoče dostopati prek API-jev. Na primer, datotečni sistem naprav definiramo kot devfs, ki se uporablja v Linuxu itd. Po drugi strani pa imamo druge posebne, kot so configfs, sysfs in procfs, znani tudi v svetu Linuxa.
  • Minimalni datotečni sistem / shranjevanje avdiokaset: Zvočne kasete so bile uporabljene kot sistemi za shranjevanje podatkov za napajanje nekaterih takratnih modelov mikroračunalnikov, kot je bil Commodore PET.
  • Sistemi ravnih datotek (sistem ravnih datotek): Ti sistemi nimajo poddirektorjev in shranjujejo vse vnose v imenik v enem samem glavnem imeniku. Primera teh datotečnih sistemov sta tisti, ki se uporablja v sistemu CP/M, in datotečni sistem Macintosh za klasične Appleove računalnike Mac.

FS Technologies

Postopek oblikovanja

Vsak datotečni sistem ima svoje posebnosti in podpira različne tehnologije. Nekatere izmed najpomembnejših so:

  • Samozdravljenje: Nanaša se na sposobnost datotečnega sistema, da samodejno zazna in popravi napake in težave, ki se lahko pojavijo v sistemu za shranjevanje. Te napake lahko vključujejo slabe sektorje na trdem disku ali druge vrste poškodb podatkov. Ko je zaznana napaka, lahko datotečni sistem poskuša obnoviti prizadete podatke z obnovitvijo iz varnostnih kopij ali s popravilom poškodovanih podatkov. To pomaga ohranjati integriteto podatkov, shranjenih v datotečnem sistemu.
  • Stiskanje: To je funkcija, ki omogoča zmanjšanje velikosti datotek in podatkov, shranjenih v datotečnem sistemu. Stiskanje podatkov lahko prihrani prostor na disku in pospeši prenos datotek. Ko je stiskanje omogočeno, datotečni sistem samodejno stisne datoteke, ki so vanj zapisane, in jih razpakira, ko jih prebere. To je lahko uporabno v sistemih za shranjevanje z omejenimi viri, čeprav lahko upočasni dostop.
  • Šifriranje: Gre za tehniko, ki se uporablja za zaščito zaupnosti podatkov, shranjenih v datotečnem sistemu. Podatki so šifrirani, preden se zapišejo na disk, in dešifrirani, ko se preberejo. Šifriranje zagotavlja, da so podatki neberljivi za vsakogar brez ustreznega ključa za dešifriranje. To je bistveno za zaščito zasebnosti in varnosti občutljivih podatkov. Tako kot stiskanje lahko tudi upočasni dostop.
  • Dnevnik transakcij (dnevnik transakcij): Gre za funkcijo, ki beleži vse operacije, izvedene v datotečnem sistemu, kot so ustvarjanje, spreminjanje ali brisanje datotek. Ta zapis se imenuje »dnevnik« ali »dnevnik transakcij«. V primeru sistemske napake, kot je nepričakovan izpad električne energije, lahko datotečni sistem uporabi dnevnik transakcij za obnovitev v dosledno stanje. To preprečuje poškodbe podatkov in zagotavlja celovitost datotečnega sistema.
  • Zmogljivost posnetkov: Posnetki so kopije datotečnega sistema v določenem trenutku. Te kopije so posnetki in so shranjene skupaj s trenutnimi podatki v datotečnem sistemu. Posnetki omogočajo obnovitev datotečnega sistema v prejšnje stanje, če pride do napak ali neželenih sprememb. To je uporabno za varnostno kopiranje, obnovitev podatkov in testiranje sprememb, preden se trajno uvedejo v sistem.
  Strojne zahteve za uporabo Ollame z lokalnimi modeli

Kaj je imenik ali mapa?

Windows 10, mapa brez dostopa

Zdaj, ko vemo, kako se podatki shranjujejo v pomnilniških enotah in kakšne so potrebne podatkovne strukture, je čas, da razložimo, kaj ... mapa ali imenik.

Imenik ali mapa je struktura za katalogiziranje drugih datotek znotraj datotečnega sistema, kar mu daje bolj intuitivno hierarhijo ali organizacijo za uporabnika ali operacijski sistem. Da bi to dosegel, vsebuje sklice na druge datoteke in morda tudi druge imenike ali mape, v tem primeru imenovane poddirektorije ali podmape.

Nekateri operacijski sistemi s hierarhičnimi datotečnimi sistemi, kot je Unix, imajo običajno predpomnilnik imenikov z nedavnimi potmi, shranjenimi v delu RAM-a. V Unixu je ta del znan kot DNLC (Directory Name Lookup Cache), medtem ko se v Linuxu imenuje dcache. Ta del pomnilnika se posodablja z nazadnje dostopanimi potmi, medtem ko je v omrežnih datotečnih sistemih potreben mehanizem za zagotavljanje doslednosti z upravljanjem vnosov, ki so bili neveljavni ali ustvarjeni s strani uporabnikov.

V enem hierarhični datotečni sistem Shranjevanje je podobno drevesu. Izraza »starševski« in »podrejeni« se pogosto uporabljata za opis odnosa med poddirektorijem in imenikom, v katerem je katalogiziran, pri čemer je slednji nadrejeni. Najvišje rangirani imenik v takšnem datotečnem sistemu, ki nima svojega nadrejenega imenika, se imenuje korenski imenik. To je najbolje videti v Unixu ali Linuxu, kjer imate določeno hierarhijo in je korenski imenik root ali /, iz katerega visijo vsi drugi imeniki, tudi če niso na isti particiji.

Navidezni imenik je vrsta organizacije datotek, ki se ne zanaša na lokacijo v hierarhičnem drevesu imenikov. Namesto tega zbira rezultate iz vira podatkov, kot je baza podatkov ali indeks po meri, in jih vizualno predstavi v isti obliki kot pogledi map.

Te mape ali imeniki je mogoče upravljati z uporabo orodij, tako grafičnega uporabniškega vmesnika kot vmesnika ukazne vrstice. Na primer, za ustvarjanje, brisanje, preimenovanje, premikanje, kopiranje itd. lahko uporabimo ukaze ali sam upravitelj datotek. Čeprav imajo nekateri operacijski sistemi lahko določene omejitve glede dovoljenj in dejanj, ki jih lahko izvedete v določenih mapah ...

Podrobnosti o mapi ali imeniku v različnih operacijskih sistemih

En cada datotečni sistem in operacijski sistem, datoteke in mape se obravnavajo različno:

  • Koren: To je točka, od katere visi ali kjer se nahaja preostala hierarhija map v sistemu. V sistemu Windows je to običajno C:\, medtem ko je v Unixu/Linuxu to korenska particija ali /.
  • Pot ali trasa: To je pot do mape ali datoteke znotraj datotečne datoteke. Na primer, v sistemu Windows imamo lahko C:\Program Files\Office\Word.exe. V Unixu/Linuxu bi bilo nekaj takega kot /home/uporabnik/example.c. Kot lahko vidimo, se v sistemu Windows uporablja poševnica nazaj, medtem ko se v svetu *nix uporablja tradicionalna poševnica.
  • Ime datoteke ali ime datoteke: To je ime, dodeljeno vsaki datoteki znotraj določenega datotečnega sistema. Vsak datotečni sistem ima svoje omejitve glede največjega števila znakov za ime datoteke. Poleg tega je treba razlikovati med osnovnim imenom in pripono. Nekateri zgodnejši sistemi so imeli tudi omejitve glede dolžine pripon, običajno tri. Zato boste včasih videli .htm namesto .html, da zagotovite združljivost s sistemi DOS. Primer imena datoteke je lahko example.txt, kjer je »example« ime in »txt« pripona, kar v tem primeru pomeni, da gre za besedilo.
  Organizator fotografij za računalnik: popoln vodnik po programih in trikih

Poseben primer Unixa/Linuxa

Kaj je superblok?

Un superblok Gre za temeljno podatkovno strukturo, ki se nahaja na začetku datotečnega sistema. Superblok vsebuje ključne informacije o samem datotečnem sistemu in se uporablja za upravljanje in dostop do podatkov, shranjenih v tem datotečnem sistemu. Vsak datotečni sistem Unix ima svoj superblok, njegova specifična oblika pa se lahko razlikuje glede na uporabljeni datotečni sistem (npr. ext4, XFS, UFS itd.).

La informacije, ki so shranjene v superbloku lahko vključuje:

  • Velikost datotečnega sistema: označuje skupno velikost datotečnega sistema.
  • Število inode: Določa število inode, ki so na voljo v datotečnem sistemu. Inode so podatkovne strukture, ki predstavljajo datoteke in imenike.
  • Prosti bloki: Zabeleži število prostih podatkovnih blokov, ki so še vedno v datotečnem sistemu za shranjevanje informacij.
  • Točka pritrditve: označuje imenik, v katerem je datotečni sistem nameščen v operacijskem sistemu.
  • Identifikacija datotečnega sistema: enolični identifikator datotečnega sistema, ki ga loči od drugih datotečnih sistemov v istem sistemu.
  • Datum in ura sestavljanja: beleži, kdaj je bil datotečni sistem nazadnje priklopljen.
  • Uporabljeni števci inode in blokov: spremlja, koliko inode in podatkovnih blokov se uporablja v datotečnem sistemu.
  • Kontrolna vsota in drugi metapodatki o integriteti: Nekateri sodobni superbloki lahko vključujejo dodatne informacije za preverjanje celovitosti podatkov, shranjenih v datotečnem sistemu.

Ko je datotečni sistem, tj. formatirana particija, priklopljen, operacijski sistem dostopa do superbloka, da pridobi ključne informacije o strukturi in stanju datotečnega sistema. Te informacije so bistvene za branje in pisanje podatkov v datotečni sistem ter za zagotavljanje integritete in doslednosti shranjenih podatkov.

Inode in imeniki

En Unix/Linux, Vse je datoteka, na primer particije, pogoni naprav itd. V drugih sistemih, kot je Windows, pa to ne velja. Ko pa je vse datoteka, se celo mape ali imeniki štejejo za posebne vrste datotek.

Zato je imenik posebna datoteka, ki vsebuje imena datotek (in podimenikov) in številke inode za datoteke v istem datotečnem sistemu ali imena simbolnih povezav do datotek ali imenikov v istem ali različnih datotečnih sistemih. V primeru trdih povezav inode spremlja, koliko vnosov v imenik je navedenih v njem, in izbriše bloke datotek, ko število povezav doseže nič. To je drugače v primeru mehke ali simbolne povezave. Brisanje simbolne povezave ne vpliva na ciljno datoteko. Če pa se izbriše datoteka s simbolnimi povezavami do nje, povezave postanejo neuporabne.

V datotečnih sistemih Unix/Linux je datoteka lahko ima več imen, z vnosom v imenik za vsako ime v istem ali različnih imenikih, pri čemer vsi kažejo na isto strukturo inode, ki vzdržuje seznam blokov diska, kjer so shranjeni podatki.

Za boljše razumevanje vsega tega si je pomembno zapomniti, kaj je inode (indeksno vozlišče). Gre za temeljno podatkovno strukturo v datotečnih sistemih *nix. Predstavlja in shranjuje bistvene informacije v datoteki ali imeniku znotraj datotečnega sistema. Zato bo sistem tako mapo kot datoteko videl kot inode.

Da bi bilo to mogoče, vsak inode kaže na naslednji Podatki:

  • Številka inode: enolični identifikator za vsako datoteko ali imenik.
  • Vrsta datoteke: Označuje, ali se inode nanaša na navadno datoteko (f), imenik (d), simbolno povezavo (l) ali drugo vrsto datoteke.
  • Velikost datoteke: trenutna velikost datoteke v bajtih.
  • Dovoljenja in lastnik: Informacije o tem, kdo ima dovoljenje za dostop (branje, pisanje, izvajanje) in spreminjanje datoteke, ter o lastniku datoteke (uporabnik ali root). Lastnik je lahko celo uporabnik, ki kot tak ne obstaja, ampak je lahko naprava itd.
  • Datum in ura nastanka/spremembe: Zabeleži, kdaj je bil inode prvič ustvarjen in kdaj je bil nazadnje spremenjen. Vključeni so lahko tudi drugi metapodatki ali razširjena dovoljenja.
  • Število povezav: Označuje, koliko imen datotek ali imenikov je povezanih s tem inode. Imeniki imajo vsaj dve povezavi: eno do sebe in eno do nadrejenega imenika.
  • Kazalci na podatkovne bloke: Vsebuje sklice na podatkovne bloke na pomnilniški enoti, ki shranjujejo dejansko vsebino datoteke. Ti bloki so lahko neposredni, posredni ali dvojno posredni naslovi, odvisno od specifične implementacije datotečnega sistema in velikosti datoteke.

Inode so ključnega pomena za delovanje datotečnega sistema, saj omogočajo operacijskemu sistemu sledenje fizični lokaciji in informacijam, povezanim z vsako datoteko in imenikom. Ko dostopa do datoteke ali imenika, operacijski sistem preveri ustrezno številko inode, da bi našel lokacijo podatkov in drugih informacij, povezanih s to datoteko.