Facultatea de marketing şi afaceri economice internaŃionale ANUL I Semestrul I BAZELE INFORMATICII

Semestru I: Codul cursului MkMk 1109 Credite: 6 credite Semestru II: Codul cursului MkMk 1210 Credite: 4 credite Manuale recomandate: Vasilescu O. Bazele informaticii Ed. FundaŃiei România de mâine, în curs de apariŃie Mareş M.D. ş.a. Office XP, Ed. FundaŃiei România de mâine, 2004 Obiectivul cursului
Disciplina “Bazele informaticii” asigurǎ pregǎtirea studenŃilor în domeniul analizei, proiectǎrii, implementǎrii şi utilizǎrii produsului MS Office 2000 cu aplicabilitate în conducerea activitǎŃilor din domeniul marketing. . În semestrul întâi se prezintă arhitectura calculatoarelor personale, noŃiuni de bază

privind sistemele de operare şi limbajele de programare. La laborator se prezintă editorul de texte WORD. Problemele teoretice şi practice sunt prezentate echilibrat astfel încât dupǎ parcurgerea acestui semestru studenŃii sǎ poatǎ utilize editorul de texte WORD.

Modul de stabilire al notei finale La forma de învăŃământ ZI pentru proiect, activitate la laborator se acordă 1 punct în plus la examen ConsultaŃii pentru studenŃi: Conf.univ.dr.ing. Vasilescu Ofelia Miercurea orele 12-13.30 E_mail; ofeliavas@yahoo.com

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Titularii cursului: Conf.univ.dr.ing. Vasilescu Ofelia Anul I ZI Seria A Anul I FR Seria A Anul I FR Seria B Anul I FR Seria C Anul I FR Seria D

ConŃinutul tematic al cursului:
Semestrul 1 1. INTRODUCERE
1.1. 1.2. 1.3. 1.4. 1.5. EvoluŃia sistemelor de calcul Structura von Neumann a sistemelor de calcul secvenŃiale GeneraŃii de sisteme de calcul Verificare Teste

2.
2.1. 2.2. 2.2.2. 2.2.3. 2.2.4. 2.3. 2.4. 2.5. 2.5.1. 2.5.2. 2.5.3. 2.6. 2.7.

ARHITECTURA SISTEMELOR DE CALCUL
Structura calculatoarelor personale Unitatea centrală de prelucrare (UC) Microprocesorul Pentium Microprocesorul Merced (P7) Microprocesorul Pentium IV Memoria internă Memoria secundară Dispozitive periferice de intrare / ieşire Dispozitive periferice de intrare Dispozitive periferice de ieşire Dispozitive periferice mixte (de afişare) Verificare Teste

2.2.1. Microprocesorul (µP)

3. SISTEME DE OPERARE
3.1. DefiniŃia şi funcŃiile sistemelor de operare 3.2. EvoluŃia sistemelor de operare 3.3. Conceptele sistemului de operare 2

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

3.4. 3.5. 3.6. 3.7.

Clasificarea sistemelor de operare Sistemul de operare Windows Verificare Teste

4.

LIMBAJE DE PROGRAMARE

4.1. Scurtă prezentare a limbajelor de programare 4.2. Calsificarea limbajelor de programare de nivel înalt 4.3. Limbaje şi maşini virtuale 4.4. Calculatoarele actuale – calculatoare multinivel 4.5. Verificare 4.6. Teste

Semestrul 2 5. REłELE DE SISTEME DE CALCUL
5.1. ApariŃia reŃelelor de calculatoare 5.2. Definirea reŃelelor de calculatoare 5.3. Avantajele reŃelelor de calculatoare 5.4. Organizarea şi principiul de funcŃionare al reŃelelor de calculatoare 5.5. Nivelurile unei reŃele de calculatoare 5.6. Tipuri de reŃele de calculatoare 5.7. ReŃele locale LAN 5.8. Topologii de reŃele locale LAN 5.9. ReŃeaua WAN 5.10. Rememorare 5.11. Verificare 5.12. Teste 5.13. Răspunsurile testelor

6. INTERNET
6.1. Interconectarea la INTERNET 6.2. Servicii INTERNET 6.3. Serviciul de poştă electronică (E-mail) 6.3.1. Comunicarea prin poştă electronică 6.3.2. Ataşarea fişierelor la E-mail 6.4. Serviciul Wold Wide Web (WWW) 6.4.1. Prezentare Wold Wide Web

3

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

6.4.2. Proiectarea Wold Wide Web 6.5. Rememorare 6.6. Verificare 6.7. Teste 6.8. Răspunsurile testelor

7. Limbajul HTML
7.1. Istoric 7.2. Trăsăturile limbajului HTML 7.3. Marcajele HTML 7.4. Structura unui program 7.4.1. SecŃiunea de antet 7.4.2. Sectiunea BODY 7.4.2.1. Fontul unui text 7.4.2.2. Blocuri de text 7.4.3. Liste 7.4.4. ReferinŃe (link-uri) 7.4.4.1. ReferinŃe externe 7.4.4.2. Ancore 7.4.5. Înserarea imaginilor 7.4.6. Inserarea fişierelor audio 7.4.7. Cadre (frame) 7.5. Rememorare 7.6. Verificare 7.7. Teste 7.8. Răspunsurile testelor Bibliografie obligatorie: Vasilescu O. Bazele informaticii Ed. FundaŃiei România de mâine, în curs de apariŃie Mareş M.D. ş.a. Office XP, Ed. FundaŃiei România de mâine, 2004

4

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

1.

INTRODUCERE

1.1. EvoluŃia sistemelor de calcul
Sistemele de calcul au evoluat şi evoluează odată cu dezvoltarea tehnologiei de realizare a circuitelor electronice. Totuşi performanŃele unui sistem de calcul pot fi îmbunătăŃite, fără schimbarea tehnologiei, doar prin modificarea arhitecturii sistemului. Arhitectura defineşte modul de organizare, de interconectare a unităŃilor (blocurilor) constitutive ale sistemului, precum şi unităŃile însăşi. Ea reprezintă un concept diferit de cel al schemei bloc; schema bloc reprezintă un mod particular de realizare hardware, în timp ce arhitectura defineşte doar din punct de vedere funcŃional unităŃilşe componente ale sistemului. Un sistem de calcul (SC) este un sistem fizic care prelucrează automat informaŃia codificată sub formă de valori discrete, conform unui program ce indică o succesiune determinată de operaŃii aritmetice şi logice. Un sistem de calcul este un ansamblu alcătuit din două componente principale: componenta hardware (echipamentele fizice componente); componenta software (programele şi structurile de date). Un sistem de calcul modern este cu adevărat un ansamblu de procesoare, memorii, unităŃi funcŃionale, reŃele de interconectare, dispozitive periferice, canale de interconectare precum şi compilatoare, sisteme de operare, limbaje de programare, programe utilitare şi de aplicaŃie.

1.2. Structura von Neumann a sistemelor de calcul secvenŃiale
Structura de bază a calculatorului secvenŃial, cu program memorat, stabilită de John von Neumann în 1945, este reprezentată în figura 2.1 şi cuprinde cinci unităŃi funcŃionale: unitatea de intrare ( UI ); unitatea de memorare ( M ); unitatea de ieşire ( UE ); unitatea aritmetico-logică ( UAL ); unitatea de comandă ( UC ). Modelului lui John von Neumann de construcŃie a calculatoarelor s-a impus de la începuturile maşinilor de calcul electronic şi este până în prezent singurul model funcŃional. Acest model defineşte calculatorul ca pe un ansamblu format din două componente centrale: unitatea de comandă şi memoria internă. Unitatea de memorie reprezintă unitatea funcŃională a unui calculator în care se stochează informaŃia (date şi programe). Memoria unui calculator este formată din:

5

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

memoria internă (principală) păstrează programele şi datele ce se utilizează la un moment dat şi este realizată cu circuite electronice de memorie; memoria externă (secundară) păstrează toate celelalte programe şi date ce trebuie să se afle la dispoziŃia sistemului de calcul, iar implementarea memoriei externe se face prin echipamente fizice (periferice) de memorie, cum ar fi de exemplu banda magnetică, discuri magnetice de diferite tipuri, unităŃi de casetă magnetică.

M

UI

UAL

UE

UC
Flux de date şi instrucŃiuni Fluxul de comenzi şi stări

Figura 2.1. Structura von Neumann Unitatea de comandă (UC) este cea responsabilă cu administrarea şi prelucrarea informaŃiilor în timp ce memoria internă serveşte la depozitarea acestora. Unitatea aritmetico-logică (UAL) realizează prelucrarea informaŃiei preluate din memorie, iar rezultatele se depun din nou în memorie sau sunt furnizate în exterior. UAL realizează două categorii de operaŃii: aritmetice (adunare, scădere, înmulŃire, împărŃire); logice ( ŞI logic, SAU logic, SAU-EXCLUSIV, NEGAłIE ). Acest ansamblu unitate de comandă plus memorie internă comunică cu exteriorul prin intermediul unităŃilor de intrare şi de ieşire. Unitatea de intrare permite introducerea informaŃiei în calculator. Acestea sunt furnizate de dispozitivul periferic de intrare şi transferate spre unitatea comandă, prin intermediul tastaturi, cititor de cartele. UI realizează totodată conversia reprezentării informaŃiei din forma externă accesibilă omului (numere, texte, imagini) în format intern binar. Formatul intern este rezultatul utilizării în construcŃia calculatoarelor a circuitelor

6

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

electronice care prezintă la ieşire numai două stări stabile (niveluri de tensiune). ConvenŃional cele două stări se reprezintă prin cifrele binare (biŃi) “0” şi “1”. Ca exemplu de unităŃi de intrare se pot enumera: tastatura, cititor de cartele, cititor de bandă de hârtie, cititor optic de caractere, etc. Unitatea de ieşire realizează trimiterea, în exteriorul sistemului de calcul, a rezultatelor prelucrărilor efectuate de unitatea de comandă. În cazul în care rezultatele sunt destinate: utilizatorului uman, unitatea de ieşire execută conversia din format intern (binar) în format direct accesibil omului (cifre, texte, grafice, imagini); acŃionării unor echipamente, unitatea de ieşire, prin intermediul unor circuite speciale numite convertoare numeric-analogice generează semnale necesare acŃionării de echipamente.

1.3. GeneraŃii de sisteme de calcul
În timpul dezvoltării sistemelor de calcul s-au remarcat câteva caracteristici care au determinat clasificarea acestora în câteva grupuri numite generaŃii, în perioade de timp care nu sunt strict delimitate şi se suprapun. Clasificarea sistemelor de calcul în generaŃii este determinată de tehnologia folosită, arhitectura sistemului, modul de prelucrare a datelor şi limbajele utilizate. Aceste generaŃii de calculatoare sunt următorele: GeneraŃia I - tuburile cu vid (1945-1955) se caracterizează prin: • calculatoare cu relee electromagnetice şi tuburi electronice interconectate cu fişe, tuburi ce implicau un consum mare de putere; • cablaj prin fire; • structura de tip serie; • set de 10-20 de instrucŃiuni simple; • periferie redusă (lector/perforator de bandă); • o singură memorie lentă şi de capacitate mică (tambur magnetic pentru 10004000 cuvinte); • viteza de calcul mică (sute-mii de operaŃii pe secundă) iar raportul între timpul pentru o înmulŃire şi timpul pentru o adunare era tînmulŃire/tadunare =20/1 • prelucrarea datelor pe biŃi (bit cu bit), utilizarea limbajelor binare de programe programele fiind scrise direct în cod maşină. GeneraŃia II - tranzistoarele (1955-1965), fiind determinată de o tehnologie şi o structură organizatorică nouă, ceea ce a condus la mărirea performanŃelor. Principalele caracteristici sunt:

7

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

calculatoare cu diode şi tranzistoare cu Si şi Ge interconectate prin cablaj imprimat; prin înlocuirea tuburilor electronice cu dispozitive semiconductoare (diode şi tranzistori) calculatoarele au dimensiuni mult mai mici, puterea disipată este mai mică, siguranŃa în funcŃionare este mai mare şi astfel se elimină fenomenele de radiaŃie şi cuplajele parazite; construirea memoriilor cu ferite (în anul 1959); acestea ofereau un timp de acces de 2-12µs (de 1000 de ori mai repede decât tamburul magnetic); raportul tînmulŃire/tadunare =10/1; tipizarea circuitelor, ceea ce a uşurat activitatea de organizare şi întreŃinere; echipamente periferice simple: tambur magnetic, banda magnetică, disc magnetic, dispozitive de imprimare, echipamente de trasare şi echipamente de afişare pe tub catodic; prelucrarea datelor pe loturi (“batch”) şi utilizarea limbajelor de programare mai evaluate cum era FORTRAN şi COBOL, GeneraŃia III - circuitele integrate (1965-1980) avea următoarele caracteristici: utilizarea circuitelor integrate pe scară simplă (până la 10 tranzistoare pe cip) SSI şi MSI conectate pe circuite imprimate pe mai multe niveluri (straturi); utilizarea memoriilor semiconductoare, cu timp de acces pentru memoria internă de 0.5-1.75µs; creşte viteza de calcul, astfel tînmulŃire/tadunare =2.5; memorii externe de mare capacitate, reprezentate prin discuri de masă (capacităŃi mai mari de 1Moctet); dezvoltarea perifericelor a avut două tendinŃe, prima a fost de a perfecŃiona perifericele existente şi a doua de a realiza echipamente noi, în special pentru prelucrarea de date din documente primare (la început pentru operaŃii bancare); spre sfârşitul acestei perioadfe s-a remarcat aşa numita generaŃie 3.5 care utiliza circuite integrate pe scară largă ( MSI ), memorii cu circuite integrate, microprocesoare pe 8-16 biŃi, microprogramare. Apar astfel minicalculatoarele; utilizarea limbajelor de programare evaluate, utilizarea multiprocesării (separarea programelor în task-uri şi operaŃii de I/O), apariŃia sistemelor de operare şi a memoriilor virtuale. GeneraŃia IV - circuite VLSI (1980-1990) a cărei principale caracteristici sunt: utilizarea circuitelor integrate pe scară largă LSI (“Large Scale Integration”) şi a circuitelor integrate pe scară foarte largă VLSI (“Very Large Scale Integration”), în care un cip conŃine mii de tranzistori pe un cm3 de siliciu, cu timpi de comutare de 1-5 ns şi timpi de acces de 10ns; a început era calculatoarelor personale; noi tipuri de memorii MOS, bule magnetice, holografice; 8

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

dezvoltarea de noi echipamente periferice legate de sesizarea primară a datelor; utilizarea microfilmelor pentru înregistrarea afişajelor de pe tuburile electronice; dacă minicalculatoarele făceau posibilă existenŃa unui calculator în fiecare departament al unei companii, microcalculatoarele au făcut posibil ca fiecare individ să aibă propriul lui calculator; cele mai puternice calculatoare personale utilizate în afaceri, universităŃi sau instituŃii guvernamentale sunt uzual numite workstation; de obicei ele sunt interconectate în reŃele pe zone geografice întinse; are loc o întrepătrundere între industria de calculatoare şi cea de telecomunicaŃii; apariŃia calculatoarelor “pipe-line” şi a sistemelor multiprocessor, apariŃia supercalculatoarelor; utilizarea limbajelor de programare de nivel înalt orientate pe prelucrarea vectorilor de date; apariŃia conceptelor de multimedia şi de programare orientată pe obiecte. S-a constatat că sistemele de calcul cu organizare convenŃională prezintă performanŃe modeste faŃă de cerinŃele impuse de prelucrarea datelor nenumerice (propoziŃii, simboluri, vorbire, informaŃie grafică, imagini). De asemenea componentele au atins viteza limită de funcŃionare. Au apărut o serie de dificultăŃi în elaborarea software-ului de sistem şi a celui de aplicaŃie în diferite domenii. A apărut astfel necesitatea realizării unei noi generaŃii de calculatoare. GeneraŃia V - prelucrare masivă paralelă (după 1990) are următoarele caracteristici: grad mare de modularizare şi densitate ridicată de integrare şi “împachetare”; utilizarea circuitelor realizate în tehnologie ULSI şi 3D; evoluŃia procesoarelor ia un avânt puternic, frecvenŃa de lucru creşte de la 100MHz la peste 3 GHz, arhitectura microprocesorului este îmbunătăŃită prin specializare, memorie cache, paralelism (“pipe-line”), optimizarea algoritmilor; prelucrare masivă paralelă; sisteme multiprocessor, apariŃia microprocesoarelor specializate (de exemplu prelucrarea digitală a semnalelor); apariŃia şi dezvoltarea serviciului www (Wold Wide Web) iniŃiat de Laboratorul CERN din Geneva în colaborare cu mai multe universităŃi americane; interactivitatea serviciului www este asigurată prin introducerea tehnologiei Java. arhitectura de bază a acestor calculatoare cuprinde trei componente:

9

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

1. interfaŃa inteligentă permite dialogul pe bază de limbaj natural, voce, imagini, informaŃie grafică; 2. componenta pentru rezolvarea de probleme(inferenŃă) realizează raŃionamente logice cu ajutorul cărora descoperă cunoştinŃele utile noi şi relevante, construind astfel o secvenŃă a raŃionamentului ce conduce la soluŃia problemei; 3. baza de cunoştinŃe cu un volum imens în care căutarea se va face extrem de rapid. Actual se lucrează la punerea la punct a unor calculatoare ultrarapide, maşini pentru traducere automată, dispozitive perfecŃionate pentru extragerea şi memorarea imaginilor. Calculatoarele vor fi conectate la reŃele locale, conectate la rândul lor în reŃele globale, formând un adevărat sistem informaŃional cu aspectul unei reŃele telefonice.

1.4. Verificare
1. 2. 3. 4. 5. 6. IndicaŃi prin ce metodă se pot mării performanŃele unui SC, fără a se modifica tehnologia. Care sunt cuvintele cheie din cadrul definiŃiei unui SC ? EnumeraŃi în ordine cronologică primele instrumente şi maşini de calcul. IndicaŃi unităŃile funcŃionale din cadrul structurii de bază a calculatoarelor secvenŃiale, stabilită de John von Neumann. EnumeraŃi circuitele pe baza cărora au fost construite calculatoarele din cadrul fiecărei generaŃii. EnumeraŃi caracteristicile generaŃiei III şi a generaŃieIV de calculatoare.

1.5. Teste
1. IndicaŃi care dintre conceptele următoare defineste modul de organizare şi de interconectare a unităŃilor (blocurilor) constitutive ale sistemului: a) schema bloc; b) arhitectura; c) unităŃi funcŃionale; d) componenta hardware e) componenta software. Răspuns corect : b. Arhitectura defineşte modul de organizare, de interconectare a unităŃilor (blocurilor) constitutive ale sistemului, precum şi unităŃile însăşi.

10

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

2. Care dintre afirmaŃiile următoare, referitoare la un sistem de calcul, este incorectă: a) sistem fizic care prelucrează automat informaŃia; b) informaŃia într-un sistem de calcul este codificată sub formă de valori discrete, conform unui program; c) sistem fizic care prelucrează informaŃia atât manual cât şi automat; d) programul indică o succesiune determinată de operaŃii aritmetice şi logice. Răspuns corect : c. Un sistem de calcul este un sistem fizic care prelucrează automat informaŃia codificată sub formă de valori discrete, conform unui program ce indică o succesiune determinată de operaŃii aritmetice şi logice. Prin urmare varianta incorectă este c) întrucât prelucrarea nu se face manuală şi automat, ci doar automat. 3. Structura John von Neumann a unui calculator secvenŃial conŃine cinci unităŃi funcŃionale. IndicaŃi care dintre unităŃile de mai jos nu există în structura stabilită de John von Neumann. a) unitatea de intrare; b) unitatea de memorare; c) unitatea de ieşire; d) unitatea aritmetico-logică; e) unitatea de comandă şi control; f) unitatea de comandă. .Răspuns corect : e. Structura de bază a calculatorului secvenŃial, cu program memorat, stabilită de John von Neumann în 1945, conŃine cinci unităŃi funcŃionale: unitatea de intrare, unitatea de memorare, unitatea de ieşire, unitatea aritmetico-logică şi unitatea de comandă. Prin urmare varianta incorectă este d, deoarece pe atunci nu era unitate de comandă şi control. 4. IndicaŃi în ce generaŃie calculatoarle sunt realizate cu diode şi tranzistoare cu Si şi Ge interconectate prin cablaj imprimat. a) generaŃia 1; b) generaŃia 2; c) generaŃia 3; d) generaŃia 4; Răspuns corect : b.

11

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

2.

ARHITECTURA SISTEMELOR DE CALCUL

2.1. Structura calculatoarelor personale
Componenta centrală a unui calculator personal (PC), numită şi creierul acestuia, este microprocesorul(µP). Microprocesorul a fost inventat în anul 1971 de către ing. M.F. HOFF de la firma INTEL şi a produs o adevarată revoluŃie în domeniul calculatoarelor şi al informaticii, având un impact deosebit în toate domeniile ştiinŃifice, economice şi sociale. Microprocesorul (µP) împreună cu memoria (M) formează unitatea centrală de prelucrare (UC) (Central Processing Unit) care din punct de vedere hardware, constituie componenta centrală a unui calculator personal, după cum se poate vedea în figura 2.1.

Memoria secundară(externă)

Dispozitive de intrare

Memoria internă

Dispozitive de ieşire

UC µP
Unitate aritmetico logică Unitate de comandă şi control

Figura 2.1. Structura unui calculator personal

12

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

Pentru realizarea serviciilor sale un PC este înzestrat cu dispozitive de intrare/ieşire(I/O), unele fiind doar de intrare, altele fiind doar de ieşire, iar altele mixte fiind şi de intrare şi de ieşire. Dispozitivele mixte cu funcŃii şi de intrare şi de ieşire sunt: unitatea de hard disk (HD) - dispozitiv de memorare cu acces rapid la informaŃii, încorporat în PC, şi care conŃine programele sistemului de operare (SO) şi programe specializate (PS) în concordanŃă cu preferinŃele utilizatorului; unitatea de floppy disk (FD) - dispozitiv de memorare cu acces lent la informaŃii şi care permite utilizarea unei dischete (de regulă, de dimensiune 3,5 inch) ce conŃine un disc flexibil de memorare care poate să stocheze şi să păstreze pe timp nelimitat informaŃii sub formă de programe şi date; CD-RW - dispozitiv de memorare de mare capacitate cu acces rapid la informaŃii şi care stochează, în vederea scrierii şi citirii, programe şi fişiere de volum foarte mare. monitorul - dispozitiv de afişare (display) ; afişarea poate fi alfanumerică şi grafică alb/negru şi color ; monitorul este o interfaŃă grafică în dialogul omcalculator. Dispozitivele de intrare (de citire) (I) ce pot există în configuraŃia unui PC sunt: tastatura (keyboard) - dispozitiv cu taste numerice şi alfanumerice pentru introducerea de comenzi şi date ce vor fi prelucrate de programele SO şi PS; CD-ROM - dispozitiv de memorare de mare capacitate cu acces rapid la informaŃii şi care stochează -în vederea citirii- programe şi fişiere de volum foarte mare; mouse - dispozitiv mobil care prin intermediul unui cursor grafic reprezentat pe monitor poate să indice selectarea unor simboluri grafice sau butoane logice ce vor avea ca efect executatea unor operaŃii specifice programelor SO şi PS; scanner - dispozitiv pentru preluarea (memorarea) de imagini de pe suport hârtie, memorarea realizându-se în fişiere sub formă de hărŃi (bitmap) de puncte (pixeli); digitizor - dispozitiv pentru preluarea (memorarea) de coordonate ale unor puncte ce reprezintă hărŃi, scheme, planuri, etc. în vederea prelucrării lor de către diverse programe care să genereze imagini ce urmează apoi a fi procesate; camera TV - dispozitiv pentru preluarea pe suport film a unor imagini reale şi care urmează a fi prelucrate.

13

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Dispozitivele de ieşire (de scriere)(O) ce pot exista în configuraŃia unui PC sunt: imprimanta grafică - dispozitiv ce utilizează suport hârtie sau folie de plastic pentru realizarea de reprezentări grafice; plotter - dispozitiv tip masă de desen sau planşetă pentru realizarea de desene; film - dispozitiv pentru preluarea de imagini din memoria unui calculator; boxe audio - dispozitive pentru redarea sunetelor (dispozitive multimedia).

2.2. Unitatea centrală de prelucrare (UC)
FuncŃii : - operaŃii de de prelucrare a informaŃiilor şi controlul comunicaŃiilor; - operaŃii de citire/scriere de informaŃii din/în memoria principală; - operaŃii de coordonare şi control pentru dispozitivele I/O. Componente: componenta de memorare (memoria internă- M); realizează memorarea datelor (D), instrucŃiunilor ( programelor- P), rezultatelor intermediare (de lucru-L), rezultatelor finale (R); componenta de execuŃie (unitatea aritmetico-logică - Ual); realizează calcule aritmetice şi logice cunoscute din matematică; componenta de comandă - control (Ucc) ; realizează prelucrarea ordonată a instrucŃiunilor programelor şi coordonează funcŃionarea celorlalte componente, inclusiv a dispozitivelor I/O. PerformanŃă: Orice sistem de calcul are puterea de procesare funcŃie de memoria internă şi de microprocesorul (µP) cu care este înzestrat, acesta fiind constituit din unitatea de comandă-control (Ucc) şi unitatea de execuŃie(Ual).

2.2.1. Microprocesorul (µP)
Componenta centrală din cadrul unui calculator personal, actual, este microprocesorul (µP), denumit şi “creierul calculatorului”. El a fost inventat de ing. M.F. Hoff de la firma INTEL şi este cel care realizează operaŃiile de prelucrare şi de calcul. Microprocesorul este văzut ca”un calculator în miniatură” format din: 1. UCC - unitate de comandă şi control ce urmăreşte ordinea de execuŃie a instrucŃiunilor unui program şi controlează întreaga activitate a unităŃii centrale 2. UAL - unitate de execuŃie a operaŃiilor aritmetico-logice.

14

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

3. MµP - memorie proprie formată din 14 registre interne utilizate de primele două componente (UCC şi UAL ) cu următoarea structură: 2 pentru comandă şi control; 4 pentru date; 8 pentru adrese. Un registru este un element esenŃial în procesul de prelucrare a informaŃiilor provenite din activitatea de execuŃie a programelor aflate în memoria internă a calculatorului. Acesta reprezintă o unitate de adresare a memoriei interne în cadrul procesului de adresare a conŃinutului memoriei interne, proces prin intermediul căruia are loc accesarea informaŃiilor stocate în memorie. Unitatea de adresare se numeşte cuvânt de memorie. Registrele interne pot fi : de uz general pentru a stoca valorile intermediare ale calculelor ; cu destinaŃie specifică – contorul de program ce indică adresa noii instrucŃiuni care urmează a fi executată precum şi adresa instrucŃiunii curente care se execută. Rolul µP este de a executa programele stocate în memoria principală (internă), execuŃie realizată în trei etape: 1. extragerea instrucŃiunilor; 2. decodificarea instrucŃiunilor; 3. executarea propriu-zisă. Timpul necesar executării unei instrucŃiuni se numeşte ciclu instrucŃiune. ExecuŃia unei instrucŃiuni se realizează pe parcursul a opt etape : 1. încărcarea instrucŃiunilor din memorie în registrul de instrucŃiuni ; 2. actualizarea contorului de program pentru a indica următoarea instrucŃiune care urmează a fi executată ; 3. decodificarea instrucŃiunii din registru de instrucŃiuni ; 4. localizarea în memorie a eventualelor date utilizate de instrucŃiune ; 5. încărcarea datelor, în cazul în care este necesar, în registrele interne ale µP; 6. execuŃia efectivă a instrucŃiunilor ; 7. stocarea rezultatelor la destinaŃia corespunzătoare din memorie ; 8. întoarcerea la etapa 1 pentru executarea altei instrucŃiuni. Din punct de vedere al comunicaŃiilor informaŃiilor în funcŃionarea unui sistem de calcul, figura 2.2, se disting 3 tipuri de informaŃii (magistrale-trasee de cupru ce generează informaŃii binare şi prin care se realizează comunicarea µP cu celelalte componente ale SC): informaŃii ce reprezintă valori (date; pe 16 biŃi);

15

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

informaŃii ce reprezintă adrese (coduri; pe 20 biŃi); informaŃii ce reprezintă control (comenzi).

µP

UCC UAL Registre Memorie internă Hard disk Imprimantă

Magistrala sistemului de calcul
Magistrala de date (16 biŃi)

Magistrala de adrese (20 biŃi)

Magistrala de control

Figura 2.2. Comunicarea informaŃiilor în sistemul de calcul Microprocesorul îşi exercită funcŃiile, şi anume prelucrează programele aflate în memoria internă, prin utilizarea, coordonarea şi controlul: memoriei interne; dispozitivelor rapide (HD, FD, CD); dispozitivelor auxiliare ( diverse dispozitive I/O). PerformanŃele microprocesorului sunt funcŃie de: • organizarea şi reprezentarea informaŃiilor; • organizarea şi capacitatea memoriei interne; • tehnica de adresare a memoriei interne; • metodele de execuŃie a operaŃiilor în procesarea informaŃiilor; • viteza de lucru (frecvenŃa de lucru) în execuŃia operaŃiilor.

16

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

Formal, memoria internă este considerată o structură liniară (mi)i.>0, mi fiind 0 sau 1 cu semnificaŃia “stins”, respectiv “aprins” şi reprezintă o poziŃie binară, numită bit (binary digit). Prin urmare, o succesiune de biŃi poate fi utilizată pentru stocarea de informaŃii convertite în poziŃii binare. Unitatea de masură pentru memorie este byte-ul (octet-ul) şi reprezintă o succesiune de 8 poziŃii binare, de exemplu 0 1 0 1 0 1 1 1 . 1b = 8 biŃi sau 1o = 8 biŃi. Multiplii byte-ului sunt: 1 Kb = 1024 b = 210 b ; 1 Mb = 1024 Kb =220 b ; 1 Gb = 1024 Mb = 230 b. Sistemele de numeraŃie folosite pentru a reprezenta informaŃiile într-un sistem de calcul sunt trei şi anume : sistemul binar al cărui alfabet este format doar din două numere 0 şi 1, este utilizat pentru a reprezenta informaŃiile în calculator. Aceste numere poartă numele de cifre binare iar poziŃia pe care o ocupă în cadrul şirului binar se numeşte poziŃie binară. sistemul octal al cărui alfabet este format din opt cifre 0, 1,2,3,4,5,6, şi 7. sistemul hexazecimal al cărui alfabet este format din şaisprezece cifre şi litere 0, 1,2,3,4,5,6,7,8,9,A,B,C,D şi F. Literele sunt folosite pentru a reprezenta cifra printr-un singur simbol, astfel în loc de 10 vom avea A, în loc de 11 vom avea B, în loc de 15 vom avea F. Tabloul de adevăr pentru aceste sisteme este prezentat în continuare :
Corespondent sistem zecimal 0 1 2 3 Tabloul de adevăr 0 0 1 1 0 1 0 1

Sistemul binar

17

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Sistemul octal

Corespondent sistem zecimal 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1

Tabloul de adevăr 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1

Sistemul hexazecimal

Corespondent sistem zecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Tabloul de adevăr 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

18

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

Din punct de vedere logic, memoria internă a unui calculator este organizată în blocuri de memorie, 1 bloc = 64 Kb, aceste blocuri având destinaŃii precise în stocarea informaŃiilor pentru buna funcŃionare a calculatorului sub un sistem de operare adecvat. Un rol important în utilizarea memoriei interne şi în procesul de prelucrare a informaŃiilor are conceptul de cuvânt de memorie (word), acesta fiind de fapt o unitate de masură (unitate de adresare) a memoriei interne având o anumită organizare logică, de exemplu în blocuri. În evoluŃia sistemelor de calcul, capacitatea cuvântului de memorie a fost variabilă şi a determinat o creştere a performanŃelor acestora, în acest sens este cunoscută clasificarea microprocesoarelor în generaŃii funcŃie de capacitatea cuvântului de memorie utilizat: • 1 cuv. = 8 biŃi = 1 b; • 1 cuv. = 4 biŃi; • 1 cuv. = 16 biŃi = 2 b; • 1 cuv. = 32 biŃi = 4 b. În acest sens, până în prezent sunt cunoscute următoarele generaŃii de microprocesoare: • generaŃia 1 - µP tip 4004, 8008, 1w = 4 biŃi (dupa anul 1971); • generaŃia 2 - µP tip XT 8080, 1w = 8 biti (dupa anul 1974); • generaŃia 3 - µP tip AT 8088, 8086, 80186,80286, 1w = 16 biŃi (dupa anul 1978; in 1981 apare PC ; in 1982 apar 80186, 80286); • gen. 4 - µP tip AT 80386, 1w = 32 biŃi ( anul 1985 ); • gen. 4,5 - µP tip 80486, 80586(Pentium), 80860, RISC-I860, etc., 1w = 32 biŃi (după anul 1989; 80486 înglobează şi coprocesorul matematic 80387; iar în 1993 apare 80586 ). Caracteristicile microprocesoarelor din fiecare generaŃie sunt prezentate în tabelul din figura 2.3. PerformanŃa microprocesorului este dată şi de viteza de lucru (frecvenŃa de lucruimpulsuri la intervale foarte mici de timp), masurată în MHz şi care determină realizarea unei viteze de execuŃie de câteva milioane de instructiuni/secundă. Dacă primele microprocesoare aveau frecvenŃa de lucru de 4MHz (µP 8088), 8MHz (µP 80186), 16MHZ (µP 80286), 30 MHz (µP 80386) , astăzi microprocesoarele actuale lucrează cu o frecvenŃă de ordinul 400/500 MHz sau 700/900 MHz, aceasta datorându-se faptului că modernizarea lor este tot timpul în atenŃia proiectanŃilor şi fabricanŃilor de microprocesoare, dar şi pentru că acestea încorporează aşa-numitul coprocesor matematic ce măreşte viteza de lucru la execuŃia operaŃiilor aritmetice cu numere reale. PerformanŃa microprocesorului este determinată şi de spaŃiul de memorie internă pe care il poate adresa. Dacă primele microprocesoare erau construite să adreseze un spaŃiu de memorie de 256Kb, 640Kb, sau 1Mb, astăzi există microprocesoare ce sunt proiectate sa adreseze un spaŃiu de memorie de 32Mb, 64Mb.

19

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Gen
1

Tipul µP
4004, 8008 XT 8080 AT 8088, 8086 AT 80186 AT 80286 AT 80386 AT 80486

Coprocesor matematic

Anul apariŃiei
1971 1976 1978-81 1982 1984 1987-88 1990-92 1995

Lungimea cuvântului
4 biŃi 8 biŃi 16 biŃi 16 biŃi 32 biŃi 32 biŃi 32 biŃi

FrecvenŃa de lucru

Nr. tranzistoare

2 3 4 5

Pentium
AMD K5

80287 80387 SX fără DX inclus inclus

4 MHz 8 MHz 16 MHz 30 MHz 50-66 MHz 66-100 MHz 75-133 MHz 150-200 MHz 233,266,300 MHz 500 MHz 266-300,400 MHz 1 GHz 1 GHz 2,53 3,06 3,4 GHz 2,13GHz

29 000 134 000 275 000 1 200 000 3 100 000

6

Pentium Pro Pentium II Pentium II Pro
AMD K6-3 inclus

1996 1997 1998 1998 1999 2000 2000 2002 32 biŃi

5 500 000 7 500 000 9 300 000 8 800 000 20 000 000 22 000 000 25 000 000 27 000 000

7

Merced AMD K7

Pentium IV
Athlon 2400 + Athlon 2600+

inclus

64 biŃi

Figura 2.3. Caracteristicile microprocesoarelor Concluzie. PerformanŃa microprocesoarelor este determinată de: viteza de lucru (frecvenŃa de lucru) care este determinată la rândul ei de: lungimea cuvântului de memorie - reprezintă numarul de biŃi ce poate fi prelucrat la un moment dat; viteza ceasului - reprezintă numarul de impulsuri elecronice produse de ceasul intern într-o secundă şi se masoară în MHz. spaŃiul de memorie internă adresabil determinat de lungimea cuvântului de memorie.

20

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

2.2.2. Microprocesorul Pentium
Unitatea de virguleă mobilă, organizată sub forma unei conducte („pipe line”), execută hardware operaŃiile de adunare, înmulŃire şi împărŃire. Pentium execută operaŃiile cu numere reale de două ori mai rapid decât procesorul I80486 cu toate că nu are viteza unui coprocesor matematic. Coprocesorul matematic este tot un sistem „pipe line”, deosebit de puternic, legat cu procesorul printr-o magistrală de 64 de biŃi. Memoria cache (nivelul 1) este de 16KB, adică de două ori mai mare decât a procesorului I80486 şi este divizată în două module: 8 KB pentru instrucŃiuni (“Write Back”) folosită pentru memorarea codului programului (instrucŃiunilor) şi a comenzilor; această memorie se mai numeşte şi cache de cod (“code cache”); 8 KB pentru date (“Write Through”) utilizată pentru memorarea datelor, numită şi cache de date (“data code”). Memoria cache secundară (nivelul 2) este instalată opŃional, este tot de 16KB dar formată din cip-uri SRAM („Static Random Access Memory”). Circuitele de interfaŃă sunt integrate în procesor şi au rolul să descompună programul care urmează să se execute în cuvinte de cod pe care le depune în memoria cache pentru instrucŃiuni şi cuvinte de date puse în memoria cache pentru date. Prin existenŃa celor două module de memorie este posibil ca introducerea datelor prin intermediul interfeŃei magistralei să se facă simultan cu citirile efectuate de unitatea de execuŃie. Aceste două module de memorii cache diferă doar prin modul de rescriere a informaŃiilor. InstrucŃiunile din memoria chache pentru cod nu pot fi modificate (resrise) direct ci doar printr-un acces suplimentar la memoria DRAM („Dinamic Random Access Memory”). În schimb datele din memoria cache pentru date pot fi modificate direct. Magistrala de adrese are 32 de biŃi ceea ce înseamnă că oferă un spaŃiu de memorie adresabilă de 2 32 octeŃi, adică 4GB. Magistrala de date (externă) este de 64 de biŃi şi este posibil un transfer dublu de date faŃă de magistrala de adrese. Bufferul de decodificare anticipată a instrucŃiunilor are rolul de a testa codul pentru a sesiza din timp eventualele instrucŃiuni de salt înainte ca acestea să fie transferate pe magistrală. Decodificarea instrucŃiunilor se realizează anticipat urmând ca după aceea să fie transmise unităŃii de execuŃie.

21

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Transmiterea are loc pe o magistrală de 256 de biŃi. Dimensiunea mare a magistralei face posibil aducerea secvenŃelor de instrucŃiuni cu o viteză mai mare chiar decât a capacităŃii de procesare. Unitatea de anticipare a salturilor este o unitate logică de predicŃie BTB (“Branch Target Buffer”) care accelerează operaŃiile de citire a instrucŃiunilor. Aceasta încearcă să încarce anticipat într-un buffer instrucŃiunea de la adresa la care se face saltul până la execuŃia efectivă. Etapele de execuŃie simultană a două instrucŃiuni se desfăşoară pe parcursul a cinci etape: 1. încărcarea instrucŃiuni din memoria cache pentru cod în buffer-ul de decodificare anticipată; 2. decodificarea unei instrucŃiuni şi calculul adresei; 3. decodificarea următoareai instrucŃiuni şi calculul adresei; 4. executarea instrucŃiunilor; 5. depunerea rezultatelor execuŃiei instrucŃiunilor în memoria pentru date. Pe parcursul execuŃiei acestor faze pot apare stări conflictuale pe “pipe line” ca: blocarea pe magistrală a unei instrucŃiuni până la terminarea execuŃiei instrucŃiunii anterioare; aceasta înseamnă că execuŃia unei instrucŃiuni depinde de terminarea execuŃiei a celei precedente; execuŃia unei instrucŃiuni de salt la o instrucŃiune care nu se găseşte încărcată pe magistrală ceea ce provoacă blocarea magistralei până la încărcarea acesteia. Caracteristica principala prin care se diferenŃiază microprocesorul Pentium de cele I80486 anterioare este dată de modificarea structurii acestuia prin apariŃia a două unităŃi aritmetico-logice UAL1 şi UAL2. DiferenŃa fundamentală este deci dată de cele două canale de procesare “pipe line” notate U şi V care sunt specializate astfel: canalul U este folosit pentru procesarea instrucŃiunilor care folosesc numere întregi şi în virgulă mobilă; canalul V este folosit pentru procesarea instrucŃiunilor care folosesc numere întregi şi a unui număr foarte mic de instrucŃiuni speciale care folosesc numere în virgulă mobilă. Datorită acestui paralelism oferit de cele două UAL existente pe cip pot fi executate şi două instrucŃiuni într-un singur ciclu de ceas ceea ce face ca structura microprocesorului Pentium să fie denumită structură superscalară. Memoria cache este şi ea mai rapidă şi mai eficientă datorită divizării ei în două module care lucrează simultan, când unul este scris, celălalt este citit.

22

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

2.2.3. Microprocesorul Merced (P7)
Acest microprocessor apărut în 1999 are la rândul lui o structură diferită faŃă de microprocesoarele anterioare (de la 8086 la Pentium II). Dintre caracteristicile acestuia amintim: aduce un spor de viteză considerabil prin mărirea vitezei de tact care ajunge la 1GHz; extinderea arhitecturii de 32 de biŃi la 64 de biŃi; organizarea fluxului de informaŃi, mult mai performant, se face diferit procesorul fiind “frânat” când alege calea greşită; un element esenŃial al arhitecturii este utilizarea tehnologiei EPIC (Explicitly Parallel Instruction Computing”); numărul unităŃilor pentru numere întregi şi virgulă mobilă a fost mărit fiind disponibil în acest sens 128 de registre; codul sursă nu mai este procesat pas cu pas, compilatorul citeşte iniŃial întreg codul, după care îl divizează în mai multe ramuri de execuŃie care pot fi executate simultan în unităŃile sale funcŃionale sarcina optimizării şirului de instrucŃiuni revine de data aceasta compilatorului şi nu mai este făcută în timpul execuŃiei ca la microprocesoarele din generaŃia a şasea, P6.

2.2.4. Microprocesorul Pentium IV
Procesorul Intel Pentruim IV disponibil de la 2,53GHz este următorul pas în evoluŃia tehnologică a procesoarelor. Prin depăşirea pragului de 3GHz ajungând la 3,4GHz se trece la un nou palier al performanŃei. Acest procesor se bazează pe tehnologia numită “Hyper-Threading”, care permite rularea mai multor aplicaŃii în acelaşi timp şi mult mai eficient ca înainte. Procesorul Intel Pentruim IV este conceput să ofere performanŃe serioase pentru muzica digitală, jocurile 3D, imaginile digitale şi video. El oferă posibilitatea de a încorpora DVD şi MPEG-4 video.

2.3.

Memoria internă

Memoria reprezintă componenta sistemului de calcul în care se stochează programele (instrucŃiunile) şi datele. Microprocesorul are capacitatea de a memora datele care

23

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

urmează a fi prelucrate şi rezultatele intermediare. Rolul său este de a memora şi de a transmite informaŃiile. El ia instrucŃiunile şi datele din memorie şi tot aici pune rezultatele prelucrărilor sale întrucât capacitatea sa de memorare este mică şi nu poate stoca programele. Memoria unui sistem de calcul poate fi împărŃită în două categorii: memoria principală sau internă formată din cip-uri de memorie RAM (Random Access Memory) şi ROM (Read Only Memory); memoriile secundare sau externe formate din discuri magnetice sau optice şi benzi magnetice. Memoria principală sau internă a unui calculator este organizată ca în figura 2.4. Din punct de vedere funcŃional memoria ROM diferă de cea RAM prin faptul că este mai lentă iar conŃinutul ei rămâne neschimbat spre deosebire cea RAM îşi poate schimba conŃinutul. Până la 16MB pt. 286 şi 4GB pt. 386, 486 1024KB 960KB 832KB 786KB 640KB 0KB

Memorii extinse ROM-BIOS Rezervat Memorie expandată Memorie video Memorie convenŃională

Figura 2.4. Organizarea memoriei interne Memoria convenŃională conŃine o parte de memorie RAM şi una de ROM cu următoarea organizare structurală: la adresele joase avem: baza de date ROM-BIOS; zona de comunicaŃii DOS; nucleul DOS; driver-ele interne; intrări definite de config.sys; partea rezidentă command.com; partea principală de memorie RAM ce reprezintă memoria disponibilă pentru utilizator;

24

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

partea tranzitivă din command.com , dacă este necesar, se încarcă de pe disc. Intrucât vitezele la care lucrează microprocesorul sunt extrem de mari în comparaŃie cu vitezele de stocare a informaŃiilor cerute de microprocesor, în system s-a introdus o componentă foarte rapidă în livrarea informaŃiilor, numită memorie de lucru RAM. Memoria ROM fiind o memorie permanentă ea conŃine următorele componente software: sistemul de program starter sau ROM-ul de start prin care se asistă şi se controlează pornirea calculatorului; acesta conŃine mici rutine care realizează următoarele acŃiuni: execută testele de funcŃionalitate ale tuturor componentelor ataşate hardware; iniŃializează toate componentelor ataşate calculatorului; iniŃializează tabela vectorilor de întrerupere; verifică alte extensii adică periferice ataşate calculatorului; încarcă în memorie de pe disc sistemul de operare. ROM-BIOS (Basic Input Output System) este o parte a memoriei ROM care va asigura toate procesele şi serviciile necesare activităŃii calculatorului, precum şi gestiunea perifericelor. BIOS-ul este elemental de legătură sau interfaŃa directă dintre partea hardware şi cea software prin care se realizează hardware cererile software ale programelor. Practic orice program accesează partea hardware prin intermediul BIOS-ului după cum se observă în figura 2.5. Programe de aplicaŃie Sistemul de operare ROM - BIOS hardware

Figura 2.5. Memoria BIOS de pe placa de bază

2.4. Memoria secundară
Sistemele de calcul au principalul rol de a prelucra date şi informaŃii, de a asista şi controla diferite procese şi de a furniza rezultate. Pentru a putea lucra cu software-ul

25

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

acesta trebuie stocat la fel şi rezultatele calculelor pentru a putea fi folosite ulterior. Aceste medii de stocare trebuie să fie de mare capacitate, permanente (adică să păstreze informaŃia şi după decluplarea calculatorului). Principalele medii de stocare masivă sunt: discul flexibil: floppy disk discul rigid: hard disk discul optic: CD-ROM Discul flexibil: floppy disk este un echipament periferic care foloseşte ca suport de memorare discheta. Floppy discul este compus dintr-un disc flexibil de celuloid sau material plastic pe care este depus un strat foarte subŃire de ferită de bariu. Acesta este introdus într-o carcasă rigidă de material plastic cu caracteristici antistatice pentru a preveni pierderile de informaŃii prin fenomene electrice şi magnetice. Discul se roteşte liber în aceste carcase cu o viteză de 350 rotaŃii/minut. Floppy disk-ul poate fi înregistrat: pe o faŃă SS („Single Sided”), pe două feŃe DS („Double Sided”) şi în diferite formate de densitate: densitate simplă SD (“Simple Density”), densitate dublă DD (“Double Density”), densitate mare HD (“High Density”). Capacitatea unei dischete HD este de 1.44MB. Pentru a putea fi folosită discheta trebuie supusă unei operaŃii de formatare prin care discul se structurează în piste şi sectoare. Discul rigid: hard disk este cel mai folosit mediu de stocare a unor volume mari de date. Pentru a putea fi folosit trebuie supus unor transformări: formatarea primară sau de nivel scăzut (“low level”) în care se stabileşte şi trasează structura de piste precum şi structura şi poziŃia sectoarelor pe disc; partiŃionarea discului, process în care discul este împărŃit în mai multe unităŃi logice care sub sistemul de operare MS-DOS sunt văzute separate ca nişte discuri reale, unităŃi care se numesc partiŃii; formatarea logică sau de nivel înalt (“high level”), process în care sunt generate zonele de încărcare (boot), tabela de alocare a fişierelor FAT (File Alocation Table) şi directorul rădăcină sau principal – root.â; tot în cadrul acestui process sunt marcate pe disc şi sectoarele defecte care nu vor mai fi folosite în operaŃiile de scriere. Parametri principali ai unui hard disk sunt:

26

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

capacitatea (sute de GB); timpul de acces reprezintă timpul necesar unei unităŃi de disc pentru a citi/scrie un octet (byte) pe disc; rata de transfer este cantitatea de informaŃie vehiculată spre şi de la memoria de lucru RAM. Discul optic: CD-ROM cuprinde două tipuri de sisteme în funcŃie de caracterul înregistrării permanent sau temporar: discuri reversibile cu conŃinut alterabil; discuri ireversibile cu conŃinut nealterabil, adică discuri care o dată înregistrate nu mai pot fi decât citite. Denumirea de disc optic vine de la procedeele de scriere/citire, procedee în care se folosesc tehnici laser combinate cu diferite efecte optice. Pista discului este împărŃită în sectoare de 2048 octeŃi.

2.5. Dispozitive periferice de intrare / ieşire
Ansamblu unitate de comandă plus memorie internă comunică cu exteriorul prin intermediul unor dispozitive periferice. Dispozitivele periferice pot fi de intrare sau de ieşire în funcŃie de direcŃia în care se mişcă datele. Există şi dispozitive mixte de intrare/ieşire cum sunt unitatea de hard disk, unitatea de floppy disk şi monitorul utilizate pentru memorarea externă a informaŃiilor. Vom prezenta principalele echipamente utilizate pentru introducerea de date, livrarea de date, precum şi o serie de periferice mai importante.

2.5.1. Dispozitive periferice de intrare
Dispozitivele periferice de intrare, pe care le vom prezenta în continuare, sunt tastatura, mouse-ul , scanner-ul şi creion optic. Tastatura (“keyboard”) este elemental de legătură directă între om şi calculator şi este principalul periferic de introducere a datelor şi a comenzilor prelucrate ulterior de sistemul de operare şi programele specializate. Ea este un dispozitiv cu taste numerice şi alfanumerice în număr de 101 sau 104 taste. ConfiguraŃia tastaturii cu 101 taste conŃine patru secŃiuni: zona de tastare care cuprinde caracterele ASCII şi cifrele de la 0 la 9, tastele speciale Shift, Control (Ctrl), Alt, Backspace, Tab, Space, Caps Lock şi Enter; mintastatura numerică utilizate pentru introducerea datelor numerice; aceasta poate fi activată în modul “editare cifre” prin apăsarea tastei Num Lock

27

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

tastele pentru controlul cursorului şi al ecranului cuprinde tastele săgeŃi , tastele de deplasare pagină cu pagină, înserare şi ştergere în cadrul unui text; tastele funcŃionale (F1-F12) care pot fi redefinite software de utilizator. Microsoft a elaborate specificaŃia pentru tastatura Windows care are un set nou de taste şi de combinaŃii de taste în număr de 104. Cele trei taste adăugate sunt tasta Aplication şi cele două taste Windows din partea stângă şi din cea dreaptă a tastaturii. Acestea sunt folosite în cadrul unor combinaŃii de taste care generează comenzi pentru system sau pentru aplicaŃii, în mod asemănător tastelor Ctrl şi Alt. FuncŃionarea tastaturii. Tastatura utilizează funcŃiile unui microprocessor specializat INTEL 8048 sau INTEL 8049 care la apăsarea unei taste, pe baza tipului de semnal primit generează un cod de tastă de 16 biŃi ce reprezintă o combinaŃie binară a codului caracterului apăsat. Acest cod este un număr cuprins între 1 şi 101 sau 104. Mouse-ul este un dispozitiv simplu, mobil, care ne permite indicarea unor regiuni ale ecranului cu ajutorul unui cursor. ApariŃia sa s-a datorat mediului Microsoft Windows şi el devine un periferic răspândit mult în cadrul calculatoarelor personale. O dată cu apariŃia Microsoft Windows apare şi necesitatea creşterii vitezei de operare în special în parcurgerea ferestrelor şi a meniurilor sale faŃă de metoda clasică de utilizare a tastelor. Dirijarea cursorului şi chiar executarea funcŃiilor ataşate tastelor se realizează mult mai simplu cu ajutorul mouse-ului. Astfel, mouse-ul devine un dispozitiv periferic indispensabil în special în mediile şi aplicaŃiile ce utilizează interfeŃe grafice. Cu mouseul se poate selecta un text, activa un meniu, se pot muta sau copia informaŃii. Mouse-ul este alcătuit din: carcasă pe care se Ńine mâna şi care se deplasează pe o suprafaŃă întinsă numită „pad” aferent mouse-ului; bilă de cauciuc care semnalează sistemului mişcările; două sau trei butoane pentru selecŃie aflate în partea superioară a carcasei în dreptul degetelor utilizatorului; cablu de conectare a mouse-ului la sistem; conector de interfaŃă pentru ataşarea mouse-ului la sistem. La baza carcasei se găseşte o bilă realizată dintr-un material cauciucat care se roteşte pe măsura deplasării mouse-ului pe suprafaŃa de lucru. Mişcările bilei sunt transformate în semnale electrice care se transmit sistemului prin intermediul cablului. Unele tipuri mai noi folosesc un senzor optic în loc de bilă care citeşte deplasarea relativ la o reŃea de pe suprafaŃa de lucru. Mouse-ul poate fi de mai multe tipuri: mecanic, mecano-optic, optic, acusto-mecanic şi analogic. Cel mai utilizat a fost însă cel mecano-optic iar recent luîndu-i locul cel optic. Scanner-ul este un echipament periferic prin care se transformă imaginile în reprezentări binare. El este plasat în categoria dispozitivelor pentru achiziŃii de date, cu ajutorul căruia, prin intermediul unui mecanism de mare fineŃe cu laser sau cu o lampă cu

28

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

halogen, este posibilă culegerea unei imagini prin digitizare, imagine care urmează a fi transferată pe sistem şi, eventual, prelucrată. Tehnica de scanare presupune lansarea unui spot laser cu energie constantă, cunoscută, asupra fiecărui punct care alcătuieşte imaginea şi captarea spotului reflectat, ale cărei proprietăŃi vor fi modificate faŃă de cel incident. Modificările depind de culoarea punctelor pe care cade raza incidentă, în sensul că energia razei reflectate va fi mai mică cu un anumit procent care depinde de proprietăŃile de absorŃie ale culorii în cauză. În final va rezulta o valoare numerică, codificată pe un anumit număr de biŃi, pentru culoarea acelui punct. RezoluŃia standard la care se pot scana imagini sunt 300, 600, 800, 1200, 1600 şi 2400 dpi (dots per inch – puncte pe inch). Cu cât rezoluŃia la care se scanează o imagine este mai mare, cu atât rezultatul va fi mai aproape de imaginea de bază. În funcŃie de modul de citire al documentului, există trei tipuri de scanner: scanner cu tambur realizează deplasarea documentului, prin intermediul unei rotiŃe de transport, spre zona cu senzori care vor prelua imaginea; această tehnică este utilizată şi de aparatele de fax, citirea efectuându-se alb-negru sau nuanŃe de gri cu o rezoluŃie de 200 dpi; scanner cu acŃionare manuală în care utilizatorul deplasează dispozitivul de citire cât mai uniform deasupra documentului; scanare pe pagină sau „flatbed” în care utilizatorul aşează documentul în aparat (similar unui copiator) pe o porŃiune transparentă sub care se deplasează o sanie care conŃine părŃile electronice de citire. Calitatea unui scanner se defineşte prin capacitatea acestuia de a distinge mai multe nuanŃe de gri sau de culoare prin intermediul caracteristicii „adâncime de culoare”(AC) măsurată în număr de biŃi în modul următor: AC = 1 bitdisting 2 nuanŃe alb şi negru; AC = 4 biŃi disting 16 nuanŃe de gri; AC = 16 biŃi disting 256 nuanŃe de gri. Creionul optic asemănător unui creion, având la unul din capete o celulă fotoelectrică. Se poate selecta şi activa o comandă prin atingerea cu varful creionului a ecranului.

2.5.2. Dispozitive periferice de ieşire
În cadrul dispozitivelor periferice de ieşire vom prezenta în continuare imprimanta şi plotter-l. Imprimanta este un dispozitiv care permite tipărirea rezultatelor prelucrărilor efectuate de calculator. Cuplarea acesteia la calculator se face printr-un cablu conectat la

29

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

portul serial sau paralel. Cuplarea prin intermediul interfeŃei seriale se utilizează mai rar deoarece transmiterea în acest caz este mult mai lentă faŃă de cuplarea prin interfaŃa paralelă. Întrucât se vehiculează, de obicei, un volum de date foarte mare la imprimarea textului sau a imaginii se preferă cuplarea prin intermediul interfaŃei paralele. Imprimantele dispun de o memorie proprie: de tip RAM cu rol de buffer, în care se stochează datele cu privire la textul sau imaginea de imprimat; de tip ROM divizată în : • ROM de bază (BIOS), funcŃionează similar cu BIOS-ul calculatorului; acesta conŃine rutinele BIOS necesare gestionării hardware a imprimantei, asigurarea protocolului de comunicaŃie între calculator şi imprimantă şi conŃine o serie de fonturi standard utilizate la tipărirea în mod text; • ROM sub forma cartuşelor de fonturi interne („internal font cartridge”), colecŃii standard de fonturi care vin în completarea seturilor din BIOS-ul de bază. Imprimantele, în funcŃie de modul de tipărire, pot fi de mai multe tipuri: matriceale (cu ace); ink-jet (cu jet de cerneală); laser termice. Parametri unei imprimante sunt: viteza de imprimare, reprezinta numarul de pagini tipărite într-un minut; ea este masurată în centimetri pe secundă la imprimantele matriceale în mod text şi pagini pe minut pentru imprimantele ink-jet şi laser; rezoluŃia de imprimare, reprezintă numarul de puncte tipărite, măsurată în puncte pe inch este definitorie doar pentru imprimantele din acelaşi tip. dimensiunea maxima a hartie, poate fi pe format A4 sau A3. numarul de culori- tipărirea se poate face cu o singură culoare (negru) sau color. Ploter-ele sunt dispozitive periferice care, cu ajutorul unor creioane speciale, pot desena imagini de complexităŃi diferite pe o suprafaŃă.

2.5.3. Dispozitive periferice mixte (de afişare)
Dintre dispozitivele periferice de afişare vom prezenta în continuare consolele şi monitoarele.

30

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

Console(terminale) pot fi : alfanumerice unde ecranul este controlat la nivel de caracter; pentru fiecare caracter este nevoie de doi octeŃi, unul pentru tipul caracterului şi altul pentru atributul acestuia care poate fi inversat, subliniat, etc. grafice unde ecranul este controlat la nivel de pixel (element de imagine); standardula actual este cel SVGA de 640 x 480, 800 x 600, 1024 x 768, 1600 x 1200 puncte (pixeli) fiecare cu câte 4 biŃi (16 culori), 8 biŃi (256 culori), 16biŃi (high Color) sau 32 biŃi (True Color). Monitorul este principalul dispozitiv de afişare ce permite vizualizarea informatiilor prelucrate de calculator. Aceste informaŃii apar sub formă de litere, cifre, semne de punctuaŃie, simboluri grafice sau desene oarecare într-o varietate mai mare sau mai mică de culori. InformaŃia de pe ecran se pierde odată cu redesenarea acestuia. Monitorul funcŃionează în principiu ca un televizor în sensul că modul de „umplere” a ecranului cu o imagine nu se produce instantaneu, prin proiectarea întregii imagini pe ecran, ci progresiv, prin baleerea ecranului linie cu linie. Viteza de „umplere” a ecranului este suficient de ridicată astfel încât ochiul să nu sesizeze umplerea progresivă a ecranului cu o imagine. Modul în care spotul electronic balează ecranul, afişând imagini, generează o caracteristică principală a monitoarelor, numită factor de întreŃesere (FI). Acest factor poate fi: FI = 1, mod de afişare neîntreŃesut care presupune parcurgerea succesivă a liniilor care formează imaginea; FI = 2, mod de afişare întreŃesut, în care imaginea este afişată prin baleiaj alternativ, din două în două linii, pentru umplerea ecranului fiind necesare două baleeri ale ecranului; la prima trecere se afişează liniile impare, iar la a doua cele pare. În ceea ce priveşte rata de afişare numită şi rata de refresh a monitorului, trebuie specificat că imaginea afişată pe ecran nu este staŃionară, ea este generată de câteva zeci de ori pe secundă. Cu cât viteza de regenerare este mai mare, cu aât ochiul uman sesizează mai puŃin acest fenomen periodic. Monitoarele au două moduri distincte de afişare a datelor pe ecran: în modul text adaptorul primeşte codul caracterului de la programul executat care urmează a fi afişat, urmând ca el să scrie punctele care vor compune caracterul pe ecran; în modul grafic programul este acela care desenează caracterele pe ecran; în acest mod pot fitrasate curbe, histograme sau desene realizate de programe specializate.

31

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Caracteristicile unui monitor: marimea diagonalei, de obicei, este: 14,15, 17, 21 inch; rezolutia reprezinta numarul de puncte de pe ecran; definitia se intelege distanta dintre două puncte ale ecanului; numarul de culori pe care îl poate suporta variază de la 2, 16, 256...; rata de improspatare; tipul monitorului poate fi EGA, VGA, SVGA. Monitorul nu poate lucra singur, el are nevoie de o placă video. De placa video depinde claritatea, numarul de culori, mărimea şi viteza ecanului. Semnalul pentru monitor vine de la placa video. Placa video se mai numeste adaptor video sau placa grafica. Importanta pentru o placa video este memoria.

2.6. Verificare
1. EnumeraŃi componentele unui calculator personal. 2. DescrieŃi componentele unităŃii centrale de prelucrare. 3. FaceŃi o comparaŃie între caracteristicile microprocesorului caracteristicile microprocesorului Pentium. 4. ClasificaŃi dispozitivele periferice de intrare / ieşire.

I80486

şi

2.7. Teste
1. IndicaŃi care dintre definiŃiile de mai jos reprezintă definiŃia datelor: a) numere (în diferite formate) sau simboluri (alfanumerice) considerate necorelate între ele şi care nu au o anumită semnificaŃie sau structură precizată; b) colecŃie de date corelate între ele printr-o relaŃie sau structură sintactică; c) colecŃie de date corelate între ele printr-o relaŃie sau structură semantică; d) corelaŃii de informaŃie la care se adaugă un înŃeles sintactică; e) corelaŃii de informaŃie la care se adaugă un înŃeles semantic; f) corelaŃii de cunoştinŃe. Raspuns: a. 2. IndicaŃi în care concept, dintre cele prezentate mai jos, există o corelaŃie bazată pe o relaŃie sau structură sintactică: a) date;

32

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

b) informaŃie; c) cunoştinŃe; d) inteligenŃă; Raspuns: b. 3. IndicaŃi care descriere caracterizează diviziunea în timp, dintre următoarele variante: a) programele ce urmează să fie executate sunt trecute pe bandă magnetică într-un fişier cu extensie .bat şi executate secvenŃial; b) intercalarea operaŃiilor UC cu operaŃiile I/O pentru mai multe programe; c) împărŃirea timpului de execuŃie al UC între toate procesele active ale sistemului de calcul. Raspuns: c.

3. SISTEME DE OPERARE
3.1. DefiniŃia şi funcŃiile sistemelor de operare

Componenta software a unui calculator are rolul de a stoca, procesa şi regăsi informaŃiile şi ea este divizată în: programe de sistem sau sistemul de operare (SO) programe de aplicaŃie care rezolvă problemele utilizatorilor. Definitie. Un sistem de operare este un sistem de programe care gestionează resursele hardware din cadrul unui SC şi realizează suportul de bază pe care programele de aplicaŃie pot fi scrise şi executate folosind eficient resursele SC (memoria, µP, dispozitivele I/O). SO este o colecŃie de programe (sistem de programe) care are două componente principale: nucleul sau programele de bază se încarcă de pe HD în memoria internă la pornirea SC şi realizează : legătura cu rutinele BIOS, legătura ce cererile programelor de aplicaŃie şi gestionează resursele SC necesare în timpul executării programelor de aplicaŃie ale utilizatorilor ; comenzile / programele utilitare sunt cele care realizează servicii pentru utilizarea eficientă a resurselor SC .

33

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Deosebirea dintre aceste două componente ale SO este că nucleul se execută în mod supervizor cu privilegii extinse asupra memoriei şi a celorlalte resurse, în timp ce programele utilitare se execută în mod utilizator cu privilegii reduse la fel ca şi un program de aplicaŃie. FuncŃia de bază a SO este “ascunderea” complexităŃii hardware prin furnizarea unui set de instrucŃiuni mult mai accesibil şi degrevat de detalii pentru comanda dispozitivelor periferice. FuncŃiile generale a unui sistem de operare sunt următoarele: funcŃia de comandă şi control a execuŃiei programelor utilizatorilor; funcŃia de gestiune a memoriei evidenŃiază resursele de memorie utilizate, realizează alocarea/dealocarea memoriei şi asigură un sistem de protecŃie a datelor şi programelor; funcŃia de gestiune a procesorului analizează şi decide ce proces va utiliza procesorul realizând alocarea şi ulterior dealocarea acestuia la expirarea cuantei de timp sau la finalizarea execuŃiei programului, prelucrează şi modifică starea fişierelor şi programelor; funcŃia de gestiune a dispozitivelor periferice, iniŃializează şi verifică starea resurselor SC, formatează HD (hard disk), formatează FD (floppy disk), defineşte structura sistemului de fişiere şi gestionează (asigură partajarea) resurselor SC; Locul sistemului de operare în cadrul unui SC este prezentat în figura 3.1.
SISTEM DE CALCUL Componenta software (logică): Programe de bază -sistem de operare nucleu comenzi / programe utilitare

Medii de programare
Programe specializate (E-mail, Internet) Programe de aplicaŃie

Componenta hardware: UC- unitate centrală (µP, memorie internă) Memorie externă Dispozitive de I/O

Figura 3.1. Locul sistemului de operare în cadrul unui SC

34

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

3.2. EvoluŃia sistemelor de operare
Vom prezenta caracteristicile SO din cadrul fiecărei generaŃii de calculatoare. Primele SO au apărut în cadrul generaŃiei a doua de calculatoare. GeneraŃia II avea următoarele caracteristici din punct de vedere software: • pentru prima dată este o separaŃie clară între proiectare, construire, operare, programare şi întreŃinere; • aceste calculatoare au nevoie de camere speciale cu aer condiŃionat şi un operator profesionist care execută programele; • prelucrarea se face pe loturi “batch processing” şi presupune formarea unui fişier cu extensia .bat şi lansarea lui; job-urile sunt citite pe bandă magnetică după care sunt executate succesiv; • apar primele limbaje evoluate de programare: o FORTRAN (FORmula TRANslation) în anul 1956 pentru probleme tehnico-ştiinŃifice o ALGOL (ALGOrithmic Language) în 1958 pentru probleme ştiinŃifice, cu puŃine date iniŃiale, dar cu numeroase prelucrări aritmetice şi logice o COBOL (Common Business Oriented Language) în 1959 pentru calcule economice GeneraŃia a III avea următoarele caracteristici din punct de vedere software: • conŃine SO complex constituit din milioane de linii de limbaj de asamblare scrise de mii de programatori; • cea mai importantă tehnică apărută a fost multiprogramarea; de la citirea şi execuŃia job cu job utilizând ineficient unitatea centrală, s-a trecut la o soluŃie mai eficientă partajarea memoriei cu job-uri diferite în fiecare partiŃie; un sistem multiprogramat cu trei job-uri în memorie este: PartiŃia 3: job 3 PartiŃia 2: job 2 PartiŃia 1: job 1 SO Astfel, în acelaşi interval de timp pot exista mai multe programe active în SC, concurând pentru memorie, I/O şi UC. Unele programe sunt orientate către calcule (utilizând intens UC), iar altele către citire/scriere a dispozitivelor I/O. 35

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Se pot intercala cele două clase de programe pentru a obŃine un timp de prelucrare global cât mai bun. Intercalarea programelor permite utilizarea mai eficientă a resurselor SC prin suprapunerea operaŃiilor de I/O cu operaŃiile UC. Acest mod de organizare este gestionat de SO (programul de supervizare). Multiprogramarea se poate defini ca intercalarea operaŃiilor UC cu operaŃiile I/O pentru mai multe programe. În cadrul multiprogramării se poate întâmpla ca un proces cu prioritate mare să ocupe UC un timp îndelungat şi în acest fel se împiedică execuŃia altor procese. Neajunsul se poate înlătura folosind un SO cu divizare în timp. aveau abilitatea de a citi job-urile de pe cartele perforate pe discuri magnetice; astfel când un job era terminat SO putea încărca un nou job de pe disc în partiŃia liberă pentru a-l executa; această tehnică se numeşte “spooling” (de la “Simulation Peripherical Operation On Line”) şi era de asemenea utilizată pentru ieşire; timpul de răspuns între citirea unui job şi afişarea rezultatelor rulării, prin utilizarea tehnicii de “time sharing”, ca variantă a multiprogramării, în care fiecare utilizator are linia lui de terminal; într-un sistem “time sharing”, unitatea centrală poate fi alocată între cele trei job-uri încărcate în partiŃiile de memorie, la un moment dat, iar serviciile oferite de SO se împarte între aceste job-uri. Divizarea în timp (“time sharing”) reprezintă împărŃirea timpului de execuŃie al UC între toate procesele active (task-uri active) din SC. Cuantele de timp alocate fiecărui proces pot fi inegale de la un proces la altul. Utilizarea diviziunii în timp a programelor (proceselor) în sistemele monoprocesor crează conceptul de procesor virtual sau sistem de calcul virtual. apar limbaje de programare de nivel înalt ca: PL/1, ALGOL60/68, FORTRAN IV,V, COBOL, LISP etc

GeneraŃia a IV avea următoarele caracteristici din punct de vedere software: • caracteristica principală o constituie interfeŃele “user-friendly” ceea ce înseamnă că pentru utilizatorii care nu ştiu nimic despre aceste calculatoare şi nu au intenŃia să înveŃe, acestea sunt interfeŃe prietenoase care-i ghidează în

utilizarea calculatorului; cele două SO care au dominat calculatoarele personale şi staŃiile de lucru sunt: o Microsoft MS-DOS o UNIX

36

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

• •

o dezvoltare interesantă are loc la mijlocul anilor 1980 prin creşterea reŃelelor de calculatoare personale lucrând cu reŃele de SO şi SO distribuite; în SO în reŃea utilizatorii pot copia fişiere de pe o maşină pe alta şi pot executa şi lista programe de pe o maşină pe alta; fiecare maşină lucrează cu propriul ei SO şi propriul ei utilizator; în contrast un SO distribuit este unul ce apare utilizatorilor săi ca un sistem monoprocesor tradiŃional dar totuşi actual el este compus din mai multe microprocesoare (multiprocesor) şi funcŃiile SO sunt distribuite între acestea.

3.3. Conceptele sistemului de operare
Câteva dintre trăsăturile mai importante referitoare la SO sunt: SO este o maşină virtuală (extinsă), adică el transformă operaŃiile de nivel înalt efectuate de programator în operaŃii reale care Ńin seama de detaliile de programare a dispozitivelor hardware. SO este administrator de resurse, el gestionează procesele, memoriile, dipozitivele periferice, alocându-le pe rând programelor care sunt în competiŃie pentru a le ocupa. SO are o interfaŃă cu programele utilizator realizată printr-o mulŃime de „instrucŃiuni extinse” (“extended instructions”) numite „apeluri sistem” („system call”) aparŃinând SO. Cele două concepte importante cu care operează apelurile de sistem sunt: procesul fişierul Utilizatorii se situează deasupra SO şi folosesc facilităŃile oferite de acesta pentru a-şi defini, realiza şi exploata propriile programe de aplicaŃie. InterfaŃa dintre SO şi programele utilizator este definită de apelurile sistem prin intermediul cărora se pot crea, şterge şi utiliza diferite utilitare ale SO. Cele mai importante sunt procesele şi fişierele. Exemplificările sunt orientate către MS-DOS şi UNIX.

Procesul
Conceptul de bază în orice SO este procesul. Un proces este un program în execuŃie care conŃine: programul executabil, date şi stiva, 37

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

program “counter”, “poiter” de stivă şi alŃi regiştri, toate formând informaŃia necesară execuŃiei unui program. Pentru a înŃelege în mod intuitiv rolul proceselor este bine să ne gândim la sistemul “time-sharing”. În acest sistem SO periodic decide să oprească execuŃia unui proces şi pornirea execuŃiei altui proces, de exemplu deoarece primului dintre ele i-a expirat cuanta de timp alocată de unitatea centrală în secunda trecută. Când un proces este temporar oprit, el va trebui mai târziu repornit din starea în care a fost oprit. Aceasta înseamnă că toate informaŃiile despre proces trebuie să fie salvate explicit pe durata suspendării. De exemplu dacă procesul are câteva fişiere deschise, poziŃia exactă din fişier unde era procesul, trebuie să fie înregistrată undeva, astfel încât la restartare să se poată citi din el. În multe SO aceste informaŃii despre proces, altele decât conŃinutul propriu spaŃiului de adresă, este memorat în tabela SO (“table process”), care este o arie sau listă înlănŃuită de structuri, una pentru fiecare proces curent existent în execuŃie. Un proces poate crea la rândul lui alte procese formându-se o structură arborescentă. În sistemele de operare de multiprogramare, cum este UNIX, este important să se păstreze urma fiecărui proprietar utilizator de sistem. În fiecare sistem, fiecare utilizator autorizat îi este asignat un “uid” (“user identification”). Fiecare proces are asignat uid-ul proprietarului. Simular, utilizatorii pot fi divizaŃi în grupuri având câte un identificator de grup gid (“group identification”). Uid şi gid joacă un rol în protecŃia informaŃiei.

Fişierele
O altă categorie vastă de apeluri sistem sunt legate de fişierele sistem. O funcŃie majoră a SO este să ascundă particularităŃilr hard disk-ului şi a altor dispozitive periferice. Apelurile de sistem sunt în mod evident necesare la crearea, schimbarea, mutarea, citirea şi scrierea fişierelor. Înainte ca un fişier să poată fi citit, el trebuie deschis şi după aceea el poate fi citit şi ulterior închis, aşa că apelurile sunt provocate de aceste operaŃii. SO trebuie să suporte conceptul de director, ca un mod de grupare a fişierelor împreună. Apelurile de sistem sunt folosite pentru crearea, schimbarea şi ştergerea directoarelor. Directoarele pot cuprind la rândul lor alte directoare şi fişiere. Ca şi procesele fişierele sunt organizate ca arbori, dar similitudinea se opreşte aici. Ierarhia de procese, de obicei nu este foarte adâncă (uzual maxim 3), în timp ce ierarhia de fişiere poate fi mult mai adâncă.

38

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

Fiecare fişier într-o ierarhie de fişiere este specificat prin nume împreună cu numele căi (“path name”) pornind din vârful ierarhiei de directoare care-i directorul rădăcină (“root directory”). Fişierele trebuie protejate, de exemplu la UNIX fişierele şi directoarele sunt protejate printr-un cod de protecŃie compus dintr-un cmp pentru proprietar, altul pentru grup şi altul pentru orice altceva. Fiecare câmp are un bit de acces la citire, scriere sau execuŃie. Multe SO, inclusiv MS-DOS şi UNIX, fac o abstractizare, permiŃând utilizatorului să execute operaŃii de I/O ca un fişier special. În acest mod pentru citirea şi scrierea lor pot fi utilizate aceleaşi apeluri sistem care sunt utilizate pentru citirea şi scrierea fişierelor. În MS-DOS şi UNIX când un proces este startat, fişierul descriptor 0, numit fişier de intrare standard („standard input”) este ataşat să refere terminalul de citire. Fişierul descriptor 1, numit fişier de ieşire standard („standard output”) referă terminalul de scriere. FiŃierul descriptor 2, numit fişier de eroare standard („standard error”) referă terminalul de ieşire, dar în mod normal este utilizat pentru scrierea mesajelor de eroare. În final vom descrie relaŃia dintre procese şi fişiere numită „pipe”. Un „pipe” este un pseudo fişier scurt care este utilizat să conecteze două fişiere între ele: A B

Când procesul A doreşte să trimită date procesului B, el scrie în „pipe” la fel ca întrun fişier de ieşire. Procesul B poate citi datele de la „pipe” la fel ca dintr-un fişier de intrare. Această comunicare dintre procese este privită ca fişier de citire/scriere obişnuit.

3.4. Clasificarea sistemelor de operare
PerfecŃionarea continuă a componentelor hardware ale unui SC implică perfecŃionarea şi modificarea atât a sistemelor de operare, cât şi a componentelor software instalate pe acel SC. În timp, aceste perfecŃionări şi modificări au creat dificultăŃi în privinŃa utilizării unor programe de pe un sistem de calcul pe altul, sau sub diverse sisteme de operare. Din aceste motive, pentru un SO şi în general pentru produsele software, sunt importante următoarele atribute: compatibilitatea - posibilitatea recunoaşterii acestora de alte SO sau produse software şi invers; portabilitatea - instalarea şi execuŃia acestora pe diverse SC;

39

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

SO pot fi clasificate după structura internă în 4 grupe: sisteme compacte ( monolitice) ( de exemplu CP/M, MS-DOS).Acest tip de SO este o colecŃie de proceduri existente toate simultan şi în care: fiecare procedură poate apela orice altă procedură; fiecare procedură are definită o interfaŃă prin care comunică parametri şi rezultatele altor proceduri; orice procedură este vizibilă pentru oricare alta(fapt esenŃial întrucât nu există niveluri ierarhizate), deci nu se aplică principiul ascunderii informaŃiilor şi al accesului controlat la date ca în cazul unor sistem mai evoluate cum sunt cele ierarhizate; Anumite SO monolitice prezintă însă germenii unor structuri incipiente, alcătuite din 2 niveluri: zona Kernel (nucleu) în care SO lucrează în mod supervizor şi care conŃine o tabelă de servicii; zona user (utilizator) în care SO lucrează în mod utilizator rulând programele de aplicaŃie, în care anumite operaŃii sunt interzise sisteme ierarhizate (pe 5 sau 6 niveluri) cum ar fi spre exemplu: nivelul 5: operator nivelul 4: programe utilizator nivelul 3: gestiunea intrărilor şi iesirilor nivelul 2: comunicarea între operator şi procese nivelul 1: gestiunea memoriei nivelul 0; multiprogramare şi alocare de procese Organizarea unui SO pe niveluri ierarhizate reprezintă o generalizare a modelului monolitic. În această structură ierarhizată fiecare nivel prezintă o realitate virtuală nivelului superior adiacent, furnizându-i un set de servicii şi preluând de la nivelul adiacent inferior alt set de funcŃii. SO pe maşini virtuale Sunt sisteme bazate pe „time-sharring” care furnizează concepte de: Multiprogramare, maşină extinsă (virtuală) cu o interfaŃă mai convenabilă hardware. SO pe model „client-server” Ideea de bază este mutarea de cod cât mai mult pe nivelurile superioare păstrând un nucleu minimal (rezident permanent în memorie). Aceasta înseamnă implementarea celor mai importante funcŃii ale SO în procese utilizator. În afara proceselor utilizator care fac servicii SO şi care se mai numesc şi executanŃi sau servere (separate complet între ele) mai

40

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

există în zona utilizator şi procese utilizator de tip “client”. În zona kernel se gestionează dialogul între client şi server. Prin kernel circulă mesajele ăntre client şi server. Acest tip de SO este adaptabil structurilor distribuite, în care clientul nu trebuie să ştie dacă mesajul este preluat local sau la distanŃă (pe un alt calculator prin reŃea) şi deci este permisă prezenŃa server-elor pe maşini diferite. Deci nucleul unui sistem distribuit gestionează tranzacŃiile pe reŃea (schimbul de mesaje). SO pot fi clasificate în funcŃie de modul de alocare al resurselor în: cu resurse alocate; cu resurse distribuite, se alocă distribuit resurse fiecărui proces; SO se mai pot clasifica după aria de aplicaŃii pe care o satisface: SO pentru prelucrarae pe loturi (”batch” şi “time-sharing”). Un sistem secvenŃial (“batch”) execută la un moment dat un singur program, care trebuie terminat înainte de a lua în considerare un alt program, cum este MSDOS. Un sistem “time-sharing” oferă la mai mulŃi utilizatori accesul simultan la facilităŃile unităŃii centrale. Un sistem “time-sharing” este de fapt un calculator multiprogramat care permite mai multor utilizatori să folosească simultan resursele sistemului, având impresia că fiecăruia i se acordă o atenŃie deosebită. Majoritatea tipurilor de SO recunosc programul ca cea mai mică unitate de prelucrare, căruia i se poate atribui o identitate şi pe care un utilizator o poate prezenta spre execuŃie. Unele sisteme oferă în plus posibilitatea ca un program să fie considerat ca un ansamblu de sarcini (“task”) ale căror execuŃie (inclusiv în paralel) contribuie la atingerea obiectivului urmărit de acel program. SO în timp real SO pentru multiprogramare, acestea acceptă la un moment dat mai multe programe în memoria centrală partajată care se pot afla în diverse stadii de execuŃie. ExecuŃia se realizează prin multiplexarea unităŃii cntrale. Acest sistem poate să permită execuŃia secvenŃială (“time-sharing”) sau interactivă. SO pentru prelucrare paralelă (multiprocesor) dispun de mai multe procesoare, care pot să execute simultan unul sau mai multe programe. Utilizarea efectivă a prelucrării multiple necesită atributul de multiprogram. ExecuŃia simultană a unui singur program de către mai multe unităŃi presupune existenŃa posibilităŃii de a descompune acest program în mai multe sarcini (“multitasking”) 41

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

SO se pot clasifica după numărul de utilizatori care au acces la calculator în: monoutilizator – sistemele secvenŃiale (MS-DOS) în care serviciile SO sunt oferite-la un moment dat- doar unui singur utilizator; multiutilizator - sistemele “time-sharing” (RSX-11M, UNIX) la care serviciile SO sunt accesate simultan de aplicaŃii ale mai multor utilizatori. SO se pot clasifica după modul de prelucrare în: sisteme monotasking în care SO execută la un moment dat un singur program (task, proces) ce nu poate fi divizat în unităŃi mai mici; sisteme multitasking sau multiprocesor, SO execută simultan (în paralel) mai multe programe (task-uri sau procese), de exemplu RSX-11M, UNIX. SO se pot clasifica după unitatea de prelucrare în: sisteme care recunosc programul, ca cea mai micăunitate de prelucrare, căruia i se atribuie o identitate şi pe care un utilizator o poate prezenta spre execuŃie; de exemplu MS-DOS; sisteme care oferă în plus posibilutatea ca un program să fie considerat ca un ansamblu de sarcini - task ale căror execuŃie (inclusiv în paralel) contribuie la atingerea obiectivului urmărit de acel program; de exemplu RSX-11M; sisteme în care progranul este considerat ca un ansamblu de procese ce lucrează în paralel; de exemplu UNIX. SO se mai clasifică în funcŃie de reŃea în: sisteme în care reŃeaua este instalată peste SO; de exemplu MS-DOS, RSX11M, UNIX; sisteme în care reŃeaua este înglobată în SO.

3.5. Verificare
1. 2. 3. 4. 5. 6. IndicaŃi care este locul sistemului de operare în cadrul unui SC DescrieŃi prelucrarea pe loturi “batch processing” DaŃi definiŃia tehnicii de multiprogramare. DaŃi definiŃia tehnicii de “time sharing”. PrezentaŃi conceptele sistemului de operare. IndicaŃi criteriile de clasificare ale sistemelor de operare.

42

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

3.6. Teste
1. IndicaŃi care funcŃie a SO este incorectă din lista următoare: a) funcŃia de comandă şi control b) funcŃia de gestiune a memoriei c) funcŃia de prelucrare şi verificare d) funcŃia de gestiune a procesorului; e) funcŃia de gestiune a dispozitivelor periferice; Raspuns: c. 2. IndicaŃi în ce generaŃie apare multiprogramarea. a) generaŃia 1; b) generaŃia 2; c) generaŃia 3; d) generaŃia 3.5; e) generaŃia 4; f) generaŃia 5; Raspuns: c. 3. IndicaŃi în cadrul cărei generaŃii interfeŃele “user-friendly” apare ca o caracteristică principală. a) generaŃia 1; b) generaŃia 2; c) generaŃia 3; d) generaŃia 3.5; e) generaŃia 4; f) generaŃia 5; Raspuns:e. 4. IndicaŃi în ce generaŃie apare utilizarea tehnicii de “time sharing” a) generaŃia 1; b) generaŃia 2; c) generaŃia 3; d) generaŃia 3.5; e) generaŃia 4; f) generaŃia 5. Raspuns: c.

43

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

4.

LIMBAJE DE PROGRAMARE

4.1. Scurtă prezentare a limbajelor de programare
Calculatorul “ştie” să execute un set de operaŃii simple, ca de exemplu operaŃii aritmetice elementare (adunare, scădere, înmulŃire, împărŃire). Prin combinarea acestor operaŃii simple se pot obŃine prelucrări complexe. Combinarea operaŃiilor se supune unor reguli bine precizate. Studiul acestor reguli are la bază conceptul de algoritm. Conceptul de algoritm este foarte vechi, înŃelesul mai larg fiind acela de procedeu, metodă de rezolvare a unei probleme. În programare, conceptul de algoritm are un rol fundamental şi se poate defini ca un set de reguli ce defineşte secvenŃa de operaŃii ce trebuie executate de calculator pentru soluŃionarea unui tip specific de probleme. Pornind de la această definiŃie, rezultă următoarele două proprietăŃi ale algoritmilor: generalitatea – algoritmul determină modul de rezolvare a unui tip de problemă şi nu a unei probleme particulare; mărginirea în timp – execuŃia algoritmului trebuie să se termine într-un număr finit de “paşi” (operaŃii). Algoritmi mai au şi alte proprietăŃi: rigurozitatea – impune ca fiecare pas al algoritmului să fie precis definit; executabilitatea - impune ca fiecare pas al algoritmului să poată fi executat de calculator; eficienŃa – se determină atât din punct de vedere al timpului de execuŃie cât şi al memoriei ocupate. Rigurozitatea şi executabilitatea algoritmilor sunt asigurate prin reprezentarea acestora în limbaje de programare. Limbajul de programare, ca şi limbajul matematic, este un limbaj artificial, folosit pentru a comunica cu calculatorul. Putem acum defini programul, ca fiind o reprezentare (codificare) a unui algoritm într-un limbaj de programare. Rezolvarea unei probleme cu calculatorul presupune parcurgerea următoarelor etape: specificarea problemei – ce constă în formularea problemei şi impune specificarea datelor de intrare şi a datelor de ieşire (rezultatelor). Exemplu: să se rezolve un sistem de n ecuaŃii cu n necunoscute, dându-se ca date de intrare matricea coeficienŃilor şi vectorul termenilor liberi şi furnizând ca rezultat soluŃia sistemului, în cazul în care acesta este compatibil determinat, sau un mesaj corespunzător în caz contar.

44

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

proiectarea algoritmului – utilizând diferite metode de reprezentare: pseudocodul, organigrame. Pseudocodul se foloseşte în general, pentru algoritmi ce vor fi implementaŃi întrun limbaj de programare de nivel înalt. Utilizarea organigramelor este mai adecvată pentru implementarea unui algoritm în limbaj de asamblare. codificarea algoritmului într-un limbaj de programare sub forma unui program. Alegerea limbajului de programare depinde de natura aplicaŃiei şi de programator. Marea majoritate a programelor sunt scrise în limbaje de nivel înalt. AnumiŃi algoritmi sunt implementaŃi însă, în limbaj de asamblare. Principala diferenŃă între cele două tipuri de limbaje este aceea că limbajul de asamblare specifică operaŃii detaliate corespunzătoare arhitecturii calculatorului, în timp ce limbajul de nivel înalt specifică acŃiuni complexe, mai apropriate de raŃionamentul uman şi nu de maşină. Pentru rezolvarea unei probleme, utilizatorul trebuie să-i furnizeze sistemului de calcul datele iniŃiale şi etapele de parcurs, prin intermediul unui limbaj de programare, iar rezultatele prelucrărilor vor fi furnizate în mediul extern într-o formă specificată tot prin intermediul limbajului de programare. În acest mod, limbajul de programare realizează conexiunea în ambele sensuri între universul problemei de rezolvat şi universul sistemului de calcul. Un limbaj de programare operează cu două categorii de date: date elementare sunt acele date ale căror structură internă nu este accesibilă programatorului; acestea pot fi de mai multe tipuri: o date numerice, având valori în mulŃimi cunoscute din matematică (N,Y.R,C); o date alfanumerice, având valori de tip caracter sau şiruri de caractere, pentru gestionarea textelor; o date logice, având valori “adevărat” sau “fals”. date structurate sunt acele date alcătuite din mai multe componente toate accesibile programatorului; există următoarele categorii de date structurate: o tablouri: cuprind mai multe date elementare de acelaşi tip; o înregistrări: cuprind date elementare de tipuri diferite. Din punct de vedere al valorilor un program operează cu două categorii de valori: constante - valorile acestora nu se modifică în timpul execuŃiei unui program; variabile - valorile acestora se modifică în timpul execuŃiei programului. Sunt utilizate locaŃii de memorie care păstrează valorile acestor variabile. Un limbaj de programare se defineşte prin:

45

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

vocabular – ce conŃine mulŃimea semnelor şi cuvintelor din care se pot forma propoziŃii; sintaxa – se referă la mulŃimea regulilor ce descriu modul de alcătuire a propoziŃiilor; semantica – specifică regulile ce definesc înŃelesul (semnificaŃia) propoziŃiilor. OperaŃiile simple pe care sistemul de calcul ştie să le execute se reprezintă prin coduri (valori) numerice. Acest set de operaŃii sau instrucŃiuni formează un limbaj prin intermediul căruia se poate comunica direct cu calculatorul, numit limbaj maşină sau cod maşină. Spre exemplu, instrucŃiunea de înmulŃire se reprezintă în limbaj maşină pentru calculatoarele IBM-PC pe 7 biŃi prin codul: 1111011. Limbajul maşină este specific fiecărui calculator în parte. În etapa de proiectare a fiecărui calculator se stabileşte setul de instrucŃiuni maşină. Cu cât setul este mai simplu, cu atât se reduce complexitatea şi costul circuitelor electronice necesare implementării UCP-ului. Un program în cod maşină este o secvenŃă de coduri binare, ce poate fi executată de către microprocesor şi acest program se numeşte program executabil. Programarea primelor calculatoare s-a făcut direct în cod maşină, fiind extrem de anevoioasă. Tocmai de aceea s-a renunŃat repede la acest mod de programare şi au apărut noi limbaje, care au simplificat operaŃia de scriere a programelor şi comunicarea cu calculatorul. În prezent există peste 200 de limbaje de programare, limbajele care au apărut fiind mai apropiate de utilizator şi de tipurile de aplicaŃii noi, decât de codul maşină. Limbajele de programare se clasifică în: limbaje de asamblare (limbaje de nivel coborât); limbaje de nivel înalt. Un limbaj de asamblare este foarte apropiat de codul maşină al unui sistem de calcul. Fiecare sistem de calcul dispune de propriul său limbaj de asamblare. Un limbaj de asamblare se caracterizează prin aceea că unei instrucŃiuni din set îi corespunde o instrucŃiune în cod maşină. Deosebirea este însă următoarea: o instrucŃiune în limbaj de asamblare se specifică printr-un nume simbolic (mnemonică) şi nu prin cod numeric. Astfel, de exemplu, un limbaj de asamblare pentru calculatoarele IBM-PC, operaŃiile de adunare şi înmulŃire se reprezintă prin instrucŃiuni cu mnemonicele: ADD şi MUL. Limbajele de programare permit, de regulă, definirea şi utilizarea de proceduri şi macroinstrucŃiuni, oferind astfel programatorului o serie de facilităŃi în scrierea programelor.

46

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

Programarea în limbaj de asamblare implică însă cunoaşterea detaliată a arhitecturii procesorului (resursele procesorului la care are acces programatorul), a resurselor sistemului de calcul precum şi a structurii şi modului de lucru al sistemului de operare. Limbajul de asamblare se utilizează în general, în aplicaŃii ce necesită acces direct la resursele hardware ale sistemului de calcul sau în aplicaŃii ce necesită viteză mare de execuŃie (animaŃie). Trebuie însă menŃionat faptul că, limbajul de asamblare fiind specific fiecărui microprocesor, aplicaŃiile scrise în limbaj de asamblare nu sunt portabile (nu pot fi executate decât pe calculatoare care au acelaşi limbaj de asamblare, deci acelaşi microprocesor). Un limbaj de nivel înalt conŃine instrucŃiuni care sunt mai apropiate de utilizator, de raŃionamentul uman, decât de maşină. Complexitatea operaŃiilor puse la dispoziŃia programatorului este mult mai mare decât în cazul limbajelor de asamblare. Un limbaj de nivel înalt se caracterizează prin aceea că unei instrucŃiuni din set îi corespunde o secvenŃă de instrucŃiuni în cod maşină. Spre deosebire de programele în limbaj de asamblare, programele scrise în limbaj de nivel înalt sunt, în general, independente de maşină, fiind portabile de pe un calculator pe altul. Primele limbaje de nivel înalt au fost orientate spre calcule ştiinŃifice (prelucrări numerice), calculatorul fiind utilizat în acea etapă pentru aplicaŃii de acest gen. Un astfel de limbaj a fost limbajul FORTRAN, mult utilizat în scrierea de programe în perioada anilor ’60. Dintre limbajele orientate pe aplicaŃii contabile amintim limbajul COBOL. În afara limbajelor specializate în rezolvarea anumitor clase de aplicaŃii, au apărut şi limbajele universale. Începând cu anii ’70 au apărut limbaje de programare noi, ca: PASCAL, C, MODULA, ADA ce pot fi utilizate în orice tip de probleme, la fel de bine. Limbajele de programare de nivel înalt suportă de regulă programarea structurată şi permit definirea unor tipuri de date structurate specifice aplicaŃiei. Diversificarea tipurilor de aplicaŃii a determinat apariŃia de noi limbaje de programare. O tehnică nouă de programare este programarea orientată pe obiecte. Un obiect este o entitate de sine stătătoare care se compune din date şi proceduri asociate pentru accesarea şi prelucrarea lor. Un obiect poate deriva din alt obiect, moştenind de la acesta componentele sale. Un limbaj orientat pe obiecte dispune de mecanismele-suport necesare acestui stil de programare. Astfel de limbaje sunt: SIMULA, SMALLTALK-80, C++, PASCAL versiunile TURBO PASCAL 5.5 şi 6.0

47

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

4.2. Calsificarea limbajelor de programare de nivel înalt
În funcŃie de modul de specificare al problemei, limbajele de programare de nivel înalt se pot clasifica în: limbaje de programare procedurale (limbaje imperative) – în care programatorul descrie modul de rezolvare a problemei, secvenŃa de operaŃii ce trebuie executate pentru rezolvarea problemei. Astfel de limbaje de programare sunt cele convenŃionale FORTRAN, COBOL, PASCAL, ADA, BASIC, C, C++. limbaje de programare neprocedurale (limbaje declarative) în care programatorul precizează mai degrabă problema decât modul de rezolvare, care la rândul lor sunt de mai multe tipuri: limbaje de programare funcŃionale, de exemplu LISP; limbaje de programare logice cum este PROLOG; limbaje de programare orientate pe obiecte ca SMALTAUK; limbaje de programare bazate pe flux de date spre exemplu VAL. Caracteristicile acestor limbaje sunt: • • • referinŃe asociate; programare nedeterminată; procese paralele.

4.3. Limbaje şi maşini virtuale
Limbajul şi maşina virtuală sunt interdependente, între ele existând o relaŃie strânsă. Maşina prin limbajul ei are un set de instrucŃiuni de bază pe care le poate executa. Se poate spune că o maşină defineşte un limbaj. Dar şi reciproc, un limbaj defineşte o maşină care poate executa toate programele scrise în acel limbaj. Acest limbaj este definit limbaj maşină. Actual, programele sunt scrise în limbaje de nivel înalt. Aceste programe se numesc programe sursă. Pentru a executa astfel de programe, pe un anumit calculator, instrucŃiunile acestora trebuie transformate în instrucŃiuni în limbaj maşină. Această operaŃie de transformare sau translatare a unui program din limbaj de nivel înalt în limbaj maşină se realizează cu ajutorul unui program special numit translator. Translatoarele se împart în două categorii: compilatoarele translatează un program scris în limbaj de nivel înalt (program sursă) într-un program în limbaj maşină; acesta poate fi apoi executat oricând

48

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

este necesar; compilatorul înlocuieşte fiecare instrucŃiune din programul sursă cu secvenŃa echivalentă de instrucŃiuni ale limbajului maşină; compilatorul primeşte, deci, ca date de intrare programul în limbaj de nivel înalt şi furnizează ca rezultat un program în limbaj maşină; interpretoarele analizează fiecare instrucŃiune din programul scris în limbaj de nivel înalt şi execută secvenŃa echivalentă de instrucŃiuni în limbaj maşină, după care trece la următoarea instrucŃiune din programul sursă. Translatarea unui program scris în limbaj de asamblare în limbaj maşină se realizează cu ajutorul unui program numit asamblor. Calculatorul împreună cu programul translator (compilator sau interpretor) pentru un anumit limbaj de programare poate fi considerat ca un calculator virtual (maşină virtuală), care “ştie” acel limbaj. Astfel spus, limbajul maşină al calculatorului virtual este acel limbaj de programare. Pentru ca operaŃia de translatare a unui program scris în limbajul L1 într-un limbaj maşină L0 să fie simplă, este necesar ca limbajele să nu fie mult diferite. În acest caz, limbajul L1 poate fi un limbaj prea simplu pentru implementarea unor aplicaŃii complexe. De aceea este necesar un nou limbaj L2, care să fie mai apropiat de aplicaŃie decât de maşină. Programele scrise în limbajul L2 pot fi apoi translatate în limbajul L1 sau pot fi interpretate de un interpretor scris în L1. Utilizatorul are acum la dispoziŃie un calculator virtual al unui limbaj maşină L2. Programul în L2 poate fi translatat direct şi în L0 sau interpretat de un interpretor pe calculatorul real C0, dar operaŃia de translatare este mai complexă. Prin implementarea de noi compilatoare şi translatoare se pot creea noi maşini virtuale. Astfel se formează o ierarhie de limbaje, în care un limbaj este mai complex decât limbajele predecesoare. Generalizând, structura ierarhică poate fi reprezentată schematic ca în figura 4.1. Calculator virtual Cn, limbaj maşină Ln. • • Calculator virtual C2, limbaj maşină L2. Calculator virtual C1, limbaj maşină L1. Calculator virtual C1, limbaj maşină L1.
Nivel 3

Nivel 2

Nivel 1

Nivel 0

Figura 4.1. Structura ierarhică a limbajelor de programare

49

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Limbajul din vârful ierarhiei (Ln) este cel mai complex, iar cel de la baza ierarhiei (L0), cel mai simplu. Este posibil ca unele instrucŃiuni de pe un nivel ierarhic să se regăsească pe nivelul sau nivelurile ierarhice superioare. Programele scrise în limbajul Li, 0 < i <= n, sunt translatate într-un limbaj Lj sau sunt interpretate de un interpretor pe calculatorul Cj, cu 0 < j <= i. RelaŃia dintre un calculator virtual şi un limbaj este următoarea: fiecare calculator virtual defineşte un limbaj ce constă din instrucŃiunile pe care acesta le poate executa. Un limbaj de programare, la rândul său, defineşte un calculator virtual care poate executa programele scrise în acel limbaj. Programatorii folosesc de regulă calculatorul virtual de pe nivelul n, fără a fi preocupaŃi de nivelurile de la baza structurii şi de legătura între niveluri. Pentru a înŃelege însă cum lucrează un calculator sau pentru a proiecta noi niveluri este necesar să cunaştem întreaga ierarhie.

4.4. Calculatoarele actuale – calculatoare multinivel
Pornind de la structura ierarhică de limbaje şi de maşini virtuale prezentată în paragraful anterior, un sistem de calcul poate fi reprezentat din punct de vedere funcŃional ca o ierarhie de niveluri, fiecare nivel fiind construit pe baza nivelurilor predecesoare. Un sistem de calcul este alcătuit dintr-un ansamblu de resurse fizice şi un pachet de programe sistem ce realizează prelucrarea datelor pe baza unor algoritmi specificaŃi de utilizator prin programe de aplicaŃie. Resursele fizice ale calculatorului (cum ar fi de exemplu: circuite electronice, circuite integrate, dispozitive, echipamente de intrare/ieşire, memorii, surse de alimentare, cabluri) formează hardware-ul. Pachetul de programe sistem şi programele de aplicaŃie formează software-ul de bază, respectiv software-ul de aplicaŃie. Compilatoarele şi interpretoarele fac parte din software-ul de bază. Termenul de „firmware” se referă la software-ul inclus în dispozitivele electronice în momentul fabricaŃiei acestora. Orice operaŃie efectuată prin program (software) poate fi implementată în hardware şi reciproc, orice operaŃie executată de hardware poate fi simulată prin software. În acest mod, se poate considera că, din punct de vedere logic, software-ul şi hardware-ul sunt echivalente. Stabilirea implemntării unei operaŃii în hardware sau în software se face în etapa de proiectare a unui calculator şi are la bază criterii ca: viteza de execuŃie, preŃ de cost, fiabilitate. Astfel, spre exemplu, operaŃiile elementare (adunare, scădere, înmulŃire,

50

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

împărŃire) cu numere reale au fost implementate iniŃial în software. Ulterior, s-au proiectat circuite specializate care să efectueze aceste operaŃi hardware, avantajul principal fiind execuŃia mult mai repede decât în cazul simulării prin software. Fiecare calculator defineşte un număr de operaŃii care pot fi executate de unitatea sa centrală. Aceste operaŃii sunt în principal destinate memorării sau recuperării informaŃiilor din memoria internă, calculelor aritmetice sau logice şi controlului dispozitivelor periferice. În plus, există un număr de instrucŃiuni pentru controlul ordinii în care sunt executate operaŃiile. O instrucŃiune este o operaŃie elementară executabilă de către unitatea centrală a unui calculator. O secvenŃă de mai multe instrucŃiuni executate una după cealaltă o vom numi program. Sarcina principală a unui calculator este execuŃia programelor utilizator. Pentru a fi executate programele trebuie să fie într-o anumită stare, numită executabilă , adică instrucŃiunile programului să fie în cod executabil (instrucŃiunile sunt executate secvenŃial pas cu pas folosind memoria internă. Un program pot fi în trei stări după cum se poate vedea în figura 4.2. Aceste stări sunt: cod sursă – un program în acest cod poate fi format din mai multe subprograme, fiecare fiind complet separat şi având propriul său cod sursă; codul obiect se obŃine prin compilarea codului sursă al programului; prin compilare codul sursă este analizat sintactic şi semantic după care este transformat în cod obiect; codul executabil se obŃine prin link-editarea codului obiect sau codurile obiect ale tuturor subprogramelor constituiente ale programului sunt legate şi transformate în cod executabil.

Analiză sintactică şi

Cod sursă
semantică

Cod obiect

Cod executabil

Figura 4.2. Stările unui program

51

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

Caracterul secvenŃial al calculatorului rezultă din modul de execuŃie al programului. Codul executabil este memorat în memoria internă în momentul în care se doreşte lansarea în execuŃie. Lansarea în execuŃie a unui program se face prin intermediul SO şi prin realizarea funcŃiilor UC în modul următor: 1. forma executabilă a instrucŃiunii este transferată în memoria internă de pe hard disk; 2. datele de intrare sunt stocate în memoria internă prin intermediul dispozitivelor de intrare 3. decodificarea instrucŃiunilor (identificarea operaŃiilor ce trebuie realizate) şi aducerea din memoria internă a operanzilor; 4. prin comanda UCC instrucŃiunile stocate în memorie sunt prelucrate şi se dă comanda UAL pentru a prelua datele din memoria internă în vederea realizării calculelor aritmetice şi logice; 5. prin operaŃiile executate de UAL se obŃin rezultatele intermediare ce sunt temporar stocate în memorie pentru a fi ulterior utilizate în obŃinerea rezultatelor finale ce vor fi stocate tot în memorie; 6. prin comanda UCC rezultatele finale din memorie sunt transmise dispozitivelor de ieşire. În acest mod, programul este executat secvenŃial, instrucŃiune cu instrucŃiune. Datele şi programele sunt introduse în calculator prin intermediul unităŃii de intrare fiind apoi depuse în memorie. Unitatea de comandă trimite către memorie semnale de control reprezentând adrese şi obŃine de la aceasta instrucŃiunile programului de execuŃie. Pe baza instrucŃiunilor, unitatea de comandă furnizează semnalele de control necesare pentru citirea din memorie a datelor de prelucrat şi executarea operaŃiilor necesare în cadrul unităŃii aritmetice-logice. Rezultatele sunt depuse din nou în memorie sau sunt trimise către mediul extern prin intermediul unităŃii de ieşire. InstrucŃiunile care compun un program trebuiesc şi ele reprezentate în memorie, la fel ca orice altă informaŃie, din cauza faptului că unitatea centrală nu are posibilitatea să-şi păstreze programele în interior. Pentru memorarea acestor instrucŃiuni este nevoie de o nouă convenŃie de reprezentare care să asocieze un număr sau o secvenŃă de numere naturale fiecărei instrucŃiuni a unităŃii centrale. ExecuŃia unui program de către calculator presupune încărcarea instrucŃiunilor în memoria internă şi execuŃia acestora una câte una în unitatea centrală. Unitatea centrală citeşte din memorie câte o instrucŃiune, o execută, după care trece la următoarea instrucŃiune. Pentru păstrarea secvenŃei, unitatea centrală memorează în permanenŃă o

52

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

referinŃă către următoarea instrucŃiune într-o locaŃie internă numită contor de program (indicator de instrucŃiuni). Modelul de execuŃie secvenŃială a instrucŃiunilor, în ordinea în care acestea sunt aşezate în memorie, este departe de a fi acceptabil. Pentru a fi util, un program trebuie să poată să ia decizii de schimbare a instrucŃiunii următoare în funcŃie de informaŃiile pe care le prelucrează. Aceste decizii pot însemna uneori comutarea execuŃiei de la o secvenŃă de instrucŃiuni la alta. Alteori, este necesar să putem executa o secvenŃă de instrucŃiuni în mod repetat până când este îndeplinită o anumită condiŃie exprimabilă cu ajutorul informaŃiilor din memorie. Numărul de repetări ale secvenŃei de instrucŃiuni nu poate fi hotărât decât în momentul execuŃiei. Aceste ramificări ale execuŃiei se pot simula destul de uşor prin schimbarea valorii referinŃei memorate în contorul de program. De remarcat că unitatea de comandă poate testa direct rezultatele obŃinute în unitatea aritmetică-logică, iar pe baza unor instrucŃiuni speciale ale programului poate lua decizii de execuŃie a unor secvenŃe de instrucŃiuni din două sau mai multe secvenŃe (realizarea de ramificaŃii în program). Structura de principiu a unui sistem de calcul, prezentată în fig. 2.1 a capitolului 2, este structurată pe 7 niveluri ierarhice după cum se poate observa în figura 4.2. Nivelul 0, nivelul fizic, este primul nivel care intră în alcătuirea unui sistem de calcul, pe care se află logica cablată, adică circuitele şi dispozitivele din care se compun unităŃile funcŃionale ale calculatorului: processor, memorie, subsitemul de intrare/ieşire. Aceste circuite sunt circuite digitale numite porŃi. PorŃile pot fi privite ca nişte componente logice interconectate. Acestea sunt realizate cu ajutorul tranzistoarelor. Fiecare poartă dispune de una sau mai multe intrări logice şi întoarce ca rezultat o funcŃie simplă (SI, NU, SAU, SAU EXCLUSIV) obŃinută conform semnificaŃiei de la intrare. La acest nivel se execută instrucŃiunile limbajului microprogramat de la nivelul superior care acŃionează asupra acestui nivel ca nişte comenzi. Nivelul 1, nivelul microprogramat, nivelul limbajului intern al maşini, este primul nivel la care apare conceptul de program, ca o secvenŃă de instrucŃiuni. Această secvenŃă, numită microprogram, are rolul de a interpreta instrucŃiunile de pe nivelul 2 şi este realizat cu un set mic de instrucŃiuni simple (sub 50), de transfer şi teste al unor condiŃii. Acest set de instrucŃiuni corespund unor operaŃii elementare care se referă la hardware (ca de exemplu: încarcă o valoare într-un registru, transferă date între două resurse ale calculatorului, testează un bit). Pe acest nivel există mai multe programe pe care maşina de pe nivelul 1 le poate executa. Este scris într-o memorie ROM internă la care are acces numai producătorul. În multe calculatoare, microprogramul este în „firmware”.

53

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

AplicaŃii
Nivel 6

Limbaje de programare

Nivel 5

Limbaj de asamblare

Nivel 4

Sistem de operare

Nivel 3

Calculatorul fizic

Nivel 2

Microprogramare

Nivel 1

Circuite şi dispozitive

Nivel 0

Figura 4.2. Modelul funcŃional al unui sistem de calcul Nivelul 2, nivelul maşinii convenŃionale, pe care se află calculatorul real, maşina fizică. Acest nivel corespunde codului mşină. Fiecare instrucŃiune din setul de instrucŃiuni de pe acest nivel este interpretată de un microprogram de pe nivelul 1. Aceste instrucŃiuni sunt prezentate în documentaŃia calculatorului şi constau din valori (coduri) numerice binare. Compilatoarele generează programe ce conŃin instrucŃiuni în acest limbaj. Fiecare procesor defineşte în mod implicit un limbaj de nivel 2 şi o maşină virtuală al cărui limbaj maşină este interpretat de un microprogram. Această structură fizică poate corespunde la două sau mai multe maşini dacă microprogramul de pe nivelul 1 este scris în mod adecvat şi aceeaşi maşină convenŃională se poate implementa prin diverse structuri fizice. Sunt calculatoare care nu dispun de nivelul 1 microprogramat, atunci instrucŃiunile de pe nivelul 2 sunt tratate direct de nivelul 0. Nivelul 3, nivelul sistemului de operare este constituit dintr-un pachet de programe care creează o interfaŃă între utilizator şi calculator şi care realizează gestiunea resurselor

54

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

hardware şi software din sistemul de calcul. Sistemul de operare este la rândul său structurat pe trei niveluri: nucleul sistemului de operare, acestui nivel îi corespund un set de instrucŃiuni noi, principalele operaŃii realizate fiind operaŃile de intrare/ieşire la nivel fizic, alocarea resurselor fizice din sistem, tratarea unor situaŃii de excepŃie, s.a.; nucleul sistemului de operare MS-DOS se numeşte BIOS ( Basic Input Output System); executivul sistemului de operare, setul de instrucŃiuni de pe acest nivel realizează operaŃiile de intrare/ieşire la nivel logic, gestionează fişierele pe disc, planifică activitatea din sistem, s.a.; executivul sistemului de operare MSDOS se numeşte BDOS ( Basic Disk Operatinng System). supervizorul sau interpretorul liniei de comandă, acestui nivel îi corespunde un limbaj de comenzi şi instrucŃiuni care realizează interfaŃa cu utilizatorul; prin intermediul acestui limbaj de comandă utilizatorul comunică cu sistemul şi are acces la resursele lui, de accea, din punctul de vedere al utilizatorului, acesta este primul nivel pe care trebuie să-l ştie pentru a putea folosi calculatorul. Nivelul 4, nivelul limbajului de asamblare, permite utilizatorului să scrie programe pentru nivelurile 1, 2 şi 3, folosind nume simbolice pentru operaŃii şi nu coduri numerice. Caracteristica specifică acestui nivel este aceea că nivelurile inferioare sunt interpretate, iar nivelurile superioare au nevoie de translatoare. Programele scrise în limbaj de asamblare sunt translatate în cod maşină de către asamblor. Programarea în limbaj da asamblare permite un control direct al calculatorului real, dar presupune o cunoaştere mai detaliată atât a resurselor calculatorului şi funcŃionării acestoracât şi a sistemului de operare. Nivelul 5, nivelul limbajului de aplicaŃie adică, limbajele de programare de nivel înalt sau limbaje orientate pe tipuri de probleme concepute pentru a fi utilizate de către programatorii de aplicaŃii. Programele scrise pe acest nivel sunt translatate (de către compilatoare) pe nivelurile 3 sau 4, sau sunt interpretate. Nivelul 6, nivelul ansamblului de programe care conŃine numeroase date pentru aplicaŃii care Ńin de diferite domenii de lucru. În concluzie se poate spune că un calculator poate fi văzut ca o suită de niveluri, fiecare înglobându-le pe cele precedente. Un nivel reprezintă un grad oarecare de abstractizare şi conŃine diverse obiecte şi operaŃii cu aceste obiecte. În sens ascendent creşte complexitatea prelucrării, iar în sens descendent creşte volumul materialului prelucrat.

55

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

4.5. Verificare
1. DefiniŃi conceptual de algoritm şi de program. 2. IndicaŃi etapele care trebuie parcurse pentru rezolvarea unei probleme cu ajutorul calculatorului. 3. Care este diferenŃa între limbajele de asamblare şi cele de nivel înalt. 4. IndicaŃii criteriile de clasificare a limbajelor de programare de nivel înalt. 5. IndicaŃi stările unui program.

4.6. Teste
1. IndicaŃi care este definiŃia instrucŃiunii a) set de reguli ce defineşte secvenŃa de operaŃii ce trebuie executate de calculator pentru soluŃionarea unei problem b) ansamblu de resurse fizice şi un pachet de programe sistem ce realizează prelucrarea c) operaŃie elementară executabilă de către unitatea centrală a unui calculator d) secvenŃă de mai multe instrucŃiuni executate una după cealaltă Raspuns:c.. 2. Un program pot fi în trei stări. IndicaŃi starea incorectă a) cod sursă b) cod obiect c) cod compilat d) cod executabil Raspuns: c. 3. Care dintre codurile următoare este analizat sintactic şi semantic după care este transformat îalt cod. 1. 2. 3. 4. cod sursă cod obiect cod compilat cod executabil

Raspuns:a

56

Conf. de.ing. Ofelia Vasilescu

Bazele informaticii

Microsoft Office
Firma Microsoft a creat pentru sistemul de operare Windows 95 pachetul de programe Microsoft Office care conŃine mai multe aplicaŃii: Microsoft Word; Microsoft Power Point; Microsoft Outlook; Microsoft Excel; Microsoft Access. Procesorul de texte Word este un program puternic pentru prelucrarea textelor şi organizarea lor sub forma de tipăritură: comunicări, broşuri, etc. II. Programul de grafică Power Point permite realizarea prezentărilor pentru retroproiector, proiecŃii utilizând calculatorul. III. Programul pentru gestionarea foilor de calcul Excel este un program care permite prelucrarea datele sub formă de tabele şi reprezentarea lor grafică. IV. Sistemul de gestiune a bazelor de date Access este un program specializat în construirea şi încărcarea bazelor de date şi conŃine proceduri de consultare şi interogare rapida a datelor înregistrate. V. AplicaŃia Outlook permite organizarea corespondentei şi planificarea activităŃilor într-o agendă. Folosirea aplicaŃiilor din pachetul Microsoft Office are următoarele avantaje: AplicaŃiile lucrează folosind aceleaşi concepte şi metode. AplicaŃiile comunică între ele prin intermediul aceloraşi proceduri şi nu apar probleme de incompatibilitate. AplicaŃiile din pachetul Microsoft Office prezintă următoarele avantaje: Sistemul de meniuri conŃine pentru toate aceste 5 aplicaŃii aceleaşi 9 meniuri verticale: File, Edit, View, Insert, Format, Tools, Table / Date / Draw, Window, Help. Folosesc aceleaşi taste scurtături (shortcut) pentru opŃiunile comune din meniuri: Ctrl + C pentru Copy, Ctrl + N pentru New, etc.. InformaŃiile suplimentare despre fişierele de date administrate de fiecare aplicaŃie sunt aceleaşi. Folosesc rigle pentru poziŃionarea mai uşoară a fişierului de date. I.

57

Conf. dr.ing. Ofelia Vasilescu

Bazele informaticii

AplicaŃiile Microsoft Office dispun de instrumente de ajutor sub formă de: Proceduri expert _ Wizard sunt instrucŃiuni prin care sunt realizate fişiere de stare de date complexe; Previzualizări – Previews, arată pe ecran aspectul fişierului de date aşa cum vor fi listate la imprimantă; DemonstraŃii – Demos arată, la cerere, cum trebuie procedat la execuŃia unei lucrări mai complexe.

58

Sign up to vote on this title
UsefulNot useful