Documente Academic
Documente Profesional
Documente Cultură
Laborator 1
Obiectivele laboratorului:
Dispozitive
de iesire
Memorie Memorie
externa Procesor interna
(harddisk) RAM
ROM
Dispozitive
de intrare
Dispozitive
periferice
Evident, aceasta imagine este extrem de simplificata. In realitate, arhitectura unui sistem
de calcul modern, cu tehnologii de ultima generatie la momentul scrierii acestei lucrari arata in
felul urmator:
Figura 2: Arhitectura hardware a unui sistem de calcul cu chipsetul Intel 955X
Procesorul poate executa programe numai din memoria interna. Aceasta este vazuta ca
un set de locatii care permit stocarea si regasirea unei valori numerice intregi. Fiecare locatie are
asociata o anumita adresa, care permite identificarea acesteia. Un calculator are doua tipuri de
memorie interna:
- memorie RAM (Random Access Memory), caracterizata prin faptul ca permite atat
scrierea cat si citirea continutului unei locatii in mod direct. Continutul memoriei se pierde insa
la intreruperea alimentarii cu energie electrica, de aceea se mai numesc si memorii volatile.
- memorie ROM (Read Only Memory), caracterizata prin faptul ca in functionarea
normala, aceasta permite doar citirea valorilor din locatiile de memorie componente. Nu isi
pierde continutul la intreruperea alimentarii cu energie electrica, de aceea se mai numeste
memorie nevolatila.
Pentru a extinde posibilitatile de utilizare ale unui calculator, acesta contine si o serie de
dispozitive periferice. Dispozitivele periferice pot fi clasificate dupa mai multe criterii, unul
dintre acestea fiind sensul traficului de date intre dispozitiv si procesor. In acest context, exista
doua categorii de periferice:
- periferice de intrare (introducerea datelor in calculator), cum ar fi mouse-ul, tastatura,
scanner-ul etc.
- periferice de iesire (extragerea datelor din calculator), ca de exemplu monitorul,
imprimanta, interfata audio etc.
Evident, exista si dispozitive periferice care permit comunicarea cu sistemul de calcul in
ambele directii, indeplinind atat functii de intrare cat si de iesire. Ca exemplu, o interfata audio
permite atat generarea de sunete din calculator cat si inregistrarea in calculator a sunetelor din
mediul extern printr-un microfon.
In domeniul dispozitivelor periferice, un loc important il ocupa memoriile externe.
Acestea ofera posibilitati de stocare / regasire de informatii si sunt caracterizate in general prin
capacitati mult mai mari decat memoriile interne, dar viteze de acces la date mult mai mici. In
general, memoriile externe sunt nevolatile.
Un exemplu tipic de memorie externa il reprezinta harddisk-ul, care utilizeaza tehnologii
bazate pe fenomene magnetice pentru a stoca date, permitand in utilizarea normala atat scrierea
cat si citirea informatiilor. Un alt exemplu il reprezinta CDROM-ul sau DVD-ul care utilizeaza
tehnologii bazate pe fenomene optice pentru stocarea si regasirea informatiilor. In utilizarea
normala, acestea sunt medii de stocare de tip read-only.
Sistemul de operare
BIOS
Pe nivelul cel mai de jos se afla un set de programe si secvente de program cunoscute sub
denumirea de BIOS (Basic Input/Output System). Aceasta componenta software a unui sistem
de calcul are urmatoarele responsabilitati:
- detectia, testarea sumara a bunei functionari si initializarea componentelor hardware ale
sistemului la pornirea acestuia
- gestiunea diversilor parametri de configuratie ai dispozitivelor hardware si
implementarea unei interfete cu utilizatorul pentru modificarea acestor parametri (Setup)
- implementarea unor secvente de program (subrutine) care permit nivelelor software
superioare sa acceseze dispozitivele periferice (discheta, harddisk, interfata grafica, tastatura,
etc.) printr-o interfata standardizata.
- lansarea in executie a unui sistem de operare de pe un mediu de stocare extern (proces
cunoscut sub numele de boot-are)
In general, componenta BIOS a unui sistem de calcul se afla implementata sub forma
unui program stocat in memorie ROM, care preia controlul sistemului la pornirea calculatorului.
Sistemul de operare este componenta software a unui sistem de calcul care este
responsabila cu gestionarea resurselor fizice si logice ale acestuia si partajarea acestora intre
aplicatiile utilizatorului. Prin resurse ale calculatorului intelegem: procesorul, memoria interna,
memoriile externe (fisierele de pe un disc sunt gestionate de catre sistemul de operare),
dispozitivele periferice de intrare – iesire, etc. Un alt rol al sistemului de operare este acela de a
pune la dispozitia aplicatiilor utilizatorului (intr-o forma reutilizabila) anumite servicii de baza
comune majoritatii aplicatiilor. Spre exemplu, sistemele de operare din familia Microsoft
Windows pun la dispozitia celor care realizeaza aplicatii toate elementele necesare pentru
implementarea unei interfetei grafice, astfel incat aspectul vizual al aplicatiilor sa fie familiar si
accesibil utilizatorului.
Aplicatiile utilizatorului sunt instrumente pe care acesta le foloseste pentru a a efectua
diverse prelucrari asupra unor date de intrare pentru a obtine niste date de iesire. Domeniile de
utilizare ale sistemelor de calcul si aplicatiilor sunt extrem de vaste si includ aplicatii pentru
prelucrare de sunete, imagini statice si in miscare, tehnoredactare, foi de calcul, baze de date,
comunicatii, aplicatii multimedia, tehnoredactare de texte etc.
Dupa cum s-a vazut, limbajul nativ al unui procesor este limbajul masina, care consta
dintr-o serie de instructiuni reprezentate prin coduri numerice pe acesta le executa secvential din
memoria interna. Insa scrierea aplicatiilor utilizand limbajul masina este o operatiune extrem de
dificila, predispusa la erori de programare si total neadecvata pentru aplicatiile de complexitate
medie – mare. De aceea, odata cu evolutia puterii de calcul a procesoarelor, au fost create si
utilizate noi limbaje de programare cu o sintaxa mai apropiata de limbajul natural. Limbajele au
fost numite "de nivel inalt", in contrast cu limbajul masina, de nivel scazut. Trebuie subliniat insa
faptul ca procesorul nu poate executa in mod direct aceste instructiuni. De aceea, intotdeauna
este necesar un translator pentru traducerea instructiunilor limbajului de nivel inalt in limbaj
masina. Programul scris in limbajul de nivel inalt, inainte de a fi trecut prin translator se mai
numeste program sursa sau cod sursa.
Exista mai multe criterii dupa care se pot clasifica limbajele de programare. Primul
criteriu se refera la nivelul de apropiere al acestora de limbajul natural al omului. In acest
sens, exista urmatoarele categorii:
- limbaje de nivel inalt: Pascal, Java, PHP, Prolog, Matlab, SQL, Lisp, Python, etc
- limbaje de nivel mediu: C, C++
- limbaje de nivel scazut: limbajul de asamblare
Intrebari recapitulative:
1. Care sunt functiile procesorului ?
2. Cate tipuri de memorie interna exista ?
3. Care sunt cele mai raspandite tipuri de memorii externe ?
4. Care sunt caracteristicile limbajelor compilate ? Dar cele interpretate ?
5. Care sunt caracteristicile limbajelor tipizate ? Dar cele netipizate ?
6. In cazul fiecarui criteriu de clasificare prezentat mai sus, in ce categorii se incadreaza
limbajul C ?