sisteme de operare curs #13

26
1 Sisteme de operare Curs #13 Partiționarea

Upload: others

Post on 20-Oct-2021

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sisteme de operare Curs #13

1

Sisteme de operare

Curs #13

Partiționarea

Page 2: Sisteme de operare Curs #13

2

Introducere

Pentru a utiliza eficient resursele (de stocare ale) sistemului este necesară o bună schemă de partiționare. Cu toate că este posibil din punct de vedere tehnic să se facă modificări ale partițiilor după instalarea SO, acest lucru este, de regulă, complicat și conduce la timpi “morți”. Drept urmare, trebuie să ținem cont de folosirea sistemului înainte de a crea partițiile. Partiționarea este necesară pentru a utiliza în mod optim spațiul de pe hard disk. Un hard disk nou poate fi privit ca o clădire complet goală, fără ziduri interioare sau etaje. O astfel de clădire nu este folositoare, dar introducerea de pereți și etaje poate oferi o structură pentru utiulizarea eficientă a clădirii.

Page 3: Sisteme de operare Curs #13

3

Introducere

În procesul de creare și utilizare a partițiilor avem de-a face cu trei etape: 1. Împărțirea hard-discului în partiții

2. Formatarea hard-discului folosind un anumit sistem de fișiere

3. Montarea sistemului de fișiere în arborele de directoare

Page 4: Sisteme de operare Curs #13

4

Introducere

Un hard disk (HDD) conține mai multe platane, ce stochează datele sub formă magnetică. Capetele de citire/scriere sunt capabile să citească/scrie pe ambele părți ale platanelor. Platanele sunt conectate de un ax central și se învârtesc la aceeași viteză. Suportul capetelor de citire/scriere (boom) se mișcă înainte și înapoi, permițând fiecărui cap de citire/scriere să citească/scrie simultan din locații identice ale platanelor.

Page 5: Sisteme de operare Curs #13

5

Introducere

O rotație completă pe o parte a unui platan se numește pistă (track). Toate pistele de pe ambele părți ale platanelor situate la aceeași distanță de centru formează un cilindru. În mod normal, un hard disk poate avea mii de cilindri. Mai mulți cilindri consecutivi de pe HD pot fi atribuiți unei partiții. Spre exemplu, conform figurii alăturate, prima partiție va fi formată din cilindrii de la 1 la 544. Cea de-a doua partiție va începe cu cilindrul 545 până la cilindrul 1040. Ultima partiție va fi de la cilindrul 1041 până la cilindrul 1600.

Page 6: Sisteme de operare Curs #13

6

Avantajele utilizării partițiilor Ca o regulă, trebuie creată cel puțin o partiție. Indiferent de sistemul de operare folosit, fie că este Linux, Microsoft Windows sauMac OSX, trebuie creată minim o partiție deoarece sistemele de fișiere sunt stocate în cadrul partițiilor, nu pe întreg discul. Oferă suport pentru mai multe sisteme de operare Unele sisteme pot avea Linux cât și Microsoft Windows instalate pe acestea – sisteme denumite dual boot. Deoarece sistemele de fișiere utilizate de Microsoft Windows diferă față de Linux, acest lucru necesită existența mai multor partiții. Directoare Home Existența unei partiții separate pentry directoarele home ale utilizatorilor reprezintă un lucru normal ce are mai multe avantaje, printre care: • Este mai ușor să se facă un backup sau să se restaureze un sistem de fișiere decât să se refacă fiecare home directory în parte. • Atunci când directoarele home sunt separate de sistemul de fișiere root, actualizările sistemului de operare pot fi făcute mult mai în siguranță și mai eficient. • Sistemele de fișiere pot avea activate facilități precum disk quotas. Un disk quota permite unui administrator să limiteze spațiul folosit de către un utilizator pe un sistem de fișiere. Posibilitatea de a crea restricții disk quota pentru directoarele home, fără a afecta restul sistemului poate constitui un avantaj.

Page 7: Sisteme de operare Curs #13

7

Avantajele utilizării partițiilor

Directoare comune cu drepturi de scriere Unele directoare, precum /tmp și /var/tmp au drepturi de scriere pentru orice utilizator. Acest lucru înseamnă că orice utilizator poate stoca fișiere aici fără limite. Din păcate, acest lucru poate cauza probleme dacă aceste directoare nu sunt plasate în sisteme de fișiere separate. Dacă /tmp și /var/tmp nu sunt “mount points”, atunci fișierele plasate în aceste directoare vor fi pe aceeași partiție ca și root ( / ). Dacă un utilizator crează un fișier de dimensiune foarte mare atunci acesta poate ocupa întreg sistemul de fișiere / . Acest lucru ar face ca sistemul de operare să devină inutilizabil (cu excepția utilizatorului root care are totuși un spațiu rezervat pe disc). Separarea directoarelor /tmp și /var/tmp permite administratorului să activeze limitări de tip disk quotas pentru a administra spațiul ce poate fi folosit de către fiecare utilizator. Chiar dacă nu se folosesc quotas, faptul că directoarele sunt pe o partiție separată înseamnă că dacă un utilizator obișnuit umple partiția /tmp sau /var/tmp, sistemul de fișiere root și alte sisteme de fișiere importante nu vor fi afectate.

Page 8: Sisteme de operare Curs #13

8

Avantajele utilizării partițiilor

Securitate sporită Folosirea partițiilor separate ajută la îmbunătățirea securității sistemului. Atunci când folosim sisteme de fișiere separate, probabilitatea de suprascriere a inodurilor și a blocurilor de date este mult mai mică. De asemenea, uneori o colecție de fișiere trebuie să fie stocată fără a putea fi modificată; în acest caz putem monta un sistem de fișiere separat pe o partiție read-only pentru a preveni modificările. Partiții extrem de “active” În cazul în care avem de-a face cu directoare ce pot rămâne fără spațiu liber, este de preferat ca acestea să fie montate pe o partiție separată. Un exemplu în acest sens este /var/log unde sistemul scrie permanent fișiere de date de tip log.

Page 9: Sisteme de operare Curs #13

9

Denumirea partițiilor Pentru a face distincție între partiții, fiecăreia i se atribuie câte un nume unic. Totul în lumea Linux este considerat ca fișier, astfel încât nume de dispozitive precum discuri și partiții sunt stocate în directorul /dev . Există două tipuri diferite de interfețe de disc: /dev/sd* - Discurile ce încep cu sd sunt fie de tip SATA (Serial ATA), SCSI (Small Computer System Interface) sau USB. Primul disc sd se numește /dev/sda, al doilea /dev/sdb, etc. /dev/hd* - Discurile ce încep cu hd sunt de tip PATA (Parallel ATA), cunoscute și ca discuri IDE (Integrated Drive Electronics). Primul disc hd se numește /dev/hda, al doilea se numește /dev/hdb, etc. Cum pot afla dacă discul meu este un SSD sau un HD? Putem folosi comanda: cat /sys/block/sda/queue/rotational 1 – reprezintă HD 0 – reprezintă SSD

Page 10: Sisteme de operare Curs #13

10

Denumirea partițiilor

Partițiile sunt denumite conform discului pe care se află, adăugând un număr la sfârșitul numelui discului pentru a distinge partițiile între ele. Spre exemplu, partițiile localizate pe sda vor fi denumite sda1, sda2, etc. În mod asemănător, partițiile localizate pe sdb vor fi sdb1, sdb2, etc. Puteți vizualiza partițiile din /dev cu următoarea secvență de comenzi: cd /dev ls sd* Testați următoarele comenzi: df –kh sudo fdisk –l | more top htop

Page 11: Sisteme de operare Curs #13

11

Limitări

Majoritatea PC-urilor actuale mențin compatibilitatea cu Master Boot Record (MBR). MBR este localizat în primul sector al discului (primii 512 bytes) și conține programul boot loader precum și tabela de partiții. Tabela de partiții conține definiția fiecărei partiții de pe disc, cilindrul cu care începe și cel cu care se termină, precum și dimensiunea acesteia.

Discurile tradiționale compatibile cu MBR au însă o limitare importantă cu privire la numărul maxim de partiții primare – acesta este 4. În următorul slide, spre exemplu, pe un disc SATA , se pot crea patru partiții cu numele/dev/sda1, /dev/sda2, /dev/sda3 și/dev/sda4:

Page 12: Sisteme de operare Curs #13

12

Limitări

Page 13: Sisteme de operare Curs #13

13

Limitări

Echipamentele moderne permit faptul ca una dintre cele patru partiții să fie o partiție extinsă. O partiție extinsă acționează ca un container pentru partiții suplimentare denumite partiții logice. Partiția /dev/sda4 este o partiție extinsă. Aici sunt definite partițiile partițiile logice. În funcție de tipul de disc și de configurarea kernelului, sistemul de operare Linux poate accesa maximum 15 sau 63 partiții atunci când sunt folosite partițiile extinse.

Page 14: Sisteme de operare Curs #13

14

Limitări ! Mai recent, administratorii au început să folosească o tehnologie diferită pentru partiționare denumită Globally Unique Identifier (GUID) – concepută pentru înlocuirea tradiționalei partiționări MBR. Acest nou tip de partiționare este disponibilă dacă sistemul oferă suport pentru Unified Extensible Firmware (UEFI). Tabela de partiții GPT - GUID Partition Table oferă suport pentru discuri de capacități până la 9 ZB. Partițiile exinse și cele logice nu sunt folosite cu GPT; în acest caz toate partițiile sunt la fel iar GPT oferă suport pentru maxim 128 de partiții pentru fiecare disc. Există și alte metode pentru gestionarea partițiilor pe disc, precum Berkeley Software Distribution (BSD) Unix Labels, Apple Partition Maps și altele.

Page 15: Sisteme de operare Curs #13

15

Sistemul de fișiere

Pentru a putea stoca fișiere și directoare pe o partiție de pe disc, trebuie să fie creat un sistem de fișiere; acest lucru se face prin operația de formatare a partiției. Un sistem de fișiere oferă sistemului de operare o modalitate de organizare a fișierelor și directoarelor. De asemenea, acesta stochează informații referitoare la fișiere, precum permisiuni, proprietarul sau tipul de fișier. Fiecare fișier va avea o intrare în baza de date a sistemului de fișiere , în mod similar cu catalogul unei biblioteci; de regulă, această baze de date cu informații referitoare la fișiere se numește tabelă. Metadatele referitoare la fișiere vor fi reprezentate printr-o intrare în această tabelă. Intrările din tabelă conțin, de asemenea, un număr de identificare unic, denumit inode precum și pointeri (legături) ce oferă informații sistemului de operare cu privire la localizarea fișierului pe disc.

Page 16: Sisteme de operare Curs #13

16

Tipuri de sisteme de fișiere (Linux) • ext2: Second Extended Filesystem Avantaje: Lucrează bine cu discuri de capacități mici și de tip solid-state (SSD). Dezavantaje: Nu au capacitatea de jurnalizare, făcând posibilă pierderea de date în cazul unui eveniment neplăcut. • ext3: Third Extended Filesystem Avantaje: Poate fi actualizat din ext2 fără pierderi de date. Sistemul oferă jurnalizare, ce permite recuperarea datelor în cazul unui crash. Dezavantaje: Necesită mai mult spațiu pe disc în comparație cu ext2 datorită jurnalizării, făcându-l mai puțin rapid. • ext4: Fourth Extended Filesystem Avantaje: Oferă suport pentru dicuri mari și dimensiuni mari de fișiere. Poate opera cu sau fără jurnalizare. Compatibil cu ext3 și ext2. Dezavantaje: Nu conține îmbunătățiri majore față de ext3. • reiserfs: The Reiser Filesystem Avantaje: Primul sistem de jurnalizare pentru Linux. Lucrează eficient cu fișiere mici. Dezavantaje: Dezvoltarea a fost stopată iar versiunea Reiser4 înaintează greoi fără sprijinul companiei fondatoare.

Page 17: Sisteme de operare Curs #13

17

Tipuri de sisteme de fișiere (Linux) • xfs: Extents Filesystem Avantaje: Lucrează eficient cu fișiere mari. Compatibilitate cu sistemul de operare IRIX de la SGI. Este anunțat a fi sistemul implicit pentru RHEL 7. Dezavantaje: Sistemul nu poate fi împărțit. • vfat: File Allocation Table Avantaje: cunoscut de către majoritatea sistemelor de operare. Utilizat în mod normal pentru medii de stocare movibile. Dezavantaje: Nu oferă suport pentru discuri și fișiere de dimensiuni mari. Drepturi de proprietate ale companiei Microsoft. • iso: ISO 9660 Avantaje: Standard international ISO (International Organization for Standardization )pentru medii optice cunoscut de majoritatea sistemelor de operare. Dezavantaje: Compatibilitate scăzută petru nivele multiple; nu este compatibil cu mediile de stocare reinscriptibile. • udf: Universal Disc Format Avantaje: Proiectat să înlocuiască ISO 9660 și adoptat ca standard pentru DVD de către DVD Consortium. Dezavantaje: Suport pentru scriere limitat la versiunea 2.01 a standardului.

Page 18: Sisteme de operare Curs #13

18

Termeni cheie - sumar Sistem de fișiere: Un sistem de baze de date pentru organizarea fișierelor. Tabel: Baza de date unde sistemul de fișiere stochează informațiile. Metadate: Include atribute ale fișierelor proprietar, locație, timestamps, etc. Inode: Număr unic atribuit fiecărui fișier din cadrul sistemului de fișiere. Despre jurnalizare: Pe măsură ce fișierele sunt modificate, metadatele sunt stocate inițial în memorie și nu pe disc. Acest lucru îmbunătățește viteza sistemului, având în vedere că scrierea tuturor modificărilor pe disc în momentul producerii lor ar duce la foarte multe accesări ale discului. La anumite intervale, metadatele sunt scrise pe disc în grupuri mari; acest proces se numește sincronizare. În mod normal totul va fi în regulă, cu excepția situațiilor în care apare o pierdere de curent sau o cădere a sistemului chiar înaintea unei sincronizări, în acest caz toate metadatele vor fi pierdute. Un utilitar al sistemului, denumit fsck, poate rezolva astfel de cazuri, dar poate dura foarte mult pentru sisteme de fișiere de dimensiuni mari. Jurnalizarea ajută la refacerea sistemului de fișiere. Pentru fiecare modificare făcută unei fișier, este stocată pe disc o intrare în jurnal. În timp ce acest lucru mărește numărul de scrieri, intrarea în jurnal are un impact mult mai mic asupra performanțelor discului decât în cazul scrierii metadatelor direct pe disc pentru fiecare modificare a vreunui fișier. Pe scurt, jurnalizarea ajută în cazul refacerii sistemelor de fișiere corupte, permițând reducerea numărului de scrieri pe disc.

Page 19: Sisteme de operare Curs #13

19

Componentele sistemului de fișiere Linux

Termenul de “sisteme de fișiere Linux" se confundă deseori cu familia de sisteme de fișiere ext2/ext3/ext4. Cu toate că există o serie de diferențe între acestea, elementele de bază sunt aceleași:

• Superblocul: reprezintă o zonă de la începutul sistemului de fișiere. Această zonă

este folosită pentru stocarea informațiilor importante despre sistemul de fișiere, incluzând dimensiunea, tipul și ce blocuri de date sunt discponibile. Superblocul este o componentă cheie a sistemului de fișiere; un superbloc corupt va face sistemul de fișiere inaccesibil.

• Blocul de grup: Sistemul de fișiere este divizat în mai multe secțiuni denumite

grupuri. Blocul de grup servește pentru a stoca datele despre un grup. Fiecare bloc de grup conține și o copie a superblocului.

• Tabela Inode: Fiecare fișier are asociat un număr unic denumit inode. Acest

inode este asociat cu o tabelă ce stochează metadatele referitoare la fișiere.

Page 20: Sisteme de operare Curs #13

20

Sisteme de fișiere fizice vs. virtuale

În cazul SO Windows folosim litere urmate de semnul : (C:, D:, etc.) În Linux nu avem litere asociate discurilor; aici, fiecărei partiții îi este asociat un

nume de genul: • /dev/sda1, /dev/sda2, etc. , pentru partiții de echipamente SATA, SCSI și USB • /dev/hda1, /dev/hda2, etc., pentru partiții PATA/IDE Utilizatorii nu accesează fișierele stocate pe aceste partiții folosind direct aceste

nume de dispozitive. Astfel, aceste fișiere de echipament sunt înglobate în structura de directoare prin operația de montare a partiției sistemului de fișiere sub un arbore director.

Page 21: Sisteme de operare Curs #13

21

Sisteme de fișiere virtuale

Page 22: Sisteme de operare Curs #13

22

Conclusions (2)

Toate fișierele din directorul /home sunt stocate în sistemul de fișiere directory localizat pe partiția/dev/sda3. În mod asemănător, toate fișierele sub directorul /var sunt stocate în sistemul de fișiere de pe partiția /dev/sda2. Astfel, /home și /var reprezintă directoare “mount point”. Directorul / este, de asemenea, un mount point, spre exemplu pentru partiția /dev/sda1. Procesul de plasare a unui sistem de fișiere sub un “mount point” se numește montare. Acest lucru se face automat la pornirea calculatorului sau manual prin utilizarea comenzii mount.

Page 23: Sisteme de operare Curs #13

23

Sisteme de fișiere virtuale Dacă un administrator realizează operația inversă montării (unmount) pe sistemul de fișiere /dev/sda3 din exemplul anterior, atunci sistemul de fișiere virtual va arăta astfel:

Page 24: Sisteme de operare Curs #13

24

Sisteme de fișiere virtuale Se observă că nu mai există nimic sub directorul /home. Acest lucru este normal pentru că un director “mount point” va fi inaccesibil după operația de unmount. În momentul în care /dev/sda3 este din nou montat sub directorul /home, atunci directoarele bob și sue vor fi din nou disponibile.

Page 25: Sisteme de operare Curs #13

25

Termeni cheie - sumar

Sistemul de fișiere / (root) Este sistemul de fișiere de pe aceeași partiție ca și directorul root reprezentând sistemul de fișiere pe care toate celelalte sisteme de fișiere sunt montate în timp ce pornește sistemul de operare. Sistemul de fișiere /boot Directorul de conține tot ce este necesar pentru procesul de boot fără fișierele de configurare ce nu sunt necesare în momentul bootării. Sistemul de fișiere /home Directorul părinte pentru directoarele home ale utilizatorilor. Sistemul de fișiere /var Directorul ce conține date variabile precum fișiere de tip log, directoare mail și printer spool, fișiere temporare, etc. MBR Master Boot Record (MBR) reprezintă primii 512 octeți ai discului, conținând programul bootloader al sistemului de operare și tabela de partiții a discului.

Page 26: Sisteme de operare Curs #13

26

Termeni cheie - sumar fsck Comandă folosită pentru a verifica și eventual repara un sistem de fișiere Linux. Dacă nu se specifică un anumit sistem de fișiere cu această comandă, fsck va verifica toate sistemele de fișiere din /etc/fstab . mount points O conexiune între sistemul de fișiere al unei partiții și un director ce permite accesul la fișierele de pe acea partiție. parted Un utilitar de partiționare și redimensionare a partițiilor ce permite administratorilor să șteargă, să creeze, redimensioneze, mute și să copieze partiții de tipul ext2, linux-swap, FAT, FAT32 și reiserfs. Partiții Diviziunea logică a spațiului disponibil de pe un disc într-una sau mai multe secțiuni ce pot fi accesate în mod independent una față de cealaltă. Spațiul de swap Este utilizat atunci când dimensiunea memoriei fizice (RAM) este insuficientă pentru rularea programelor. Dacă sistemul are nevoie de mai multă memorie, și memoria RAM este plină, paginile inactive din memorie sunt mutate în spațiul de swap.