duminică, mai 22, 2022

Filesystem-ul e baza

În IT, ca și în alte domenii ale tehnicii și în general ale activităților umane, există zone vizibile și zone mai puțin vizibile în care se petrec schimbările. Îmi plac exemplele din construcții pentru că e o disciplină care are baze științifice stabilite cu 200 de ani în urmă, rădăcini milenare și produce rezultate vizibile. Așa că voi pierde un minut vorbind despre betonul armat. Introducerea acestuia în construcții nu a avut în sine nici un efect vizibil, grinzile, fundațiile și pilonii fiind oricum acoperite de zidărie, ornamente și tencuieli de cele mai multe ori. Însă rezultatul general a fost posibilitatea ridicării unor construcții de dimensiuni mult mai mari: zgârie-nori, viaducte uriașe, piloni incredibili.

Un astfel de ingredient de bază este în IT filesystem-ul. Acesta se referă în principal la modul în care informația este stocată pe disc. Sună plictisitor, tot ceea ce trebuie să știm este să apăsăm butonul “Save” ; restul este problema sistemului de operare.

Computerele personale au folosit inițial un filesystem foarte simplu, date fiind pretențiile limitate de la început, e vorba de celebrul FAT, completat ulterior cu câteva extensii neesențiale.

FAT și-a făcut treaba ( și încă și-o mai face ) fiind simplu, codul sursă care se ocupă de această treabă este și el simplu și deci robust .

Principala limitare esențială (cele neesențiale, precum dimensiunea maximă a discului pe care îl putea accesa s-au putut sau s-ar fi putut cumva rezolva) a apărut abia când Microsoft a avut nevoie să treacă la sistemele de operare multiuser , cu Windows NT și apoi familia Windows 2000. Fișierele stocate pe disc nu aveau nici un fel de informație referitoare la: cărui user aparțin, cine are dreptul să le citească sau să le scrie și cine nu etc.

Bineînțeles, aceleași probleme se puseseră deja și în lumea Unix, unde sistemele au fost de la început gândite ca fiind multiuser ( scenariul tipic de lucru fiind un computer la care sunt atașate mai multe terminale) . La momentul respectiv exista deja ext2, filesystem care încă destul de folosit ( mai ales prin succesorii săi ext3 și ext4) le mașinile Linux; acesta conține un sistem simplu și robust de definire a drepturilor de acces, așa că dezvolatorii NTFS au avut o sursă de inspirație și au reușit să implementeze un filesystem modern, fiabil și puternic, deși destul de stufos.

Abia în ultimii ani, pe măsură ce datele devin din ce în ce mai multe iar prelucrarea lor e o provocare, a început să se vorbească de o nouă generație de filesysteme. Am mai vorbit într-un articol precedent, cel despre moștenirea SUN, despre zfs. ZFS este o adevărată “mașinărie infernală”  care permite administratorului să  organizeze datele în RAID , să le cripteze , să le comprime , să realizeze “snapshot-uri” ( adică să păstreze situația datelor la un moment dat în timp ce computerul le modifică )

Facilitatea centrală este cea de copy on write în care datele nu sunt modificate la scriere, ci se realizează o copie a lor.

ZFS este un filesystem foarte interesant, însă folosirea sa este limitată de probleme de licențiere; nu am studiat exact situația însă suportul pentru acesta nu a putut fi inclus în kernel-ul de Linux ( se poate face folosind un driver în “userspace” însă nu e chiar același lucru)

Din aceeași familie face parte și BTRFS, un filesystem a cărui istorie începe tot la Oracle ( acolo unde se sfârșește momentan istoria ZFS prin achiziția SUN)  . Acesta este licențiat sub GPL și este inclus de ceva vreme în kernelul Linux, însă în general administratorii de system se cam tem de el, considerându-l insuficient testat. Ori, probabil un filesystem cu bug-uri e cam cel mai rău lucru care se poate întâmpla cu o bază de date, exceptând poate, intrarea unui Boeing cu tot cu pasageri în clădirea respectivă.

Iată însă că în ultima vreme sunt câteva vești interesante de la Facebook: aceștia au angajat o parte din dezvoltatorii care lucrează la BTRFS și se pare că plănuiesc să înceapă câteva teste pe serverele lor Deocamdată s-a anunțat că e vorba de partea de web , care e mai ușor de restaurat în caz de “catastrofă” ( datele fiind păstrate în baza de date, cel mult putem avea surpriza să nu funcționeze site-ul sau să funcționeze prost, ceea ce nici măcar n-ar fi o noutate) . Chiar dacă până acum Facebook nu s-ar spune că a excelat în materie de inovație tehnică, vestea mă bucură pentru că e vorba de o bază de test semnificativă; dacă filesysemul va funcționa la Facebook, probabil că va putea fi folosit oriunde altundeva. De asemenea, nu cred că un eventual prim eșec ar fi chiar o catastrofă majoră, dat fiind specificul companiei. Probabil că e pentru prima dată când sintagma “teste pe oameni” nu mă sperie.

Distribuie acest articol

9 COMENTARII

  1. Domnule, sunteti tare!
    Nu glumesc deloc, urmaresc articolele Dvs de cand ati devenit Contributor :) . Foarte tari! Desi stiu ca nu se pot compara mere cu pere atat de usor, eu am sa incerc: daca si ceilalti Contributori ar fi la fel de profesionisti si de pasionati de domeniul lor ca Dvs, ar fi si mai bine decat e. Asta nu inseamna, insa, ca acum e rau…
    Cu stima!

    • Eu imi permit sa fiu critic, cred ca articolul de fata este unul dintre cele mai slabe de pe acest site: Personal nu am inteles despre ce este vorba si asta cu siguranta nu dintr-o prea putina cultura IT. Nu inteleg de ce Filesystem-ul este baza, de ce nu sistemul de operare, procesorul, driverele, alocarea memoriei, whatever… oricare dintre ele cantaresc in functionarea unui sistem dar pana la urma niciunul nu este nici o baza luat de unul singur. …o sa presupun ca titlul se datoreaza unui tic verbal al autorului caci altfel nu se poate explica.
      Nu inteleg care este scopul articolului. Doreste sa faca o prezentare a sistemelor de fisiere existente? atunci este absolut superficial si lipsit de orice strucutura. Doreste sa anunte ca Facebook lucreaza la implementarea unui sistem de fisiere? …atunci modul de prezentare este absolut nepotrivit 90% din articol fiind pe langa subiect.
      Nu inteleg de ce unele cuvinte trebuiesc sa stea intre ghilimele ex. „catastrofa” si de ce exista farnturi de idei care au sens doar in mintea autorului, ex: Probabil că e pentru prima dată când sintagma “teste pe oameni” nu mă sperie.

      Poate este o forma de arta necunoscuta mie, dar din punct de vedere tehnic cat si literar articolul are valoare zero.

      • Pai si ce-ati facut? V-ati risipit talentul tehnico-literar si bunatate de nuvela (aproape) comentand ceva ce nu exista? Zero? Mai ca-mi vine sa recit refrenul din opusul Dvs de mai sus: nu inteleg…

      • Desigur ca nu am ce sa fac ca sa va placa articolul: nu v-a placut- asta e, se mai intamplă…
        Totusi, daca v-ati facut timp sa comentati, ințeleg că ați dori ceva de la această rubrică, și îndraznesc sa va rog sa detaliați.
        Pot sa va raspund însă la întrebarea „de ce e filesystemul baza” ( titlul aparține redacției, dar consider că reflectă relativ ok conținutul). O problema la sistemul de operare se poate remedia relativ simplu, în cel mai rău caz prin reinstalare. Datele sunt acolo. In momentul în care filesystemul – driverele lui mai precis încep să facă un puzzle din datele de pe disc, datele respective nu se mai recuperează decât poate în filmele cu Matrix. Din cauza asta administratorii sunt extrem de conservatori cu mașinile de producție și din cauza asta un test pe o scara așa de largă ( încă nu e confirmat oficial și nici nu stim amploarea deploymentului, presupun ca va fi în funcție de rezultate) la Facebook ar putea fi un punct de start pentru BTRFS.

  2. Daca tot vreti sa va dati geek in fata filozofilor de pe contributors, faceti-o dupa ce va documentati: inainte de Microsoft si celebrul (si infectul in acelasi timp) FAT computerele personale foloseau diverse alte sisteme de fisiere.
    Un exemplu CP/M (lansat undeva in 1973) https://en.wikipedia.org/wiki/CP/M#File_system.
    Cei de la Microsoft au avut nevoie de aproape 20 de ani ca sa inteleaga necesitatea unui OS multiuser si sa reuseasca o implementare.
    Iar in cazul NTFS cei de la MS au dat din nou rasol – au bagat cu furca o gramada de funtionalitati cerute de varii manageri ai clientilor, precum si unele copiate dupa HPFS al IBM (http://en.wikipedia.org/wiki/High_Performance_File_System) fara sa reuseasca sa le filtreze, rezultind un Frankenstein greu de gestionat.

    PS: Legat de FB, va recomand un articol foarte interesant despre procesele lor de engineering:
    http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/

  3. Cred ca eu am scris clar „computerele personale”. Aceasta denumire se refera strict la PC-uri.
    Dealtfel am apucat si CP/M-urile.
    HPFS si NTFS au o istorie comuna, legata de colaborarea Microsoft cu IBM. Totusi NTFS e robust si are cateva facilitati utile, ca de exemplu flag-ul de „inheritance” ( da, greu de gestionat).
    Multumesc pentru link-ul referitor la Facebook.

    • A personal computer (PC) is a general-purpose computer, whose size, capabilities and original sale price makes it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator.
      via: https://en.wikipedia.org/wiki/Personal_computer

      Practic personal computer (PC) este cam orice device cu procesor pe care o persoana si-l poate permite pentru uz personal, iar aici intra si computerele de la Altair, DEC si cam toate cele realizate pe z80. Diferenta fata de mainframes e modul de access (keyboard si ceva terminal – de preferat cu capabilitati grafice) si pretul.

  4. Asta e o definitie generica, notiunea de PC se foloseste de obicei intr-un sens mai restrans. Pentru cele cu z80 s-a folosit termenul de HC ( home computer).

Dă-i un răspuns lui MariusCC Renunțați la răspuns

Please enter your comment!
Please enter your name here

Prin adaugarea unui comentariu sunteti de acord cu Termenii si Conditiile site-ului Contributors.ro

Autor

Mihai Badici
Absolvent al Facultății de Electronică si Telecomunicații București ( 1991) Administrator de sistem cu peste zece ani de experiență cu specializari in sisteme de stocare si securitatea datelor. De asemenea a absolvit in 1996 Facultatea de Litere la Universitatea Bucuresti. In prezent, consultant IT independent, colaboreaza pe mai multe proiecte legate de infrastructura de date.

conferinte Humanitas

 

Această imagine are atributul alt gol; numele fișierului este banner-contributors-614x1024.jpg

„Despre lumea în care trăim” este o serie anuală de conferințe și dialoguri culturale şi ştiinţifice organizată la Ateneul Român de Fundaţia Humanitas Aqua Forte, în parteneriat cu Editura Humanitas și Asociația ARCCA.  La fel ca în edițiile precedente, își propune să aducă în fața publicului teme actuale, abordate de personalități publice, specialiști și cercetători recunoscuți în domeniile lor și de comunitățile științifice din care fac parte. Vezi amănunte.

 

Carte recomandată

Anexarea, în 1812, a Moldovei cuprinse între Prut și Nistru a fost, argumentează cunoscutul istoric Armand Goșu, specializat în spațiul ex-sovietic, mai curând rezultatul contextului internațional decât al negocierilor dintre delegațiile otomană și rusă la conferințele de pace de la Giurgiu și de la București. Sprijinindu-și concluziile pe documente inedite, cele mai importante dintre acestea provenind din arhivele rusești, autorul ne dezvăluie culisele diplomatice ale unor evenimente cu consecințe majore din istoria diplomației europene, de la formarea celei de-a treia coaliții antinapoleoniene și negocierea alianței ruso-otomane din 1805 până la pacea de la București, cu anexarea Basarabiei și invazia lui Napoleon în Rusia. Agenți secreți francezi călătorind de la Paris la Stambul, Damasc și Teheran; ofițeri ruși purtând mesaje confidențiale la Londra sau la Înalta Poartă; dregători otomani corupți deveniți agenți de influență ai unor puteri străine; familiile fanariote aflate în competiție spre a intra în grațiile Rusiei și a ocupa tronurile de la București și Iași – o relatare captivantă despre vremurile agitate de la începutul secolului al XIX-lea, ce au modelat traiectoria unor state pentru totdeauna și au schimbat configurația frontierelor europene. Vezi pret

 

 

 

Carte recomandată

 

Sorin Ioniță: Anul 2021 a început sub spectrul acestor incertitudini: va rezista democraţia liberală în Est, cu tot cu incipientul său stat de drept, dacă ea îşi pierde busola în Vest sub asalturi populiste? Cât de atractive sunt exemplele de proastă guvernare din jurul României, în state mici şi mari, membre UE sau doar cu aspiraţii de aderare? O vor apuca partidele româneşti pe căi alternative la proiectul european clasic al „Europei tot mai integrate“? Ce rol joacă în regiune ţările nou-membre, ca România: călăuzim noi pe vecinii noştri nemembri înspre modelul universalist european, ori ne schimbă ei pe noi, trăgându-ne la loc în zona gri a practicilor obscure de care ne-am desprins cu greu în tranziţie, sub tutelajul strict al UE şi NATO? Dar există şi o versiune optimistă a poveştii: nu cumva odată cu anul 2020 s-a încheiat de fapt „Deceniul furiei şi indignării“?

 

 

Esential HotNews

Top articole

contributors.ro

Contributors.ro este intr-o permanenta cautare de autori care pot da valoare adaugata dezbaterii publice. Semnaturile noi sunt binevenite cata vreme respecta regulile de baza ale site-ului. Incurajam dezbaterea relaxata, bazata pe forta argumentelor.
Contact: editor[at]contributors.ro