Plasarea fișierelor - stadopedia

Plasarea continuă se caracterizează prin faptul că fiecare fișier ocupă o secvență continuă de blocuri.

Plasarea segmentată înseamnă că fișierele pot fi plasate "în bucăți", adică un fișier poate ocupa mai multe segmente non-contigue de lungimi diferite. Ambele metode de plasare sunt prezentate în Fig. 16.1.







Fig. 16.1 Metode de alocare a fișierelor pe disc

Plasarea continuă are două avantaje majore.

Informațiile despre locația fișierului sunt foarte simple și ocupă puțin spațiu. De fapt, este suficient să stocați două numere: numărul blocului inițial al fișierului și numărul de blocuri ocupate (sau dimensiunea fișierului în octeți, care este ușor de calculat numărul de blocuri).

Accesul la orice poziție din fișier este rapid, deoarece știind decalajul de la începutul fișierului, este ușor să calculați numărul blocului necesar și să citiți imediat acest bloc fără a citi blocurile anterioare.

Din păcate, neajunsurile distribuției continue sunt și mai semnificative.

Când creați un fișier, trebuie să știți dimensiunea acestuia în avans pentru a găsi și a rezerva pe disc o zonă de dimensiune suficientă. Creșterea ulterioară posibilă a dosarului este foarte dificilă, deoarece După sfârșitul fișierului, este posibil să nu existe suficient spațiu liber. De fapt, în loc să măriți fișierul, trebuie să recreați un fișier mai mare într-o altă locație, să suprascrieți datele din el și să ștergeți fișierul vechi. Dar această soluție necesită mult timp pentru citirea și scrierea datelor și, în plus, reduce fiabilitatea stocării datelor, deoarece o eroare la citire sau scriere este mult mai probabilă decât rănirea datelor "așezate liniștit" pe disc.

În timpul funcționării normale a sistemului de fișiere, după crearea și ștergerea mai multor fișiere de diferite lungimi, spațiul liber pe disc se dovedește a fi fragmentat în bucăți mici. Cantitatea totală de spațiu liber pe disc poate fi destul de mare, dar nu este posibil să se creeze o dimensiune decentă a fișierului, deoarece nu există o zonă continuă cu lungimea necesară. Acest fenomen se numește fragmentare pe disc. Pentru ao combate, trebuie să utilizați o procedură specială de defragmentare. care mută toate fișierele, punându-le între ele de la începutul zonei de date a discului. Dar această procedură durează mult timp, reduce fiabilitatea, așa cum sa menționat mai sus, și agravează problemele dacă mai târziu fișierul trebuie extins.

Plasarea primul segmentată lipsită de dezavantajele continuă: ea la crearea fișierului de obicei nu aloca memorie, iar apoi, pe măsură ce crește dimensiunea fișierului, acesta toate segmentele libere de pe disc poate fi extras, indiferent de lungimea lor.







Nu este atât de ușor cu fragmentarea. Desigur, spre deosebire de plasarea continuă, cu segmentare fără fragmentare va împiedica sistemul să utilizeze toate blocurile disponibile pe disc. Cu toate acestea, citirea secvențială dintr-un fișier segmentat poate fi efectuată mult mai încet din cauza necesității de a trece de la un segment la altul. Slowdown este deosebit de vizibil dacă fișierul a fost împrăștiat în bucăți mici peste mai multe cilindri ale discului. Ca urmare, din când în când este recomandabil să efectuați defragmentarea discului pentru a crește viteza accesului la date. În cazul implementării segmentate, defragmentarea înseamnă nu numai unificarea tuturor zonelor libere ale discului, ci și, în principal, integrarea segmentelor fiecărui fișier. Această procedură este mult mai complicată decât defragmentarea în cazul plasării continue.

Dezavantajul plasării segmentată este că informațiile de gestionare a fișierelor, în acest caz, este mult mai complicat decât pentru cazul continuu și că cel mai neplăcut, cantitatea de informație o variabilă: mai mare numărul de segmente deține fișierul, cu atât mai mult nevoie de informații, deoarece este necesar pentru a enumera toate segmentele. Sunt aproape la fel de multe moduri de a rezolva această problemă, deoarece toate crezut sisteme de fișiere diferite.

Pentru a reduce efectul segmentării asupra vitezei de acces la datele fișierelor, în sistemul de operare utilizând destinația de plasare segmentată, sunt utilizați diferiți algoritmi pentru selectarea locației pentru fișier. Scopul lor este de a plasa fișierul acolo unde este posibil într-un singur segment, și numai în ultimă instanță, împărțiți fișierul în mai multe segmente.

În sistemele moderne de operare pentru sisteme de fișiere pe discuri magnetice, alocarea segmentată este aproape întotdeauna utilizată. Un alt lucru este sistemul de fișiere de pe discurile cu citire (de exemplu, CD-ROM-uri). Nu este greu de înțeles că, în acest caz, deficiențele plasării continue nu contează și demnitatea ei persistă.

Folosirea clusterelor mari are partea sa negativă. Întrucât dimensiunea fișierului poate fi considerată ca o variabilă aleatoare (cel puțin, această dimensiune nu este legată de dimensiunea clusterului), putem presupune aproximativ că, în medie, jumătate din ultimul cluster al fiecărui fișier rămâne neocupat. Acest fenomen este uneori numit fragmentare internă (spre deosebire de fragmentarea descrisă mai sus a spațiului liber pe disc, care este numită și fragmentarea externă). În plus, dacă cel puțin unul dintre sectoarele incluse în cluster este marcat ca fiind defect, atunci întregul cluster este considerat defect, adică nu pot fi folosite. Evident, pe măsură ce mărimea clusterului crește, la fel și numărul de sectoare de disc neutilizate.

Dimensiunea optimă a clusterului este fie calculată automat atunci când discul este formatat, fie manual.

Pentru funcționarea normală a sistemului de fișiere, este necesar ca, pe lângă informațiile despre locația fișierelor, sistemul să stocheze într-o formă ușor de utilizat informații despre clusterele libere disponibile ale discului. Aceste informații sunt necesare atunci când se creează fișiere existente sau în creștere. Se folosesc diferite modalități de prezentare a informațiilor despre spațiul liber, dintre care unele sunt enumerate mai jos.

Puteți stoca toate grupurile libere ca listă liniară conectată, adică La începutul fiecărui cluster liber păstrați următorul număr din listă. Dezavantajul acestei metode este că este dificil să se găsească un fragment continuu liber de dimensiunea corectă, deci este mai dificil să se optimizeze plasarea fișierelor.

Acest dezavantaj poate fi depășit dacă lista nu este stocată din cluster-ele individuale, ci din fragmente continue continue ale discului. Este adevărat că lucrul cu o astfel de listă este oarecum mai complicat.

În sistemele cu alocare continuă, adesea fiecare fragment continuu al unui disc este descris în același mod ca un fișier, dar îl marchează cu steagul "liber".







Articole similare

Trimiteți-le prietenilor: