CATEGORII DOCUMENTE |
REPREZENTAREA DATELOR IN MEMORIA CALCULATORULUI
1. Reprezentarea datelor
Atributele datei sunt proprietati ale acesteia care determina modul in care poate fi ea tratata in procesul de prelucrare. Atribute intalnite uzual:
. tipul datei care defineste apartenenta ei la o anumita clasa de date, careia ii corespunde un anumit model de reprezentare interna (in memoria calculatorului); principalele tipuri de date sunt:
.. tip numeric - intreg sau real;
.. tip alfabetic;
.. tip alfanumeric;
.. tip logic.
. precizia reprezentarii interne, care defineste fidelitatea reproducerii obiectului extern; precizia depinde de zona de memorie alocata datei si poate fi simpla sau dubla;
. incadrarea valorilor datei in zona alocata care determina modul de aliniere al datei - la stanga sau la dreapta.
Calculatorul este o masina construita din elemente fizice care prezinta numai doua stari, adica intelege, manipuleaza si prelucreaza siruri de cifre binare.
Datele in formatul inteligibil pentru om (in forma lor de reprezentare externa) trebuie transformate in forma de reprezentare interna, capabila sa fie inteleasa de calculator. Operatia se numeste codificare interna si in urma efectuarii ei, unei date in format extern i se atribuie o secventa unica de cifre binare.
Operatia de codificare presupune existenta unui cod, adica corespondenta intre multimea datelor si multimea secventelor binare.
Se poate observa ca:
. un circuit comutator (bistabil) permite reprezentarea a doua valori: 0 si 1;
. doua comutatoare impreuna (vecine) permit reprezentarea A patru valori: 00, 01, 10 si 11, adica cele doua valori precedente precedate de 0 si apoi aceleasi doua valori precedate de 1, dupa cum circuitul al doilea asezat in fata primului blocheaza sau nu curentul prin el;
. trei comutatoare impreuna vor permite reprezentarea celor patru valori precedente precedate de 0 si aceleasi patru precedate de 1, deci opt valori;
. patru comutatoare impreuna vor permite celor opt valori precedente sa fie precedate de 0 din faptul ca al patrulea circuit pus in fata celor trei blocheaza curentul si astfel se optin opt valori, apoi alte opt precedate de 1 cand al patrulea circuit functioneaza (lasa curent), in total 16 valori.
Mergand pe acelasi rationament se constata ca 5 circuite vor permite obtinerea a 32 valori, 6 circuite conduc la 64 valori, 7 circuite la 128 valori, iar 8 circuite la 256 valori.
Rezumand, se dovedeste ca:
. cu 1 bit se pot reprezenta 2 valori;
. cu 2 biti se pot reprezenta 4 valori;
. cu 3 biti se pot reprezenta 8 valori;
. cu 4 biti se pot reprezenta 16 valori;
. cu 5 biti se pot reprezenta 32 valori;
. cu 6 biti se pot reprezenta 64 valori;
. cu 7 biti se pot reprezenta 128 valori;
. cu 8 biti se pot reprezenta 256 valori;
. cu 10 biti se pot reprezenta 1024 valori.
Numarul de valori (semne) care pot fi reprezentate rezulta ca fiind egal cu puterea bazei 2 (a sistemului de lucru, binar) avand drept exponent numarul de circuite (biti) folosite.
Reprezentarea interna a datelor depinde de tipul acestora.
1. Reprezentarea datelor alfanumerice
Intrucat din exterior sunt de reprezentat standard un numar de 26 litere mici, tot atatea litere mari, 10 semne pentru cele 10 cifre ale sistemului folosit de om (sistemul zecimal), dar si unele semne speciale (precum semnele de punctuatie, operatorii aritmetici etc.), se constata ca ar fi suficiente 7 circuite (codul ASCII), dar pentru ca apar ca fiind necesare alte semne specifice diverselor limbi, coduri pentru diverse tipuri de comunicatii etc., lungimea de 8 cifre binare a devenit un standard (codul EBCDIC al firmei IBM sau ASCII extins). Astfel, individual, fiecare caracter (litera, cifra, spatiu, sau alte caractere speciale) va fi codificat binar intr-o secventa de lungime fixa de 8 biti (cifre binare).
Cele opt cifre binare folosite pentru reprezentarea unui semn din exterior se numeste BYTE.
Pentru aceeasi combinatie se mai foloseste termenul frantuzesc octet, sau chiar caracter.
Unitati de masura mai mari generate pornind de la byte sunt:
1 cuvant (word) = 2 bytes;
1 dublu-cuvant (double word) = 4 bytes;
1 cvadruplu cuvant = 4 cuvinte = 8 bytes;
1 kilobyte (KB) = 1024 bytes; (2 la puterea 10)
1 megabyte (MB) = 1024 KB; (2 la puterea 20)
1 gigabyte (GB) = 1024 MB; (2 la puterea 30)
1 terabyte (TB) = 1024 GB; (2 la puterea 40). Pentru urmatoarele puteri ale lui 2 se folosesc notiunile pentabyte (PB), exabyte (EB), zettabyte (ZB) si yottobyte (YB).
Termenul generalizat pentru un pachet de biti este cuvantul digital care poate insemna orice numar de biti pe care un calculator il foloseste ca un grup. Termenul 'cuvant' are semnificatie specifica in lumea calculatoarelor personale, Intel, cel mai mare producator de procesoare folosind specificatia prezentata mai sus.
2. Reprezentarea numerelor
Numerele intregi (cu semn sau fara semn) se reprezinta intern diferentiat de numerele reale.
Fiecare numar intreg, pozitiv sau negativ, este codificat ca un numar binar de lungime fixa, pe 8, 16, 32, biti, folosindu-se secvente de biti de aceeasi lungime pentru fiecare numar, indiferent de marimea acestuia (cu adaugare eventuala de zerouri nesemnificative). Cand se reprezinta un numar intreg cu semn, primul bit din stanga reprezentarii numarului va fi folosit pentru indicarea semnului (1 pentru numar negativ, 0 pentru numar pozitiv). Domeniul de definitie al unei date de tip numeric intreg fara semn reprezentata pe 8 biti va fi 0 255, iar reprezentata pe 16 biti va fi 0 65535.
Reprezentarea intregilor cu semn va consuma un bit pentru semn, astfel ca cele mai mari valori vor fi obtinute din puterea lui 2 la exponent egal cu numarul de biti, micsorat cu 1. In situatia numerelor intregi cu semn, pentru a folosi la maximum posibilitatile circuitelor electronice, se utilizeaza reprezentarea numerelor prin complement fata de 2.
Numerele reale sunt formate din semn, partea intreaga si partea fractionara. Ele pot fi reprezentate in doua moduri: in virgula fixa si in virgula mobila.
In reprezentarea in virgula fixa se presupune ca partea intreaga si partea fractionara sunt despartite printr-o virgula imaginara care se gaseste intr-o pozitie fixa, deci sunt fixe atat numarul de pozitii pentru partea intreaga cat si cel pentru partea fractionara. Aceasta reprezentare este dezavantajoasa deoarece nu permite decat reprezentarea unei game restranse de numere reale.
In reprezentarea cu virgula mobila, numerele au exponent si mantisa (reprezentarea se mai numeste si reprezentare stiintifica). Potrivit acestei precizari, se stie ca orice numar poate fi scris explicitand puteri ale lui 10. In acest fel va putea fi controlata pozitia virgulei zecimale, iar reprezentarea obtinuta se numeste 'in virgula mobila', deoarece virgula zecimala isi schimba pozitia in functie de valoarea exponentului. De exemplu, poate fi scris 3,14 = 0,314 . 10 = 314E-2.
In mod similar se va reprezenta si intern numarul, singura deosebire fiind codificarea exponentului si a mantisei in sistem binar. In plus se vor folosi doi biti pentru a reprezenta semnul mantisei si, respectiv, al exponentului. Astfel, daca se considera reprezentarea in virgula mobila pe 32 de biti, se vor folosi:
. 1 bit pentru semnul mantisei (numarului);
. 1 bit pentru semnul exponentului;
. 7 biti pentru exponent;
. 23 biti pentru mantisa.
Dupa numarul de biti folositi pentru reprezentarea numarului exista:
. reprezentare in simpla precizie - pe 32 de biti; (scriere stiintifica folosind secventa Evaloare - vezi exemplul de mai sus);
. reprezentare in dubla precizie - pe 64 de biti (scriere stiintifica folosind secventa Dvaloare).
Domeniul de definitie al datei depinde de spatiul de memorie alocat pentru reprezentare. Daca valoarea datei depaseste domeniul de definitie al datei, calculatorul va semnala aceasta situatie printr-un mesaj (overflow).
3. Reprezentarea sunetelor si desenelor
Desenele si sunetele sunt si ele codificate in secvente de cifre binare. Pentru codificare se stabilesc niveluri de luminozitate (pentru desene) sau niveluri de semnal sonor (pentru sunete). Aceste niveluri se codifica prin numere intregi care pot fi reprezentate in binar. Acest proces este cunoscut ca fiind digitizarea desenului sau a sunetului.
2. Structurarea datelor
Datele pot fi structurate astfel:
. unul sau mai multe caractere vecine (bytes) = 1 camp (field);
. unul sau mai multe campuri vecine = 1 inregistrare logica (record) care respecta un model;
. una sau mai multe inregistrari logice vecine scrise pe suport de date = 1 bloc (record fizic);
. unul sau mai multe blocuri pe suport de date = 1 fisier (file);
. unul sau mai multe fisiere cu relatii intre ele = baza de date;
. una sau mai multe baze de date impreuna cu mediul organizational = banca de date.
Fiecare camp are: identificator (nume), dimensiune (lungime), tip de date.
Inregistrarea logica este unitatea pe care o foloseste programul si indica modelul dupa care sunt structurate datele.
Inregistrarea fizica (blocul) este unitatea de transfer intre memoria interna si dispozitivul periferic pe care este stocat fisierul.
Lungimea unei inregistrari este data de numarul de caractere (bytes) continuti in inregistrare. Dupa lungime, inregistrarile pot fi:
. de lungime fixa (toate inregistrarile au acelasi numar de caractere);
. de lungime variabila (inregistrarile nu au acelasi numar de caractere, dar acest numar este determinat pentru fiecare inregistrare si, adesea, memorat inaintea datelor, intr-o zona de lungime fixa inclusa si ea in calculul lungimii);
. de lungime nedefinita (inregistrari la care nu se poate determina anticipat numarul de caractere).
La inregistrarile de lungime variabila, in special la cele de text compus din linii cu lungimi diferite, marcajul de sfarsit al unei linii se face la introducerea acesteia prin actionarea tastei ENTER, care genereaza codurile ASCII CR (Carriage Return) si LF (Line Feed), aceste doua coduri (in reprezentare hexazecimala '0D0A') formand separatorul dintre blocuri.
Fiecare fisier (ca o colectie omogena din punct de vedere al naturii datelor si al operatiilor de prelucrare) este inregistrat, de regula, pe suport de memorie externa si are: denumire, continut, trei caracteristici si doua atribute.
Denumirea (filename) unui fisier este formata din: numele fisierului (name), un punct si extensia (extension).
Numele poate fi limitat in dimensiune (max. 8 caractere in sistemul de operare MS-DOS, max. 255 caractere in Windows), dar si privitor la caracterele care-l compun; existand cuvinte rezervate in sistemul de operare, anumite combinatii de caractere sunt interzise (AUX, CON, NULL, PRN, COM1, COM2, LPT1, LPT2, etc.).
Windows retine distinct literele mari si mici, dar nu va tine cont de diferenta dintre ele. Spatiile conteaza numai in interiorul numelui, cele din margini fiind eliminate automat.
Extensia poate lipsi si atunci punctul separator nu este obligatoriu. Cand este prezenta, extensia este compusa din maximum 3 caractere. In general extensia sugereaza natura continutului fisierului la care se refera, folosirea extensiilor este lasata la libera alegere a utilizatorului, iar sistemul de operare este educat sa trateze in mod specific extensii precum: BAT, COM, EXE, SYS.
Extensiile standard MS-DOS au urmatoarea semnificatie:
. COM pentru fisiere executabile care contin programe simple, de tip executa o comanda;
. EXE pentru fisiere executabile care contin programe complexe, de tip executa o aplicatie;
. BAT pentru fisiere care contin secvente de comenzi din limbajul de comanda MS-DOS pentru a fi executate in bloc (lot), asa numitele fisiere batch;
SYS fisiere care contin programe pentru diverse echipamente din sistem (drivere de sistem).
Extensii standard pentru fisiere ce contin programe sursa:
. BAS pentru fisiere sursa (programe) scrise in Basic sau Qbasic;
. PAS pentru fisiere sursa (programe) scrise in Pascal sau TurboPascal;
. C pentru fisiere sursa (programe) scrise intr-un limbaj din familia C etc.
Extensii standard folosite pentru fisiere folosite de programe realizate de firme de renume:
. ZIP pentru fisiere obtinute prin arhivarea fisierelor cu programe PKZIP, Winzip;
. DBF pentru fisiere apartinand bazelor de date gestionate cu DBASE sau FOX;
. DOC pentru fisiere cu text tip document obtinute cu procesoarele de text WORDPAD, WORD din Windows;
. TXT pentru fisiere obtinute cu editoarele de text gen EDIT, NOTEPAD;
. XLS pentru fisiere cu tabele compuse din celule de date gen EXCEL din Windows etc.
Extensii standard pentru fisiere cu formate grafice (imagini):
. PCX pentru fisiere cu format grafic creat cu instrumentul de desen standard din Windows (Paint);
. GIF pentru fisiere cu format grafic de tip Graphics Interchange Format;
. BMP pentru fisiere cu format grafic de tip bitmap etc.
Orice fisier are un continut, care poate fi foarte divers din punct de vedere calitativ. Pot exista:
. fisiere executabile continand programe executabile, adica codul masina (secvente binare) al unui program executabil compus din instructiuni codificate in binar, care se incarca in memoria interna si sunt executate de procesor;
. fisiere neexecutabile al caror continut este format din date ce vor putea fi prelucrate de fisierele executabile. Sunt astfel:
.. fisiere de text obisnuit, codificat in codul ASCII, care contin atat coduri de caractere, dar pot contine si coduri ale comenzilor pentru aranjarea in pagina sau pentru diverse actiuni de formatare;
.. fisiere de date ce contin date ce vor fi prelucrate sau care s-au obtinut in urma prelucrarii de catre fisiere executabile;
.. fisiere sursa, o categorie de fisiere text, care contin textele sursa ale programelor in limbaje de programare;
.. fisiere de imagini care contin descrieri grafice 'punct cu punct' sau 'linie cu linie', deci vectorial sau prin formule matematice, determinand pixelii ce vor fi afisati sau tipariti, comenzi etc.
Din punct de vedere cantitativ se poate considera ca orice fisier are un continut format din caractere (ASCII).
Caracteristicile unui fisier sunt: dimensiunea (lungimea), data si ora cand a fost creat sau actualizat ultima oara.
Atributele cele mai folosite sunt cel pentru protectie la scriere (read only) si cel de ascundere (hydden); in situatia prezentei atributului read only continutul fiserului poate fi numai citit, nu si modificat, iar in cazul prezentei atributului hydden fisierul devine 'ascuns' altor utilizatori.
Fisierul este o colectie de date cu o evolutie dinamica. El poate fi prelucrat (exploatat), adica asupra lui se pot efectua diferite operatii precum:
. crearea fisierului in forma lui initiala; acum fisierul primeste denumirea, eventual datele initiale, caracteristicile si atributele;
. actualizarea fisierului prin care datele din continutul fisierului sunt aduse la zi; este posibila:
.. adaugarea de noi inregistrari, prin care creste lungimea fisierului;
.. stergerea de inregistrari prin care se micsoreaza dimensiunea fisierului;
.. modificarea continutului unor inregistrari dupa care lungimea fisierului ramane nemodificata (daca inregistrarile sunt de lungime fixa) sau se modifica corespunzator (in situatia inregistrarilor de lungime variabila);
. sortarea fisierului prin care se obtine un alt fisier in care inregistrarile sunt aranjate in ordinea data de criteriul de ordonare; sortarea se poate face crescator sau descrescator, dupa valoarea unui camp sau a mai multor campuri, dupa unul sau mai multe crescator, eventual, dupa unul sau mai multe descrescator.
. copierea fisierului prin care se obtine o imagine identica a acestuia pe acelasi suport sau pe un alt suport;
. mutarea fisierului prin care acesta este transferat dintr-o zona in alta, pe acelasi suport sau pe un alt suport;
. redenumirea fisierului prin care se asigura schimbarea denumirii, dar pastrarea locului pe suport, a caracteristicilor, a continutului si a atributelor;
. stergerea unui fisier de pe suport; operatia este distructiva, deci trebuie facuta cu raspundere, dar ea nu se executa fizic, ci se face o invalidare logica a denumirii fisierului si in acest fel nu mai exista acces la el, iar zonele de disc eliberate sunt declarate disponibile, putandu-se reactiva fisierul distrus daca pe suport nu s-a facut nici o scriere, sau in cazul in care functioneaza un 'cos de gunoi' negolit in sistem in care fisierul mai exista.
. divizarea fisierului in doua sau mai multe fisiere conform unor criterii impuse de utilizator;
. concatenarea (lipirea, reunirea, fuziunea, interclasarea) a doua sau mai multe fisiere intr-unul singur.
Metoda de organizare a fisierelor este multimea de reguli pentru inregistrarea acestora pe suport, care asigura integritatea datelor si regasirea lor pe suport. Din acest punct de vedere exista:
. organizare secventiala, in care blocurile sunt inregistrate pe suport in ordinea aparitiei lor (cronologic); este permisa pe orice tip de suport;
. organizarea relativa, in care blocurile sunt inregistrate intr-o ordine bine determinata, astfel incat fiecare bloc ocupa o pozitie relativa bine definita in cadrul fisierului; fiecarui bloc i se atribuie un numar de ordine, iar regasirea lui se face pe baza unei corespondente intre numar si locatia la care blocul a fost memorat, operatie posibila numai pe suport cu acces direct, adica suport de tip disc;
. organizarea indexata, in care blocurile sunt scrise intr-o ordine oarecare, dar localizarea lor se face dupa valoarea unui camp sau a mai multor campuri care formeaza cheia de indexare; acest lucru este posibil daca se poate stabili o corespondenta intre valoarea cheii de indexare si adresa locatiei de pe suport la care este memorata inregistrarea, deci suportul de memorare trebuie sa permita construirea unui sistem de adrese pentru locatiile de memorare, altfel zis trebuie sa fie, ca si in cazul precedent, de tip disc.
Modul de acces la date este multimea de reguli care asigura regasirea unei inregistrari in fisier in scopul prelucrarii continutului.
Exista doua moduri de acces la date:
. modul de acces secvential potrivit caruia regasirea unei inregistrari se face numai prin parcurgerea (ignorarea) tuturor inregistrarilor care o preced; orice tip de organizare poate fi accesata secvential;
. modul de acces direct permite regasirea unei inregistrari in fisierul caruia ii apartine prin localizarea acesteia in mod nemijlocit pe suport, folosind adresa locatiei in care este memorata; acest mod de acces este posibil numai in organizarile care permit identificarea locatiei dupa un criteriu (numar de ordine sau cheie de indexare).
Fiserul ramane elementul fundamental in organizarea datelor, dar si in functionarea calculatoarelor si, implicit, a sistemelor de operare. Intreaga activitate importanta a calculatorului se desfasoara cu fisiere, prin operatii de creare, modificare, copiere, mutare, distrugere a lor. Sistemul de operare pastreaza pe fiecare disc o lista a tuturor fisierelor create; pentru ca organizarea sa fie precisa, logica, riguroasa, dar si simpla se foloseste gruparea fisierelor in structuri speciale precum hartiile (documentele) in dosare, dosarele in clasoare etc. sau cartile pe rafturi in biblioteci. Aceste structuri se numesc directoare (directory), iar sistemul de operare Windows, pentru a sublinia destinatia sa speciala spre lucrul cu documente intr-un birou, grupabile in dosare s.a.m.d., foloseste in locul notiunii de director pe cea de dosar (folder).
Directorul (directory) este un fisier special, un catalog, un tabel, un repertoar al discului. Inregistrarile dintr-un director sunt speciale si se refera la identificarea componentelor ce apartin acestuia. Prin aceste date, orice fisier poate fi regasit pe disc.
La pregatirea unui disc pentru a fi folosit (operatia se numeste formatare) se creaza directorul radacina (root directory) ca fisier special cu un numar fix de inregistrari (directory entry); in fiecare intrare in director se pot scrie date despre un fisier dupa o structura de campuri bine stabilita: numele, extensia, spatiul ocupat (dimensiunea in bytes), data si ora cand a fost creat sau modificat fisierul, adresa de inceput a fisierului, atributele acestuia.
In directorul radacina este posibil ca unele inregistrari sa contina, in locul datelor despre fisiere, date despre fisiere de tip director, fisiere cu aceeasi structura de campuri ca si directorul radacina si care astfel devin subdirectoare ale directorului radacina. Datele din directorul radacina vor permite regasirea pe disc a fisierelui de tip director, care la randul sau poate memora in inregistrarile sale date despre alte fisiere de tip director, astfel incat, pornind de la directorul radacina, se poate crea pe disc o structura arborescenta de directoare, numita arbore de directoare (tree).
In construirea arborelui de directoare se respecta urmatoarele reguli:
. un subdirector are un singur director careia ii apartine, numit director parinte (parent directory), situat pe nivelul ierarhic imediat superior;
. un director poate avea mai multe subdirectoare numite directoare-fii (child directories), aflate in directa lui subordonare si care se gasesc pe nivelul ierarhic imediat inferior.
Orice component al unui director (subdirector sau fisier) trebuie sa aiba o denumire unica; astfel, daca exista deja o denumire (nume si, eventual, extensie) a unui director sau a unui fisier in directorul curent nu va mai fi acceptata o denumire identica, utilizatorul find avertizat ca trebuie sa denumeasca diferit noul component.
La creare orice director va avea doua inregistrari proprii:
. o inregistrare in care se memoreaza date despre sine, avand ca denumire un punct;
. o inregistrare in care se pastreaza date despre directorul parinte, marcata cu doua puncte consecutive.
Numarul de inregistrari intr-un director nu este fix, deoarece el poate fi regasit pe disc la fel ca orice fisier: dupa adresa de inceput a fisierului si lungimea acestuia. Lungimea fisierului director este limitata doar de spatiul disponibil pe disc.
Numai dupa ce un director a fost creat, el poate fi 'mobilat' prin introducerea de componente: directoare (care astfel devin subdirectoare) si/sau fisiere. Un director poate sa nu contina, asadar, nici un component.
Directorul in care se lucreaza la un moment dat se numeste director curent, director implicit sau director de lucru.
Calea de director (path) este drumul parcurs pentru regasirea unui director pe disc, pornind de la directorul curent sau de la directorul radacina
Numele de cale de director (path name) este succesiunea de nume de directoare separate prin semnul (backslash) si care se termina cu numele fisierului, prin care se precizeaza calea de acces la fisier. Descrierea caii de directoare se poate face pornind de la directorul radacina (in acest caz incepe cu ) sau pornind de la directorul curent (calea nu incepe cu ).
Arborele de directoare este considerat 'orientat', drumurile putand fi parcurse intr-un singur sens, neexistand drumuri 'in sens opus' (cu exceptia intoarcerii la directorul parinte sau a celui radacina !).
In descrierea caii de director se pot folosi semnele:
pentru directorul radacina;
.. pentru directorul parinte;
. pentru directorul curent.
Regasirea fisierelor in structura arborescenta de directoare a discului in vederea utilizarii impune identificarea acestora. Un identificator de fisier este un sir de caractere folosit pentru regasirea unui fisier pe disc si contine:
. numele discului, care poate lipsi daca fisierul se gaseste pe discul implicit;
. calea de director a directorului in care se gaseste fisierul, care poate lipsi daca fisierul este in directorul curent;
. numele (obligatoriu) si, eventual, extensia fisierului.
Identificatorul pentru un grup de fisiere este un sir de caractere cu ajutorul carora se poate descrie un grup de fisiere. Constructia se obtine cu ajutorul caracterelor speciale:
? inlocuieste orice caracter in pozitia in care a fost scris;
* inlocuieste orice grup de caractere din pozitia in care a fost scris pana la sfarsitul numelui sau extensiei.
Operatiile asupra directoarelor se fac cu comenzi distincte de operatiile asupra fisierelor
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 6253
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved