Distribuiți datele
Cum stochează FreeBSD datele. Principiile dispunerii discului.
Rețineți că sistemul dvs. FreeBSD are în mod necesar ambele tabele, atât BIOS, cât și UNIX. Acest lucru este necesar deoarece FreeBSD, fiind un sistem UNIX, înțelege și utilizează tabela de partiții UNIX, dar FreeBSD este de asemenea un sistem care este forțat să lucreze pe un PC (computer personal). Calculatorul personal este necesar pentru a avea un software special numit BIOS-ul, care este necesară pentru inițializarea corespunzătoare a calculatorului, determinarea parametrilor de hard disk-uri, precum și pentru a căuta software-ul care încarcă sistemul de operare.
Poate că deja sunteți familiarizat cu programul fdisk care vine cu DOS. Voi compara cu utilitarul fdisk din FreeBSD, astfel încât să puteți vedea asemănarea acestor două programe. Voi arăta rezultatele muncii mele pe unul din personalul meu. Am descărcat-o de pe un disc DOS bootabil și apoi, din linia de comandă, a executat utilitarul fdisk:
Am fost în meniul principal al programului fdisk pentru DOS. Deoarece nu vreau să schimb tabelul de partiții, voi selecta 4 puncte, pentru a examina doar conținutul.
Rețineți că mi-am rupt discul în trei felii, care în DOS sunt numite partiții. Prima felie are semnul "A", ceea ce înseamnă că conține codul de încărcare necesar pentru încărcarea corectă a sistemului de operare. Această partiție are o capacitate de 204 MB și este formatată în sistemul FAT16.
A doua felie, de 3139 MB, conține FreeBSD-ul meu. Versiunea DOS a utilitarului fdisk nu poate determina corect tipul de sistem de fișiere din această partiție, așa că îl numește simplu "non-DOS" (non-DOS).
Să rezumăm informațiile pe care le-am extras atât de atent cu ajutorul DOS-fdisk'a. Deci, acest computer are un hard disk de 6150 MB. Acesta este împărțit în secțiuni după cum urmează:
DOS utilizează următoarea schemă de denumire pentru partiții:- Secțiunile principale sunt numite mai întâi, începând cu litera "C", deoarece literele "A" și "B" sunt rezervate pentru unitățile de dischetă.
- Atunci când sunt numite toate partițiile majore, se apelează unitățile logice.
- O secțiune suplimentară, precum și secțiuni de tipuri necunoscute nu sunt numite.
Acum, să comparăm fdisk pentru DOS cu ieșire fdisk pentru FreeBSD. Dacă tastați fdisk la promptul shell, acesta va afișa conținutul tabelului de partiții BIOS. Cu toate acestea, dacă încercați să faceți acest lucru în numele unui utilizator obișnuit, veți primi doar un astfel de mesaj:
Dacă vă uitați atent la această concluzie, veți observa că fdisk pentru FreeBSD oferă aceleași informații ca și fdisk pentru DOS și mai multe detalii despre partiționarea fizică a discului. Toate aceste informații sunt întotdeauna conținute în tabela de partiții BIOS, cu toate acestea fdisk pentru DOS oferă doar o mică parte din ea.
Hard disk-ul este împărțit în blocuri logice, numite cilindri și sectoare. Partiția mea FreeBSD (numărul 2) începe cu sectorul primului cilindru 26 și se termină la sectorul 432 al cilindrului. Deoarece cilindrul este compus din 63 de sectoare, am pornit de la începutul cilindrului 26 și am încheiat cu sfârșitul anului 432. Secțiunea FreeBSD conține 407 de cilindri. Vom vedea informații despre cilindri când privim conținutul tabelului de partiții UNIX. De asemenea, puteți vedea un rezumat al tabelului de partiții folosind comanda fdisk, executându-l cu opțiunea -s:
Să rezumăm informațiile noastre despre tabela de partiții BIOS. Deci, este folosit de BIOS-ul calculatorului personal pentru a determina geometria fizică a hard diskului, care poate fi împărțită în discuri logice (până la patru). În mod obișnuit, utilizatorii împart o unitate de hard disk în mai multe felii atunci când doresc să utilizeze mai multe sisteme de operare pe computerul lor. Dacă slice-ul conține, de exemplu, sistemul de operare al Microsoft, atunci la început trebuie să fie formatat în sistemul de fișiere corespunzător, ceea ce ar trebui să fie ușor de înțeles de acest sistem de operare. Procesul de formatare va crea pe această felie o tabelă care va fi utilizată de sistemul de fișiere pentru a urmări locația datelor din felie.
calitate valoroase, vorbind în favoarea partiționarea pe felii, este abilitatea de a reformata felie (Aceasta va distruge toate datele de pe secțiunea de masă repartitie, ceea ce înseamnă că datele se găsește acolo va fi aproape imposibil), fără a afecta datele de pe celelalte partiții de disc. Cu toate acestea, felia destinată sistemului de operare Microsoft poate conține doar un singur sistem de fișiere. Astfel, nu puteți avea mai multe sisteme de fișiere pe o porțiune cu sistemul de operare Microsoft.
Dacă slice-ul conține sistemul de operare FreeBSD, atunci va fi scrisă tabela de partiții UNIX. Slotul FreeBSD poate conține până la opt partiții și fiecare dintre ele poate avea propriul sistem de fișiere sau poate fi o partiție swap.
Dacă rulați utilitarul disklabel fără chei, puteți vedea în siguranță conținutul tabelului de partiții UNIX. Cu toate acestea, ca și în cazul fdisk'om fără drepturile superuserului, nu se poate face, deoarece are dreptul să acceseze dispozitivul de disc. Computerul meu personal rulează FreeBSD 4.2, unitatea hard disk IDE are anunțul cu numele. Unitățile hard disk sunt numerotate de la zero și, din moment ce am sistemul de pe primul disc, vom specifica dispozitivul ad0:
Tabelul de partiții al UNIX este foarte diferit de BIOS. Toate aceste zone trăiesc în aceeași FreeBSD-slice, care BIOS vede ca numărul secțiunii 2. Vă rugăm să rețineți că această unică felie indicat prin cinci litere, dar litera a sistemului de fișiere atribuit «c» este marcat ca fiind „nefolosit» (neutilizat). Conform acordului intrasystem, litera "c" înseamnă întotdeauna întreaga felie, iar sistemele reale de fișiere sunt atribuite literelor "a-b" și "d-e". Această slogan FreeBSD conține trei sisteme de fișiere, notate cu literele "a", "e" și "f". Litera "b" indică partiția swap.
Fiecare sistem de fișiere este definit de propriul său grup de cilindri, care este o secțiune simplă, continuă a cilindrilor grupați împreună. Fiecare sistem de fișiere este responsabil pentru datele numai pentru grupul de butelii care îi aparțin. Astfel, sistemul de fișiere «o» este situat în zona de la zero la șase cilindri, sistemul de fișiere «e» este de peste 23-25 de cilindri și în cele din urmă de sistem de fișiere «f» este la 25-406 cilindri. Vă rugăm să rețineți că întreaga felie (indicată prin litera «c») este situată pe cilindrii 0-406, pentru un volum total de 407 cilindri, care ne arată utilitatea fdisk pentru FreeBSD.
Din rândul de sus a afișa Disklabel putem trage o concluzie cu privire la modul în care discul este împărțit în blocuri logice: cilindrii sunt împărțite în sectoare și piese, fiecare piesa este format din 63 de sectoare, iar fiecare sector la rândul său, are o dimensiune de 512 octeți. Dacă nu sunteți familiarizați cu sectoare și piste, atunci o ilustrare bună este aici.
În cele din urmă, un pic de matematică și putem calcula cât de mare este felia noastră în megaocteți. Prin urmare, felia noastră este formată din 6538455 sectoare, în timp ce dimensiunea fiecărui sector este de 512 octeți. Dacă vom multiplica numărul de sectoare după numărul de octeți din sector, atunci vom obține volumul de slice în octeți (oh-oh-ooh ... cu siguranță merită explicat în detaliu - nota unui interpret). Dacă împărțim acest număr la 1024, obținem dimensiunea fragmentului în kilobyte. Și dacă vom împărți din nou rezultatul cu 1024, obținem dimensiunea necesară a felie în megaocteți:
care coincide complet cu datele din programul fdisk.