INFORMATICA TEMA 1. INTRODUCERE 1. Evoluţia sistemelor de calcul 2. Structura von Neumann a sistemelor de calcul secvenţiale 3. Generaţii de sisteme de calcul 4. Verificare 5. Teste TEMA 2. ARHITECTURA SISTEMELOR DE CALCUL 1. Structura calculatoarelor personale 2. Unitatea centrală de prelucrare (UC) 2.1. Microprocesorul ( P) 2.2. Microprocesorul Pentium 3. Memoria internă 4. Memoria secundară 5. Dispozitive periferice de intrare / ieşire 6. Verificare 7. Teste TEMA 3-4. SISTEME DE OPERARE ŞI LIMBAJE DE PROGRAMARE 1. Definiţia şi funcţiile sistemelor de operare 2. Evoluţia sistemelor de operare 3. Conceptele sistemului de operare 4. Clasificarea sistemelor de operare 5. Prezentarea Windows 5.1. Tipuri de fişiere 5.2. Directoare în sistemul de operare MS-DOS 5.3. Dosare (folder) în Windows 5.4. Sistemul de operare MS-DOS 5.5. Parteneriatul dintre MS-DOS şi Windows 5.6. Sistemul de operare WINDOWS 6. Scurtă prezentare a limbajelor de programare 7. Calsificarea limbajelor de programare de nivel înalt 8. Limbaje şi maşini virtuale 9. Calculatoarele actuale – calculatoare multinivel 10. Verificare 11. Teste TEMA 5-6. MICROSOFT OFFICE 1. Prezentarea pachetului de instrumente Microsoft Office 2000 2. Prezentarea editorului de texte WORD 3. Prezentarea POWER POINT 4. Prezentarea EXCELL TEMA 7. RECAPITULARE
TEST ELIMINATORIU 1 TEMA 8-9. REŢELE DE CALCULATOARE 1. Apariţia reţelelor de calculatoare 2. Definirea reţelelor de calculatoare 3. Avantajele reţelelor de calculatoare 4. Organizarea şi principiul de funcţionare al reţelelor de calculatoare 5. Nivelurile unei reţele de calculatoare 6. Tipuri de reţele de calculatoare 7. Reţele locale LAN 8. Topologii de reţele locale LAN 9. Reţeaua WAN 10. Verificare 11. Teste TEMA 10. INTERNET 1. Interconectarea la INTERNET 2. Servicii INTERNET 3. Serviciul de poştă electronică (E-mail) 4. Serviciul Wold Wide Web (WWW) 4.1. Prezentare Wold Wide Web 4.2. Proiectarea Wold Wide Web 5. Verificare 6. Teste TEMA 11-12-13. Limbajul HTML 1. Trăsăturile limbajului HTML 2. Structura unui program 2.1. Secţiunea de antet 2.2. Sectiunea BODY 3. Liste 4. Referinţe (link-uri) 5.1. Referinţe externe 5.2. Ancore 6. Înserarea imaginilor şi a fişierelor audio 7. Cadre (frame) 8 Verificare 9. Teste TEMA 14.
RECAPITULARE TEST ELIMINATORIU 2
BIBLIOGRAFIE Bibliografie obligatorie: 1. Sinteza existentă pe site-ul Spiru Haret 2. Popescu O., Bazele informaticii , Editura Herald, 2008
2
2. Mareş M. D. , D. Fusaru, G. Mihai, Office XP Instrumente birotice, Editura Fundaţia România de Mâine, 2004 Bibliografie opţională 1. Lungu I.,ş.a., Baze de date – organizare, proiectare si implementare, Editura All, Bucuresti, 1995 2. Eder B., W. Kodym, F. Lechner, Windows, Editura BIC ALL, 2001 3. Eder B., W. Kodym, F. Lechner, Word, Editura BIC ALL, 2002 4. Eder B., W. Kodym, F. Lechner, Excell, Editura BIC ALL, 2002 5. Tanenbaum A. S., Retele de calculatoare, Editura Agora, Bacau, 2000
3
TEMA 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:
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ă.
4
Unitatea de comandă (UC) este cea responsabilă cu administrarea şi prelucrarea informaţiilor în timp ce memoria internă serveşte la depozitarea acestora.
M
UI
UAL
UE
UC Flux de date şi instrucţiuni Fluxul de comenzi şi stări
Figura 2.1. Structura von Neumann 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 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.
5
1.3. Generaţii de sisteme de calcul 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; • 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: calculatoare cu diode şi tranzistoare cu Si şi Ge interconectate prin cablaj imprimat; prin înlocuirea tuburilor electronice cu dispozitive semiconductoare (diode şi tranzistori); construirea memoriilor cu ferite (în anul 1959); 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 conectate pe circuite imprimate pe mai multe niveluri (straturi); memorii externe de mare capacitate, reprezentate prin discuri de masă; 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; 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”); a început era calculatoarelor personale; 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; apariţia conceptelor de multimedia şi de programare orientată pe obiecte. 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; prelucrare masivă paralelă; sisteme multiprocessor; apariţia şi dezvoltarea serviciului www (Wold Wide Web) arhitectura de bază a acestor calculatoare cuprinde trei componente:
6
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. 1.4. Verificare 1. Indicaţi prin ce metodă se pot mării performanţele unui SC, fără a se modifica tehnologia. 2. Care sunt cuvintele cheie din cadrul definiţiei unui SC ? 3. Indicaţi unităţile funcţionale din cadrul structurii de bază a calculatoarelor secvenţiale, stabilită de John von Neumann. 5. 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. 2. 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.
7
3. 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. TEMA 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 (µ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
Dispozitive de ieşire
Memoria internă
UC µP Unitate aritmetico logică
Unitate de comandă şi control
Figura 2.1. Structura unui calculator personal
8
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 sub forma unei dischete (3,5 inch) care poate să stocheze şi să păstreze pe timp nelimitat informaţii sub formă de programe şi date; CD-RW şi DVD-RW - dispozitiv de memorare de mare capacitate cu acces rapid la informaţii. monitorul - dispozitiv de afişare (display) alfanumerică şi grafică alb/negru şi color şi care este o interfaţă grafică în dialogul om-calculator. 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 şi DVD - ROM; 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. 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.
9
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. 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. decidificarea instrucţiunilor; 3. executarea propriu-zisă. Timpul necesar executării unei instrucţiuni se numeşte ciclu instrucţiune. 10
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); 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
11
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. 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. 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ă. Astăzi microprocesoarele actuale î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. 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. 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.
12
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. Transmiterea are loc pe o magistrală de 256 de biţi. Dimensiunea mare a magistralei face posibil transferul 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” cum ar fi:
13
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. 1. 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ă. 2. 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. 2.2.
Memoria sistemelor de calcul
Memoria reprezintă componenta sistemului de calcul în care se stochează programele (instrucţiunile) şi datele. Microprocesorul are capacitatea de a memora instrucţiunile şi datele care urmează a fi prelucrate şi rezultatele intermediare. Rolul său este de a prelucra ş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, benzi magnetice, floppz disck, hard disck şi stick.
Memoria internă 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. Memoria convenţională conţine o parte de memorie RAM şi una de ROM cu următoarea organizare structurală: la adresele joase avem:
14
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; 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.
Memorii extinse
Până la 16MB pt. 286 şi 4GB pt. 386, 486 1024KB
ROM-BIOS Rezervat
960KB 832KB
Memorie expandată 786KB Memorie video Memorie convenţională
640KB 0KB
Figura 2.4. Organizarea memoriei interne 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.
15
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 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-RW, DVD-RW
2.5. Dispozitive periferice de intrare / ieşire Unitatea centrală de prelucrare a unui calculator comunică cu exteriorul prin intermediul unor dispozitive periferice. Dispozitivele periferice pot fi de intrare (tastatura, mouse-ul , scanner-ul, creion optic) sau de ieşire(imprimantă, plotter) î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. 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 ce tip de memorie îşi pastrează conţinutul neschimbat: a) RAM
16
b) ROM Raspuns: b. 2. Indicaţi dispozitivele mixte: a) hard disk b) imprimanta c) scanner d) tastatura e) monitor Raspuns: a,e. TEMA 3. SISTEME DE OPERARE ŞI LIMBAJE DE PROGRAMARE 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 . 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;
17
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 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: • 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: FORTRAN (FORmula TRANslation) în anul 1956 pentru probleme tehnico-ştiinţifice, ALGOL (ALGOrithmic Language) în 1958 pentru probleme ştiinţifice, cu puţine date iniţiale, dar cu numeroase prelucrări aritmetice şi logice şi COBOL (Common Business Oriented Language) în 1959 pentru calcule economice Generaţia a III avea următoarele caracteristici din punct de vedere software: • 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
18
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. 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 prietenoase (“user-friendly”); • cele două SO care au dominat calculatoarele personale şi staţiile de lucru sunt Microsoft MS-DOS şi UNIX. • 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
19
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. Procesul este conceptul de bază în orice SO. Un proces este un program în execuţie care conţine: programul executabil, date şi stiva, program “counter”, “poiter” de stivă şi alţi regiştri, toate formând informaţia necesară execuţiei unui program.
Fişierele sistem reprezintă 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 diskului ş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. 3.4. Clasificarea sistemelor de operare SO pot fi clasificate după structura internă în 4 grupe: sisteme compacte ( monolitice) 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; 20
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) SO pe maşini virtuale Sunt sisteme bazate pe „time-sharring” care furnizează concepte de multiprogramare şi de maşină extinsă (virtuală) cu o interfaţă mai convenabilă hardware. SO pe model „client-server” . 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”). 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”) 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.
21
3.5. Prezentarea WINDOWS 3.5.1. Tipuri de fişiere Fişierul este o colecţie de informaţii, omogenă din punctul de vedere al naturii informaţiilor şi al cerinţelor de prelucrare a acestora, colecţie care poate fi memorată pe un suport de informaţie. Fişierele se diferenţiază între ele printr-un identificator format din două componente, separate între ele prin punct, nume şi extensie:
.. Prin extensie se indică tipul fişierului şi în acest fel apartenenţa la o categorie de fişiere. La sistemele de operare: MS-DOS, numele este reprezentat printr-un şir de maxim 8 caractere alfanumerice iar extensia printr-un şir de 3 caractere Windows se acceptă nume lungi de fişiere, care pot avea până la 255 de caractere şi implicit se preiau primele caractere care-l fac unic definit în arborescentă. Fişierele pot fi divizate în două categorii: Fişiere executabile care conţin programe în cod executabil. Fişiere neexecutabile conţin programe în cod sursă care la rândul lor pot fi de două tipuri: programe ce trebuie prelucrate pentru a fi transpuse în programe în cod executabil cum sunt: Fişierele de date, care conţin date ce vor fi prelucrate de un fişier executabil sau care s-au obţinut în urma prelucrării fişierelor de baze de date omogene tip .dbf. Fişierele sursă, care conţin programe sursă, scrise într-un limbaj de programare, cum este de exemplul Pascal de tip .pas sau C de tip .c; programe ce pot fi vizualizate fără alte prelucrări prealabile de tipul: Fişierelor text reprezentate prin coduri alfanumerice şi coduri de comenzi pentru formatarea şi aranjarea în pagină a textului; Fişierelor de imagini reprezentate prin coduri care descriu vectorial sau prin formule matematice imaginile, determinând pixelii şi codurile de culori care vor fi afişate pe ecran sau tipărite. Fişiere de sunet sunt reprezentări digitale a sunetelor. Câteva extensii standard recunoscute de sistemul de operarea MS-DOS sunt prezentate în figura 3.2. Extensie .com .exe .bat (batch) .sys (system)
Tipul fişierului fişier executabil, conţine un program care se încărcă în memoria internă şi se lansează în execuţie fişier de comenzi, conţine secvenţe de comenzi MS-DOS care se execută în bloc fişier sistem
Figura 3.2. Extensii standard recunoscute de sistemul de operarea MS-DOS
22
Fişierele pot avea următoarele proprietăţi în funcţie de modul de tratare al sistemului de operare: R ( Read Only) precizează că fişierul este protejat la scriere; A ( Archive) crează o copie de siguranţă pentru fişier; S ( System) precizează că este vorba de un fişier sistem ce aparţine sistemului de operare şi nu poate fi folosit în operaţii curente; H (Hidden) precizează faptul că fişierul este ascuns pentru operaţiile cu fişiere şi directoare. O serie de extensii au fost create de firmele producătoare pentru anumite programe utilitare cum sunt cele prezentate în figura 3.3. fişier arhivat cu programul pkpak fişier arhivat cu .zip programul pkzip fişiere baza de date de .dbf tip dBase, FoxPro sau Access; .xls fişiere cu tabele tip Excel fişier creat cu Paintbrush .pcx din Windows fişiere tip Microsoft .msp Windows fişiere cu format tip .gif Graphic Image Format fişiere cu format tip .bmp bitmap .jpg fişier de tip document .doc Word fişier de tip text creat cu .txt NotePad din Accessories din Windows fişier sursă PASCAL .pas fişier sursă BASIC .bas fişier sursă C .c fişier sursă FORTRAN .for .arc
arhive
baze de date
fişiere de imagini
fişiere sursă (de tip text ASCII)
Figura 3.3. Extensii create de firmele producătoare
23
3.5.2. Directoare în sistemul de operare MS-DOS Directorul (directory) este un catalog în care sunt memorate informaţii despre fişierele care sunt înregistrate pe disc. La formatarea dispozitivului (discului sau dischetei) se creează directorul rădăcină, denumit „Root Director”, în care sunt memorate: numele cu extensia fiecărui fişier, spaţiul ocupat de aceste fişiere pe disc în octeţi şi data şi ora la care a fost creat sau modificat. Arborele de directoare denumită „tree” este o structură arborescentă de directoare creată în zona de Boot a discului pornind de la directorul rădăcină. In construirea arborelui de directoare, se respectă următoarele reguli: Un director are un singur director de origine, numit director părinte (parent directory), situat pe nivelul imediat ierarhic superior. Un director care are un director părinte se mai numeşte subdirector. Astfel se poate obţine un arbore cu un director şi mai mulţi subdirectori. Un director poate avea mai multe directoare copii (child directories). Aceste directoare sunt în directa lui subordonare şi se găsesc pe nivelul imediat inferior. 3.5.3. Dosare (folder) în Windows Dosarul (folder) este folosit în sistemul Windows 95 şi respectiv 98 pentru a defini un container în care se pot păstra fişiere, aplicaţii sau chiar alte dosare. Dacă directorul reprezintă un mecanism prin care sunt organizate fizic fişierele pe disc, dosarul reprezintă un mecanism de organizare logică, la nivelul interfeţei a diferitelor entităţi cu care lucrează sistemul de operare, inclusiv a fişierelor. 3.5.4. Sistemul de operare MS-DOS Sistemul MS-DOS (Microsoft Disk Operating System), este un sistem de operare monouser şi monotasking, ceea ce înseamnă că permite folosirea calculatorului la un moment dat de către un singur utilizator, rulându-se un singur program de aplicaţie. Acest sistem de operare funcţionează pe microcalculatoarele dotate cu procesoare Intel 80x88 sau Pentium. Acest sistem de operare a fost inclus ulterior în sistemele de operare Windows 95/98/Me/NT/2000/XP şi Novell NetWare. Sistemul de operare MS-DOS este structurat pe trei niveluri: BIOS (Basic Input Output System); Nucleul; Shell-ul (COMMAND.COM). Ultimele două componente reprezintă sistemul de operare propriu-zis şi sunt realizate de firma Microsoft. În principal, componenta BIOS (sau componenta fizică) conţine un set de programe care asigură: autotestarea la punerea sub tensiune, operaţie denumită POST (Power-On Self Test). În acest test procesorul se autoverifică şi apoi verifică timer-ul sistemului şi memoria RAM. În acest moment, dacă găseşte vreo eroare, se trimite un mesaj către monitor. Dacă se întâlnesc erori ce nu pot fi afişate pe monitor, ele sunt
24
semnalizate sub formă de sunete. După POST se transmite un sunet şi pe acran apar mesaje de încărcare a sistemului de operare odată ce bootstrap a înregistrat terminarea activităţilor POST; suportul software pentru dispozitivele periferice standard – în felul acesta izolează sistemul de operare de ceea ce este specific hardware-ului (de exemplu, componenta BIOS conţine codurile apelurilor de sistem pentru citirea şi scrierea de la adresele absolute de pe disc, pentru citirea unui caracter de la tastatură sau pentru afişarea unui caracter pe ecran); rutina pentru iniţializarea sistemului; programul de încărcare a primului sector logic de pe discul flexibil sau hard disc. La pornirea calculatorului se porneşte încărcătorul bootstrap care este localizat în cipul BIOS. Acesta asigură testarea componentelor hardware ale calculatorului şi încărcarea sistemului de operare în memoria RAM. Componenta BIOS este furnizată de constructor şi nu de firma Microsoft, fiind localizată în memoria ROM (Read Only Memory) în blocul de 64 KB, chiar sub limita de 1 MB a spaţiului de adresare. Capacitatea cipului BIOS este măsurată în Megabiţi. Majoritatea cipurilor BIOS de astăzi au dimensiunea de 2Mb (256KB). Fişierul IO.SYS (IBMBIO.COM în versiunile IBM) este un fişier ascuns, care există în toate sistemele MS-DOS. Se utilizează la iniţializarea calculatorului şi oferă o interfaţă cu BIOS-ul pentru apelurile de proceduri. Nucleul sistemului de operare poate accesa serviciile BIOS-ului prin intermediul procedurilor din IO.SYS. Existenţa acestui fişier permite o izolare mai bună a nucleului de componenta hardware. De exemplu, nucleul nu trebuie să cunoască ce vector de întrerupere corespunde unui serviciu BIOS dat, această informaţie fiind regăsită prin fişierul IO.SYS. Nucleul conţine partea sistemului de operare independentă de calculator şi se găseşte într-un alt fişier ascuns, MSDOS.SYS (IBMDOS.COM). Are rolul de a gestiona procesele, memoria şi sistemul de fişiere, ca şi interpretarea tuturor apelurilor de sistem. După nucleu, cea de-a treia parte a sistemului de operare este shell-ul reprezentat prin fişierul COMMAND.COM. Totuşi acesta poate fi înlocuit de către utilizator. Fişierul COMMAND.COM realizează interfaţa dintre utilizator şi nucleul sistemului de operare, conţinând: o parte rezidentă care este totdeauna în memorie; o parte nerezidentă, ce se încarcă în partea superioară a memoriei, la limita celor 640 KB şi poate fi înlocuită. 3.5.5. Parteneriatul dintre MS-DOS şi Windows Putem spune că dualitatea dintre sistemele MS-DOS şi Windows s-a născut în momentul în care s-a simţit nevoia utiliăarii unei interfeţe grafice de exploatare tip GUI pentru programele sistemului de operare MS-DOS. Motiveleî sistemului de operare MSDOS cu o interfaţă graficî de exploatare, iar apoi cu un sistem grafic de operare au fost: sistemul MS-DOS nu oferea multitasking aplicatiile scrise sub MS-DOS nu puteau schimba liber informatii intre ele;
25
exploatarea sistemului MS-DOS era greoaie, interfata cu utilizatorul fiind la nivel de comanda (existând reguli precise de sintaxa, mulţi parametri, puctuaţie adecvata); concurenta facuta de Apple - MacIntosh care si-a dotat echipamentele de calcul cu sisteme de operare performante ce admiteau atit multitasking-ul, cit si exploatarea interfetei la nivel grafic; Trecerea de la MS-DOS la Windows nu s-a facut brusc şi radical, ci a existat o tranziţie de la un sistem către celălalt. Astfel utilizatorii de MS-DOS au putut exploata în continuare prin Windows resursele calculatorului prin vechea interfata MS-DOS cu care erau familiarizati. Evolutiv, convergenţa sistemelor MS-DOS şi Windows a avut trei puncte de incidenţă, facând ca sistemele să nu funcţioneze concurent ci prin parteneriat. Astfel se pot delimita doua momente: parteneriatul dintre MS-DOS şi Windows, în care rolul sistemului MS-DOS era determinant, iar Windows era o simpla interfata grafica de exploatare pentru mediul MS-DOS; parteneriatul Windows - MS-DOS, în care Windows deţine toate atuurile unui sistem de operare, iar MS-DOS este simulat pentru compatibilitatea aplicaţiilor scrise sub el cu aplicaţiile scrise sub Windows.
3.5.6. Sistemul de operare WINDOWS Sistemul de operare Windows, este un sistem de operare monoutilizator şi multitasking, ceea ce înseamnă că permite execuţia mai multor programe în acelaşi timp. Sistemul de operare Windows pune la dispoziţia utilizatorului o interfaţă grafică prietenoasă (GUI – Graphical User Interface) bazată pe ferestre. Utilizând sistemul Windows se pot constata cu uşurinţă caracteristicile de interfaţă comune tuturor programelor Windows: tot ceea ce afişează un program Windows pe ecran este cuprins în spaţiul ferestrei sale (o zonă dreptunghiulară de pe ecran şi este identificată printr-o bară de titlu) pe care o poate deplasa şi redimensiona; interacţiunea utilizatorului cu un program Windows se efectuează prin intermediul unor obiecte grafice afişate pe suprafaţa ferestrei aplicaţiei: meniuri, cursoare, butoane de comandă şi de opţiune, bare de defilare, etc.; majoritatea aplicaţiilor au o interfaţă atât cu tastatura, cât şi cu mouse-ul; pot fi în lucru simultan mai multe programe; se pot schimba date între programe. Dosarul (folder) permite definirea unui container în care se pot păstra fişiere, aplicaţii sau alte dosare. Dosarul este un mecanism de organizare logică, la nivelul interfeţei a diferitelor entităţi cu care lucrează sistemul de operare, inclusiv a fişierelor. La pornirea calculatorului, se încarcă sistemul de operare Windows care afişează pe ecranul calculatorului (desktop), interfaţa Explorer. Interfaţa Explorer este formată din: icoane (pictograme) care sunt mici desene reprezentative pentru diferite entităţi cu care lucrează Windows (containere cu posibilităţi ale sistemului, aplicaţie, fişier, dosar, unitate de disc etc), afişate pe ecran. Prezentarea unor containere:
26
My computer conţine toate componentele sistemului oferind accesul către acestea. Componentele sunt reprezentate sub forma unor pictograme: câte una pentru fiecare unitate de disc din sistem (discurile conţin dosare iar dosarele conţin fişiere si/sau alte dosare), o pictogramă pentru imprimantele instalate (Printers), o pictogramă pentru celelalte componente ale sistemului: monitor, mouse, tastatură, placa de sunet, placa multimedia etc (Control Panel); Recycle Bin (coşul de gunoi) conţine fişiere şterse pe care sistemul Windows le salvează în acest container de unde se pot recupera. Golirea completă a containerului se face efectuând clic cu butonul din dreapta mouse-ului pe pictograma cores-punzătoare şi selectarea opţiunii Empty Recycle Bin. Ştergerea unui anumit fişier se realizează prin selectarea fişierului respectiv, efectuarea unui clic cu butonul din dreapta mouse-ului şi selectarea opţiunii Delete. Ştergerea conţinutului containerului sau a unui fişier se poate realiza şi utilizând meniul corespunzător. Se pot crea rapid pictograme pe ecranul calculatorului pentru: aplicaţie, fişier, dosar etc. Pentru aceasta, într-o zona liberă de pe ecran, se executa clic cu butonul din dreapta mouse-ului şi din meniul contextual se aleg opţiunile New apoi Shortcut., în caseta de dialog Create Shortcut Command line se introduce numele unităţii de discuri sau se executa clic pe butonul Browse, se parcurg dosarele pentru a alege aplicaţia/fişierul, se execută clic pe butonul Next, se scrie numele pictogramei şi se execută clic pe butonul Finish. Pentru a şterge o pictogramă, se trage peste pictogramă Recycle Bin. Cu ajutorul mouse-ului se pot muta pictograme prin metoda de trage şi plasează (drag and drop); se selectează o pictogramă prin efectuarea unui clic pe aceasta şi ţinând butonul mouse-ului apăsat, se deplasează pictograma în locul dorit. Butoanele mouse-ului au următoarele roluri; 1. un singur clic stânga se foloseşte pentru deschiderea meniurilor derulante (butonul Start, orice fereastra de pe bara de aplicaţii, butoanele din dreapta sus ale oricărei ferestre deschise sau butoanele din casetele de dialog: OK, Cancel, etc.) 2. efectuarea unui dublu clic pe pictograma corespunzătoare este folosită pentru deschiderea unui fişier, program, unitate de disc etc. 3. clic cu butonul din dreapta în doua situaţii: dacă cursorul mouse-ului se află pe suprafaţa de lucru, va apare un meniu derulant, din care se pot selecta comenzi specifice meniului principal; dacă cursorul mouse-ului se află pe una din pictograme, va fi afişat un meniu ce conţine comenzi specifice aplicaţiei corespunzătoare pictogramei. Pentru obţinerea informaţiilor suplimentare despre un fişier sau folder, se selectează elementul dorit şi se execută clic pe butonul din dreapta. Apare o listă de opţiuni. Se selectează Properties. Crearea folderelor: 1. se selectează unitatea de disc şi poziţia noului folder; 2. se alege File / New / Folder; 3. se introduce un nume pentru folder şi . Copierea, mutarea şi ştergerea folderelor şi fişierelor presupune 2 metode: 1. „decupează/copiază şi inserează” (cut/copy, paste); 2. „deplasează şi aşează (drag and drop”).. Transferul se face prin intermediul unei zone de memorie internă, comună mai multor aplicaţii, numită Clipboard.
27
Metoda „decupează/copiază şi inserează”: 1. se selectează fişierul care se doreşte sa fie mutat sau copiat 2. se alege Edit / Cut sau se efectuează clic pe butonul din dreapta mouse-ului şi se selectează Cut din meniul care apare. Pentru copiere se alege: Edit / Copy; 3. se deschide folderul destinaţie 4. se alege Edit / Paste sau se efectuează clic pe butonul din dreapta mouse-ului şi se selectează Paste din meniul care apare pentru înserarea fişierului la destinaţie; 5. daca fişierul există deja, va apare o casetă de dialog în care utilizatorul este întrebat dacă doreşte înlocuirea fişierului existent cu fişierul sursă. Metoda „ deplasează şi aşează”: 1. se selectează fişierul care se doreşte să fie mutat sau copiat; 2. pentru a muta fişierul se menţine apăsat butonul mouse-ului şi tasta şi se deplasează fişierul în noua poziţie. Pentru a copia fişierul, se menţine apăsat butonul mouse-ului şi tasta şi se deplasează fişierul în poziţia dorită; 3. daca fişierul există deja, va apare o casetă de dialog în care utilizatorul este întrebat dacă doreşte înlocuirea fişierului existent cu fişierul sursă. Dacă se doreşte mutarea unui folder cu toate folderele şi fişierele pe care le conţine, se selectează folderul respectiv şi se foloseşte metoda „deplasează şi aşează” pentru a-l plasa în noua poziţie. Ştergerea unui folder sau fişier: 1. se selectează fişierul sau folderul care se doreşte să fie şters; 2. se acţionează 3. se confirmă ştergerea prin selectarea butonului OK Fereastra (Window). Fereastra este o zonă dreptunghiulară de dimensiuni diferite de pe ecran. Pot exista mai multe ferestre, fiecare corespunzând unei aplicaţii. Dacă la un moment dat sunt deschise mai multe ferestre pe ecran, una singura este fereastra activă. Aplicaţia activă corespunde aplicaţiei care primeste comenzile care se dau de la un dispozitiv de intrare. Fereastra se compune din următoarele elemente: Bara de titlu (Title bar) pe care se afişează numele aplicaţiei sau al documentului deschis în fereastră. Bara de titlu la o fereastră activă este afişată într-o culoare diferită de a celorlalte ferestre de pe ecran. Titlul ferestrei este afişat în bara de titlu. In funcţie de tipul ferestrei, poate fi numele unei aplicaţii, al unui dosar, al unui fişier etc. Bara cu titluri de meniuri (Menu bar) afişează pe orizontală lista cu meniurile disponibile. Meniurile la rândul lor sunt formate din liste de comenzi care acţionează în aplicaţia sau documentul deschis în fereastră. Bara cu instrumente (Toolbar) este afişată sub bara de meniu, este o bară cu butoane ce conţin pictograme ale unor comenzi care pot fi comandate şi din meniu. Bara apare numai la anumite ferestre de aplicaţie (Word, Excel etc). Bara de stare (Status Bar) este afişată în partea inferioară a ferestrelor de aplicaţii şi afişează diferite informaţii referitoare la acţiunile din aplicaţie de exemplu: o scurtă descriere a comenzii care este curent selectată.
28
Butonul meniului de control (Control Menu Box) situat în partea stângă a barei de titlu a ferestrei; conţine opţiuni pentru manipularea ferestrei. Este util când manipularea ferestrei se face folosind tastatura.. Pictograma afişată de acest buton este pictograma aplicaţiei care lucrează în fereastră. Există patru butoane situate în partea dreaptă a barei de titlu a ferestrei, ele pot fi acţionate numai cu mouse-ul: 1. Butonul de minimizare (Minimize button) este folosit pentru micşorarea ferestrei la nivel de pictograma (butonul conţine simbolul ). 2. Butonul de maximizare (Maximize button) este folosit pentru redimensionarea ferestrei până la ocuparea întregului spaţiu disponibil ce delimitează fereastra (butonul conţine simbolul ). 3. Butonul de restaurare (Restore button) apare în locul butonului de maximizare după operaţia de maximizare, are ca efect refacerea ferestrei la dimensiunea pe care a avut-o înainte de operaţia de maximizare (butonul conţine simbolul ). 4. Butonul de închidere (Close button) este folosit pentru închiderea ferestrei. ). până la nivel de pictogramă (butonul conţine simbolul Bara de derulare pe verticală şi bara de derulare pe orizontală (Scroll bar) sunt folosite pentru deplasarea ferestrei peste obiectele afişate (text, pictograme etc); conţin butoane săgeţi (scrool arow) şi cursoare mobile (scroll box) care pot fi acţionate numai cu mouse-ul. Butoanele cu săgeţi permit defilarea conţinutului ferestrei în sensul săgeţii. Cursorul mobil arată poziţia ferestrei relativ la conţinut. Bordura ferestrei (Border) este o bara subţire care delimitează fereastra şi care poate fi agăţată cu mouse-ul pentru redimensionarea ferestrei pe verticală sau pe orizontală. Colturile ferestrei (Corner) sunt zonele de bordura din cele patru colturi ale ferestrei. Sunt folosite la redimensionarea ferestrei cu ajutorul mouse-ului pe orizontală şi verticală în acelaşi timp. Cursorul mouse-ului (Pointer) este un semn grafic care arată poziţia mouse-ului pe ecran şi care urmăreşte deplasarea mouse-ului pe masa reală (pad). In funcţie de operaţia care se execută, pointerul are diferite forme (de exemplu dacă are forma de clepsidra înseamnă că se execută o operaţie şi utilizatorul trebuie să aştepte până se execută aceasta pentru a putea să folosească din nou mouse-ul). Punctul de înserare (Insertion Point) este un semn grafic care indică poziţia în care poate fi scris un text sau înserat un desen într-un document. Suprafaţa de lucru (Working area) este zona în care aplicaţia sau documentul afişează obiecte sau informaţii. Clasificarea ferestrelor Ferestrele pot fi de aplicaţie sau de document: 1. Ferestrele de aplicaţie conţin aplicaţiile în curs de execuţie. Sub bara de titlu a ferestrei se află pe orizontală bara cu titluri de meniuri. 2. Ferestrele de document sunt situate în interiorul ferestrelor de aplicaţie: au o bară cu numele documentului, dar nu au o bară cu titluri de meniuri (sunt acţionate meniurile ferestrei de aplicaţie).
29
3.6. 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. 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). proiectarea algoritmului – utilizând diferite metode de reprezentare: pseudocodul, organigrame. Pseudocodul se foloseşte în general, pentru algoritmi ce vor fi implementaţi într-un 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. 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:
30
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ă. 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. 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. 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. Limbajele de programare de nivel înalt suportă de regulă programarea structurată şi permit definirea unor tipuri de date structurate specifice aplicaţiei.
31
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. 3.7. 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. 3.8. 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 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.
32
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. •
Nivel 3
• Calculator virtual C2, limbaj maşină L2.
Nivel 2
Calculator virtual C1, limbaj maşină L1.
Nivel 1
Calculator virtual C1, limbaj maşină L1.
Nivel 0
Figura 4.1. Structura ierarhică a limbajelor de programare 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. 33
3.9. 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, î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.
34
Analiză sintactică şi
Cod obiect
Cod sursă
Cod executabil
semantică
Figura 4.2. Stările unui program 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
35
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. 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
36
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”. 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 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,
37
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. 3.5. Verificare 1. 2. 3. 4. 5. 6. 7.
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”. Indicaţi criteriile de clasificare ale sistemelor de operare. Definiţi conceptual de algoritm şi de program. Indicaţi etapele care trebuie parcurse pentru rezolvarea unei probleme cu ajutorul calculatorului. 8. Care este diferenţa între limbajele de asamblare şi cele de nivel înalt. 9. Indicaţii criteriile de clasificare a limbajelor de programare de nivel înalt. 10. Indicaţi stările unui program. 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.
38
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 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. 4. 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.. 5. 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. 6. Care dintre codurile următoare este analizat sintactic şi semantic după care este transformat îalt cod. a) cod sursă b) cod obiect c) cod compilat d) cod executabil Raspuns:a
39
TEMA 5-6. MICROSOFT OFFICE 5.1. Prezentarea editorului de texte WORD a) Vizulizarea barelor de instrumente WORD Calea: View / Toolsbar / Standard sau Formatting sau Drawing b) Selectarea butoanelor din bara de instrumente de lucru standard nevizualizate Calea: selectarea butoanelor
/
/
c) Butoanele din bara de instrumente pentru desenare Calea: View / Toolsbar / Drawing d) Paginarea documentelor Calea: View / Toolsbar / Header and Footer Este deschisă fereastra corespunzătoare meniului Header and Footer, iar cursorul este poziţionat pe Header. După completarea Header-ului se comută pe Footer.
5.2. Prezentarea POWER POINT Microsoft PowerPoint permite crearea de prezentări conţinând informaţii de sinteză, sub formă de text, diagrame, imagini, grafice referitoare la temă. Prezentarea poate conţine diagrame Excel sau tabele realizate în Word. . Textului şi imaginilor li se pot aplica sunet şi animaţie. Prezentarea este un fişier compus din SLIDE-uri (pagini) succesive. Pentru construirea slide-urilor se poate alege o schemă cu ajutorul instrumentului AUTO LAYOUTS. Aplicaţia oferă posibilitatea modificării aspectului prezentării: formatul, culorile, tipul de trecere dintr-o imagine în alta, alt LAYOUT, alt decor, altă înfăţişare, prin selectarea din bara de meniuri superioară a opţiunii FORMAT şi PRESENTATION TEMPLATE, sau direct cu butonul TEMPLATE. Tipurile de TEMPLATE-uri (peste 100) sunt propuse în două mari categorii: alb-negru şi color, aflate într-un director POWER POINT TEMPLATE. Mai mult: orice prezentare construită poate fi salvată şi utilizată apoi ca TEMPLATE. După crearea SLIDE-urilor, formate din mai multe pagini, există posibilitatea definirii succesiunii, a duratei de afişare a unei imagini, a ordinii etc. Există trei modalităţi de construire a unei prezentări: a) Utilizarea instrumentului AUTOCONTENT WIZARD b). Lucrul în modul de afişare OUTLINE c) Lucrul în modul de afişare SLIDE Crearea unei prezentări La intrarea in POWER POINT se deschide o casetă de dialog ce conţine următoarele opţiuni: 40
Auto Content Wizard: un Wizard (magician) este un program ce asistă crearea prezentării, ajutându-vă la organizarea prezentării conform unor scheme propuse, consacrate; Pick a Look Wizard: determină aspectul prezentării; Template: ajută la alegerea decorului, TEMPLATE -ul dorit; Blank Presentation: începe prin a deschide o foaie (SLIDE) albă cu toate valorile de schemă color, fonturi şi alte elemente de design implicite, ce vor fi eventual redefinite ulterior. Open an Existing Presentation: deschide o prezentare salvată deja, sub forma nume.PPT, pentru modificări. Vizualizarea paginilor se poate face în patru moduri: a) Modul de afişare SLIDE (pagină) permite editarea, adăugarea ştergerea paginilor şi vizualizarea imediată a efectului acestor modificări; b) Modul de afişare OUTLINE (ansamblu) permite concentrarea atenţiei asupra conţinutului prezentării, făcând abstracţie de obiectele grafice; c) Modul de afişare SLIDE SORTER (sortarea paginilor) permite vizualizarea la un moment dat a tuturor paginilor unei prezentări, în scopul alegerii paginilor ce vor constitui în final prezentarea; d) Modul de afişare NOTES PAGES ( pagini cu note) permite efectuarea unor adnotări pe paginile prezentării sau elaborarea unor pliante destinate auditoriului, conţinând informaţii mai detaliate decât cele afişate într-o pagină. Pot fi deschise mai multe prezentări în acelaşi timp. Cea curentă, la care se lucrează se află denumită în partea de sus a ferestrei, celelalte sunt în listă şi se pot activa utilizând opţiunea WINDOW din bara de meniuri superioară.
5.3. Prezentarea EXCEL Mediul Microsoft Excel este un program de calcul tabelar (spreadsheet program) utilizat pentru stocarea şi prelucrarea listelor de date. Aceste liste sunt folosite pentru efectuarea de calcule numerice necesare în momentul realizării rapoartelor şi analizelor. De asemenea, pe baza listelor de date înregistrate Excel poate crea diagrame şi poate comunica foarte uşor cu celelalte produse din cadrul Microsoft Office, cum ar fi Microsoft Word, Microsoft PowerPoint, Microsoft Access. În acest fel, Excel poate face schimb de informaţii cu aceste produse astfel încât datele să poată fi prezentate practic, în orice formă. În Excel, fişierul poartă numele de registru de calcul sau agendă de lucru (workbook). Un astfel de fişier poate conţine mai multe foi de calcul şi foi de diagrame. Tipurile de fişiere care sunt recunoscute implicit de Excel sunt urmatoarele: tipul .xls, fişiere ce reprezintă un registru de calcul sau agenda de lucru (workbook) ce poate conţine mai multe foi de calcul (Sheet); tipul .xlt, fişiere ce contin tipuri de modele (templates) cum ar fi cel pentru factură, deviz de plată sau comandă de cumparare care sunt oferite de Excel; tipul .xlm, fişiere ce conţin macro-uri(macros).
41
Lucrul cu fişiere 1. Salvarea unui fişier = prin salvare i se dă fişierului un nume şi o locaţie, pentru a putea fi identificat ulterior. Pentru prima salvare, se accesează opţiunea File (fişier) din bara de meniuri, Save As (salvează ca), după care se introduce calea şi numele fişierului. Salvările periodice se fac prin acţionarea butonului Save din bara de instrumente. 2. Deschiderea unui nou fişier = Pentru a deschide un nou fişier, se acţionează opţiunea File din bara de meniuri, New. 3. Instalarea unei imprimante = pentru a tipări un document sau pentru a utiliza opţiunea Print Preview, trebuie instalată o imprimantă, parcurgând calea: Start, Settings (setări), Printers (imprimante), Add Printer (adaugă imprimantă), după care se alege o imprimantă. Foaia de calcul (Sheet) seamănă cu registrul unui contabil, format din linii şi coloane în care sunt reflectate calcule matematice, economice, financiare,etc. O foaie de calcul constă din coloane şi linii în care coloanele sunt dispuse pe verticală şi sunt identificate prin litere (A, B, C, …), iar liniile sunt dispuse pe orizontală şi sunt identificate prin numere ( 1, 2, 3, …). Literele coloanelor (A, B, C, …) se numesc antet-uri de coloană şi sunt plasate de-a lungul părţii superioare a foii de calcul. Numerele liniilor ( 1, 2, 3, …) se numesc antet-uri de linie, plasate de-a lungul marginii din stânga a foii de calcul. Fiecare foaie de calcul are 256 de coloane şi 65536 de linii (rânduri), prin urmare se pot crea foi de calcul complexe. Pentru a se accesa linia cu numarul 65536 se vor apăsa simultan tastele +<↓ ↓>, iar pentru a se accesa ultima coloana se vor apăsa simultan tastele +<→ →>. Revenirea se va face asemanator schimbându-se doar direcţia tastelor săgţti. Coloanele sunt notate folosind literele mari A, B, …, Z, apoi AA, AB, …, AZ, BA,BB, … , ultima coloana fiind notata cu IV. Intersecţia unei linii cu o coloana se numeşte celulă. Celulele sunt identificate în funcţie de poziţia lor pe linii şi coloane. Adresa celulei este concatenarea dintre litera coloanei şi numărul liniei corespunzătoare unei celule. O celulă devine activă atunci când se execută click pe ea pentru a o selecta. Celula activă este selectată de un chenar îngroşat ce formează indicatorul celulei. Adresa celulei active apare în caseta Name, situată în partea stângă a barei de formule. Fereastra Excel 1. Bara de nume = bara superioară (fond albastru), în care apar numele fişierului şi al programului. 2. Bara de meniuri = bara inferioară barei de nume, în care se găsesc principalele meniuri ale programului (Ex: File, Edit, View…). Prin activarea fiecărei meniu se vor vedea şi submeniurile programului (Ex: File/New, Open, Close…). Cele mai frecvent utilizate meniuri apar sub forma unor butoane în bara următoare. 3. Bara de instrumente (toolbar) = conţine butoane care au asociate funcţii care se regăsesc printre meniurile sau submeniurile programului. Principalul avantaj = accesul rapid. 4. Bara de formule = se găseşte sub bara de instrumente şi este folosită pentru a introduce formule sau funcţii în celule.
42
5. Bara de stare a aplicaţiei = prezintă o serie de informaţii privind starea mediului Excel şi a documentului curent, pe parcursul lucrului. Spre exemplu, bara de stare indică tasta NumLock activă (NUM), adică utilizarea tastei numerice din dreapta pentru scrierea cifrelor rapid. 6. Rigla verticală = poziţionată în dreapta arată poziţia pe verticală, în cadrul documentului, iar prin acţionare, are loc parcurgerea acestuia, în ambele sensuri. Pe rigla verticală există un buton care permite accesul rapid la pagina dorită. 7. Rigla orizontală = poziţionată în partea inferioară a ferestrei, aceasta permite, prin cele două săgeţi, parcurgerea documentului pe întreaga sa lăţime, în special în cazul în care acesta nu este vizibil în totalitate. 8. Foaia de lucru = iniţial, un document are trei foi de lucru arătate deasupra barei de stare. Foile de lucru se pot: redenumi (click drepta cu mouse-ul, Rename), şterge (click dreapta cu mose-ul, Delete), muta într-o altă ordine (click stânga cu mouse-ul, ţinut apăsat şi translatat), sau introduce altele noi (click dreapta cu mouse-ul, Insert, OK). Introducerea datelor, textelor şi formulelor În orice celulă a unei foi de calcul se poate introduce un text, un număr sau o formulă de calcul. Pentru a introduce date într-o celulă mai întâi trebuie să fie selectată. Selectarea unei celule se face prin efectuarea unui clic pe celula doritã. Atunci când se introduc date (text, numere, formule), Excel le organizează sub forma unui text, a unei date calendaristice, a unui număr ce poate fi calculat sau a unei formule. Tot ceea ce s-a introdus poate fi prelucrat prin editare, eliminare, etc. Tot ceea ce se scrie apare atât în celula activă, cât şi în bara de formule, şi poate fi editat în ambele locaţii. Programul Microsoft Excel a fost creat special pentru efectuarea de calcule numerice pe baza unor formule cerute de utilizator. Pentru a indica modul de calcul pentru un set de valori, utilizatorul trebuie să indice o formulă de calcul. Un avantaj important al programului este acela că formula de calcul poate fi scrisă (înserată) într-o celulă, formulă care să efectueze calcule (de exemplu, suma unor valori) cu valori aflate în alte celule. Programul Excel utilizează toate operaţiile aritmetice obişnuite şi sute de functii predefinite. Toate funcţiile încep cu semnul egal (=). După semnul egal se scrie formula şi apoi se apasă . O formulă existentă poate fi editată, modificată sau ştearsă. Introducerea datelor este o operaţie simplă. Atunci când s-a cerut crearea unei foi de calcul, se trece la introducerea datelor prin completarea celulelor. Se selectează (de regulă, în ordine) mai înainte celula în care trebuie să apară informaţia, se scrie informaţia (text, număr, formulă) după care se apasă pe sau . În fiecare celulă într-o foaie de calcul puteţi introduce text, un numar sau o formulă. Scrieţi text pentru a crea o etichetă – de exemplu, un cap de coloană. Scrieţi un număr pentru a avea datele cu care să calculaţi, apoi introduceţi o formulă pentru a efectua un calcul. Rezultatele aplicării formulei vor apara în celula în care a fost ănserată acea formulă. Pentru a introduce date intr-o celula: 1. Selectati celula
43
2. Introduceţi un text, un număr sau o formulă 3. Treceţi la urmatoarea celulă. Datele sunt introduse în mod automat în celula anterioara. Dupa ce s-a scris conţinutul unei celule, nu trebuie să se apase tasta Enter neapărat, se poate pur şi simplu trece la altă celulă. Daca in celula curenta doriti sa adaugati o linie noua, apasati Alt+Enter . Daca nu specificati un format diferit, textul din celule va fi aliniat in mod automat la stanga si numerele vor fi aliniate la dreapta. Daca aveti nevoie de o serie de date sau numere consecutive pentru capetele de randuri, folositi caracteristica AutoFill pentru a le introduce automat. 5.4. Verificare 1. Indicaţi calea de urmat pentru definirea antetului şi subsolului unui document WORD. 2. Precizaţi simbolul prin care se defineşte o formulă în EXCEL. 3. Care sunt facilităţile oferite de POWER POINT pentru o prezentare.
5.5. Teste 1. O formulă trebuie să înceapă cu semnul „=” şi este formată din cel puţin un operator şi un argument. Răspuns: T 2. Indicaţi, dintre variantele de mai jos, selectarea cărui buton din fereastra de antet şi subsol are ca efect indicarea antetului sau a subsolului precedent : a b c d e Răspuns: d. 3. Indicaţi în care din variantele de mai jos, numărul este interpretat ca text ? a 2738 b ‘159 c =B2*729 d -31,63 e 32*71 Răspuns: b
TEMA 7. RECAPITULARE 44
TEMA 8-9. REŢELE DE CALCULATOARE 8.1. Apariţia reţelelor de calculatoare Necesitatea creşterii capacităţii de prelucrare a sistemelor de calcul şi a accesării unor baze de informaţii simultan de către mai mulţi utilizatori a condus la ideea interconectării calculatoarelor. Noul model de sistem de calcul, în această viziune, este format din mai multe calculatoare autonome, interconectate, care formează o retea de calculatoare. 8.2. Definirea reţelelor de calculatoare În contextul comunicării un sistem informaţional este sistem care permite comunicarea şi prelucrarea informaţiei. Un sistem de comunicaţie este un sistem compus din reţele de calculatoare şi echipamente fizice de conectare cum sunt releele de retransmisie, echipamente terminale prin intermediul cărora se realizează transferul de informaţii între oameni şi echipamente de calcul. Comunicarea informaţiei reprezintă efectuarea transferului de date între unităţile funcţionale conform unui protocol de transmisie de date. O retea de calculatoare este un ansamblu de calculatoare autonome, interconectate prin intermediul unor medii de comunicaţie care asigură folosirea în comun, de către un număr mare de utilizatori, a tuturor resurselor fizice şi logice (software de bază şi aplicativ) şi informaţionale (baze de date) de care dispune ansamblul de calculatoare interconectate. Interconectate a două calculatoare înseamnă că acestea au capacitatea să facă schimb de informaţii prin mediul fizic de conectare. Autonomia calculatoarelor se referă la faptul că ele pot funcţiona independent, astfel încât pornirea sau oprirea unui calculator să nu le influentează pe celelalte; un calculator din reţea nu le controlează în mod forţat pe celelalte. Partajarea resurselor se referă la posibilitatea accesării unor resurse comune. În cadrul unei reţele de calculatoare resursele partajate pot fi:
resurse fizice: discuri de reţea, imprimante, scanner, etc. ; resurse logice: software de baza şi aplicaţii: orice program cum ar fi Word, un
program de gestiune a stocurilor, etc. ; resurse informationale (baze de date).
45
Pentru exploatarea reţelelor de calculatoare este foarte important software-ul de reţea, care controlează buna funcţionare a reţelei. Software-ul de reţea are rolul de a rezolva problemele de comunicaţie. Mediile de comunicaţie sau de transmisie conectează calculatoarele din punct de vedere fizic şi reprezintă suportul pe care este transferată informaţia. Acestea pot fi constituite din diverse tipuri de cabluri: cablu coaxial, fibră optică, linie telefonică etc., din unde (ghid de unde) cu benzi specifice de frecventă sau chiar sateliţi de comunicaţii. La nivel elementar, problemele de comunicaţie sunt rezolvate de protocoale de comunicaţie, care maschează diferenţele tehnologice dintre reţele şi permit realizarea conexiunilor independent de tehnologiile folosite. Acestea folosesc un set de convenţii şi de proceduri care guverneaza interacţiunea între mediile de comunicaţie. Un protocol este un limbaj utilizat de calculator (set de rutine) care facilitează schimbul de informaţii. Avem două tipuri de protocoale: Protocoale hardware care definesc modalităţile prin care echipamentele fizice operează şi lucrează împreună ( niveluri de tensiune, interconectarea circuitelor) ; Protocoale software realizate de setul de rutine care permite comunicarea.
Toate calculatoarele din reţea trebuie să aibă cel puţin un protocol comun. 8.3. Avantajele reţelelor de calculatoare Multiplele avantaje oferite de reţelele de calculatoare sunt: programele şi fişierele sunt păstrate pe calculatorul central (pe server) pentru a
putea fi utilizate de celelalte calculatoare din reţea; acces direct la resursele hardware (memorii externe, imprimante, etc.) şi
software (editoare, limbare de programare, programe specializate, baze de date); comunicare şi schimb de informatii are loc între utilizatori la nivel local, regional sau mondial. 8.4. Organizarea şi principiul de funcţionare al reţelelor de calculatoare
Din punct de vedere hardware, o reţea de calculatoare este constituită din: calculatoare centrale ( Server); staţii de lucru - Workstations (calculatoare de lucru, terminale); echipamente periferice;
46
elemente de conectare. Într-o reţea un calculator, calculatoarele componente pot avea mai multe roluri:
client - utilizează resursele reţelei fără a pune la dispoziţie resursele proprii aplicaţiilor pe care le rulează; server - pune la dispoziţia reţelei resursele proprii fără însă a utiliza nici una dintre aceste resurse pentru aplicaţiile pe care le rulează; acesta presupun performanţe hardware sporite (în prezent serverele puternice presupun o mărime a HDD-urilor de ordinul Exabyte=1*109GB); unitate comunicantă - pune la dispoziţia reţelei resursele proprii, dar aceste resurse pot fi utilizate în acelaşi timp şi de aplicaţiile pe care le rulează. 8.5. Nivelurile unei reţele de calculatoare Comunicarea în reţea are loc în cadrul a doua mari niveluri, nivelul fizic şi nivelul logic la care se adaugă încă 3 niveluri importante necesare pentru înţelegerea modului de funcţionare a unei reţele. Nivelul fizic este costituit din partea hardware a reţelei şi anume: placile de interfaţă ale reţelei, cablurile de conectare, HUB-uri, ect. Nivelul logic este nivelul la care se transformă orice variaţie de tensiune electrică în cod binar pentru a putea fi trimise la nivelul fizic având astfel loc comunicarea între calculatoarele din reţea. Nivelul de reţea este responsabil de identificarea calculatoarelor din reţea. Fiecare calculator din reţea foloseşte mecanismul de adresare existent în acest nivel pentru a transmite date la staţia de lucru dorită. Nivelul de transport este cel care asigură recepţionarea corectă a tuturor datelor trimise în reţea. Acest nivel mai are şi rolul de a restabili structura corectă a datelor a căror structură ar putea fi deteriorată în timpul transmisiei. Nivelul de aplicaţii este consţituit din programele de aplicaţie utilizate de o staţie de lucru. În momentul în care se apelează o literă a unei unităţi de disc din reţea sau când se tipăreşte la o imprimantă partajată în reţea, programul respectiv foloseşte nivelul de aplicaţii pentru a transmite datele în reţea. 8.6. Tipuri de reţele de calculatoare Topologiile de reţea sunt structurate din punct de vedere:
al poziţiei pe care un calculator o are în reţea; al ariei de răspândire; 47
Din punct de vedere al poziţiei pe care un calculator o are în reţea, avem următoarele tipuri de reţele:
•
reţele de tip client - server folosesc un calculator central (server) care lucrează la nivel centralizat. Clienţii din reţea sunt staţii de lucru (« workstations ») şi sunt conectate la server reţele de tip punct la punct (peer-to-peer) se caracterizează prin faptul că nu există nici un server, utilizatorii împărţind între ei spaţiile de pe discuri şi resursele( imprimantele, faxurile, etc.). Utilizatorii care folosesc reţeaua îşi salvează fişierele în propriile calculatoare, ceea ce face ca gestionarea acestora să fie dificilă. De aceea, aceste reţele nu trebuie să includă mai mult de 10
•
calculatoare. reţele hibride organizate pe domenii şi grupuri de lucru.
În funcţie de aria lor de răspândire şi a numărului staţiilor de lucru reţelele de calculatoare sunt de mai multe feluri: reţele locale ( LAN - Local Area Networks) lucrează la nivelul unei clădiri sau al unui grup de clădiri având distanţa între staţiile de lucru de cel mult 1-2 kilometri, reţele orăşeneşti ( MAN - Metropolitan Area Networks ) lucrează la nivelul unui oraş având distanţa între staţiile de lucru de ordinul kilometrilor; reţele regionale/mondiale ( WAN - Wide Area Networks ) acoperă o arie extinsă (o ţară, un continent) sau mondiale cum este Internetul. 8.7. Reţele locale LAN
Reţelele locale LAN, sunt utilizate pe arii restrânse maxim 1-2 kilometri şi sunt frecvent utilizate pentru conectarea calculatoarelor personale dintr-o firmă, fabrică, departament sau instituţie de educaţie etc., astfel încât să permită partajarea resurselor şi schimbul de informaţii. Actual, cel mai răspândit mediu de reţea locală este Ethernet cu cablu bifilar torsadat neecranat (10BaseT) din cupru masiv, similar cu cel utilizat în liniile telefonice. Tehnologia în domeniul reţelelor care a început să se impună actual este cea a reţelelor LAN în care locul cablurilor, ca mediu de transmisie a datelor, este luat de undele radio sau infraroşii.
48
8.8. Topologii de reţele locale LAN Pentru aranjarea în reţea a calculatoarelor se folosesc diferite metode numite topologii (structuri). În general, există trei tipuri de topologii şi diverse combinaţii ale acestora pentru reţelele LAN: Reţele de tip magistrala au toate calculatoarele interconectate la cablul principal al reţelei. Calculatoarele conectate în acest tip de reţea au acces în mod egal la toate resursele reţelei. Reţele de tip stea fac legătura între calculatoare prin intermediul unui concentrator. Reţele de tip ring (inel) fac legatura între calculatoare prin intermediul unui port de intrare (In Port) şi a unui port de ieşire (Out Port). Reţele de tip magistrală în stea face apel la o unitate centrală (MAU) prin care se realizează interconectarea calculatoarelor. 8.9. Reţeaua WAN Reţeaua WAN acoperă o arie extinsă (o ţară, un continent) şi este compusă din o mulţime de reţele locale şi calculatoare individuale. 8.10. Verificare 1. Definiţi reţeaua de calculatoare. 2. Precizaţi nivelurile unei reţele de calculatoare. 3. Indicaţi tipurile de reţele LAN. 8.11. Teste 1. Indicaţi numele definiţiei următoare ” ansamblu de calculatoare autonome, interconectate prin intermediul unor medii de comunicaţie care asigură folosirea în comun, de către un număr mare de utilizatori, a tuturor resurselor fizice şi logice ”, dintre variantele: a sistem de comunicaţie b sistem informaţional c reţea de calculatoare d comunicarea informaţiei Răspuns:c 2. Din punct de vedere hardware, o reţea de calculatoare este constituită din: A. calculatoare centrale ( Server); B. staţii de lucru - Workstations (calculatoare de lucru, terminale);
49
C. echipamente periferice; D. elemente de conectare. a A+B b A+B+D c A + B+C d A + B+C + D Răspuns:d TEMA 10. INTERNET Mediul Internet este un ansamblu de reţele de calculatoare interconectate care împreună cu miile de calculatoare individuale (terminale, staţii de lucu) şi milioane de utilizatori , constituie comunitatea Internet care are la dispozitie un mediu informaţional şi de calcul cu foarte multe servicii informatice şi resurse (baze de date diverse, biblioteci de programe, documentatii, etc.). Mediul Internet constituie un ansamblu complex de arhitecturi, componente fizice şi sisteme de operare, care tratează în mod egal minicalculatoarele, reţelele de calculatoare, PC-urile şi maiframe-urile. Facilităţile oferite de mediui au o importanţă egală, iar componentele sale se comporta una fata de alta fara nici o discriminare. 10.1. Conectarea la INTERNET Internetul este o reţea globală formată prin interconectarea mai multor calculatoare, ce facilitează comunicarea între utilizatori prin transferul de date de pe un calculator pe altul prin intermediul protocolului TCP/IP. Se folosesc, de asemenea, adrese de locaţie numite adrese IP (Internet Protocol) cu ajutorul cărora serverele de Internet găsesc mult mai uşor calculatoarele din reţea. În cadrul acestei reţele se foloseşte un protocol de transfer de date care de fapt este conţine peste 100 de protocoale diferite dar care au fost înglobate sub aceeaşi denumire TCP/IP (Transmission Control Protocol/Internet Protocol). Acest protocol cuprinde între altele şi protocoalele de Telnet (Terminal emulation), FTP (File Transfer Protocol), HTTP (Hyper Text Transfer Protocol), SMTP (Simple Mail Transfer Protocol). Acest protocol a fost elaborat de Ministerul Apărării Naţionale din SUA în anii ’70 şi are în continuare cea mai largă arie de utilizare. Principalele avantaje pe care acesta le prezintă ar fi: Independenţa de platformă. Protocolul TCP/IP nu a fost conceput pentru utilizarea într-un mediu destinat unui anumit tip de hardware sau software. A fost şi este utilizat în reţele diferite tipuri. 50
Adresare absolută. TCP/IP asigură modalitatea de identificare în mod unic a fiecărui calculatoa din Internet.
Standarde deschise. Specificaţiile TCP/IP sunt disponibile în mod public utilizatorilor şi dezvoltatorilor.
Protocoale de aplicaţie. TCP/IP permite comunicarea între diferite medii. Protocoalele de nivel înalt cum ar fi FTP sau TELNET, au devenit omogenizate în mediile TCP/IP indiferent de platformă. 10.2. Servicii INTERNET
Actual Internet-ul este o reţea alcătuită din sute de milioane de calculatoare, dispuse pe întregul globul, staţionare sau mobile, reţea ce conţine o cantitate uriaşă de informaţii, accesul la marea majoritate fiind fără restricţii, iar la altele contra cost sau restricţionat prin parole de acces. Calculatoarele conectate la Internet pot folosi urmatoarele servicii: Electronic mail (e-mail) permite să se trimită şi să se primească mesaje ;
Conectarea la distanţă; Transferul de fişiere ;
World Wide Web (WWW).
10.3. Serviciul de poştă electronică (E-mail) Poşta electronică sau Email-ul este o formă modernă de comunicare, ce combină rapiditatea unui apel telefonic cu înregistrarea şi expedierea unei scrisori. O adresă de Email are două părţi: 1. numele utilizatorului sau orice alt nume ales de utilizator urmată de semnul @ 2. numele contului de la posta electronică urmat adesea de simbolul tării în care se află serverul. De obicei numele contului se confundă cu numele serverului la care este abonat calculatorul gazdă. 10.4. Serviciul Wold Wide Web (WWW) 10.4.1. Prezentare World Wide Web
World Wide Web (sau Web) reprezintă unul din serviciile de informare pe Internet. Web reprezintă o colecţie de documente multimedia existente pe calculatoare răspândite în toată lumea Elementele la care face apel Web sunt:
51
Identificatorul uniform al resurselor, URL ( Universal Resource Locators adresa uniformă pentru localizarea resurselor), care permite recuperarea informaţiilor din orice punct al reţelei Internet; Protocolul de transfer hipertext, HTTP (HyperText Transfer Protocol), care permite comunicarea între serverul şi navigatorul Web. HTTP reprezintă un ansamblu de reguli pentru standardizarea comunicării în cadrul sistemelor
hipermedia distribuite; Limbajul de realizare a hipertextelor, HTML (HyperText Markup Language limbaj de marcare hipertext), care permite crearea documentelor hipertext şi care pot fi vizualizate cu ajutorul navigatoarelor Web. 10.4.2. Proiectarea World Wide Web
Paginile de Web sunt scrise în limbajul HTML care permite utilizatorilor să realizeze pagini care includ texte, grafică şi legături la alte pagini de Web. O pagina de Web poate să conţină referinţe la alte pagini datorită unui mecanism care permite denumirea şi regăsirea paginilor. Pentru a putea afişa o pagină trebuie să se cunoască: a) numele paginii, b) localizarea paginii, c) modul de accesare a paginii. Dacă fiecare pagină ar avea un nume unic, atunci nu ar exista nici o ambiguitate în identificarea paginilor, însă acest lucru nu este posibil. Soluţia aleasă pentru a rezolva cele trei problemele simultan este identificarea paginilor. Fiecare pagină are un URL care funcţionează ca nume al paginii general format din:
protocol, nume DNS al maşinii pe care este memorat fişierul şi nume local, care indica în mod unic pagina (de obicei numele fişierului care conţine pagina). 10.5.
Verificare
1. Daţi definiţia Internetului. 2. Precizaţi serviciile Internet 3. Indicaţi rolul limbajului HTML.
52
10.6. Teste 1. Două dintre server-ele care pot fi utilizate în cadrul reţelei Internet sunt FTP (File Transfer Protocol) şi Telnet. Care protocol permite unui calculator să primească rapid, să vizioneze şi să salveze fişiere de pe un alt calculator străin. a FTP ( File Transfer Protocol ) b Telnet Răspuns : a. 2. Web-ul ca sistem de comunicare global permite transferul documentelor multimedia între calculatoarele reţelei Internet cu ajutorul câtorva elemente: A. Identificatorul uniform al resurselor, URL B. Protocolul de transfer hipertext, HTTP C. Limbajul de realizare a hipertextelor, HTML Răspuns : a,b,c.
TEMA 11-12-13. LIMBAJUL HTML 11.1. Prezentare HTML Stocarea informaţiilor pe Web este realizată sub un format special denumit HTML. Pentru a vizualiza o pagină Web aceasta trebuie să fie în format HTML pentru ca browser-ul să o poată traduce în imagini, sunete, texte etc. HTML (HyperText Markup Language) a apărut la începutul anilor '90, ca urmare a necesităţii existenţei unui limbaj universal care să poată permite accesarea documentelor la nivel global. Crearea HTML a determinat dezvoltarea spectaculoasă a Internetului. Limbajul HTML a apărut odata cu apariţia Web-ului, fiind utilizat ca un limbaj de "comunicare" pe Web. 11.2. Trăsăturile limbajului HTML HTML este limbajul de marcare ce stabileşte aspectul documentelor WWW (World Wide Web), iar prin intermediul browser-elor se poate vedea documentul gata formatat. La acest limbaj se remarcă câteva trăsături cum ar fi:
independenţa de platformă (modul de afişare al documentului este acelaşi, indiferent de calculator, adică cu acelaşi font, grafică şi culori);
structurarea formatării;
53
posibilităţile hypertext (orice cuvânt, imagine sau alt element al documentului vizualizat de utilizator poate fi referinţă la un alt document, ceea ce uşurează
navigarea în cadrul aceluiaşi document sau între documente diferite). HTML este un limbaj simplu, compus din coduri speciale (marcaje) care se înserează într-un text pentru a adauga informaţii despre formatare. Este derivat din SGML (Standard Generalized Markup Language), un sistem pentru definirea tipurilor de documente structurate, destinat să reprezinte instaţe ale acestor tipuri de documente. La baza SGML şi a HTML se află acelaşi principiu: descrierea conţinutului unui document se face într-un fişier text obişnuit (ASCII). S-a urmărit ca aceste fişiere să poată fi create cu editoare de text simple cum este de exemplu NotePad şi WordPad. Modul de apelare al acestui editor este prezentat în figura 2. Un document HTML este un fişier text cu extensia html sau htm, cu următoarea sintaxă: "numefişier.html". Un singur inconvenient al realizarii paginilor Web cu ajutorul editoarelor de texte este faptul că trebuie cunoscut limbajul HTML. 11.3. Marcajele HTML Documentele HTML încep cu notaţia şi se termină cu . Aceste marcaje se numesc în literatura de specialitate tag-uri (adică marcaj în limba engleza), scrise între paranteze unghiulare de forma . Numele marcajelor poate fi scris oricum, limbajul nefiind senzitiv la literele mari/mici (case sensitive), adică ===. Caracterele "spaţiu" şi "CR/LF" ce apar între marcaje sunt ignorate de către browser.Aceste marcaje sunt de două tipuri: individuale (ex.
)
perechi (ex. ...
) - de mentionat că sfârşitul unui marcaj este indicat prin utilizarea caracterului "/" în faţa numelui de marcaj. Marcajele de tip pereche pot fi imbricate: 11.4. Structura unui program
Un document HTML 4 are următoarea structură: 1. secţiunea de antet HEAD, delimitata de marcajele … 2. secţiunea cu conţinutul documentului BODY, delimitata de marcajele … sau
54
11.4.1. Secţiunea de antet Secţiunea de antet este cuprinsă între marcajele … . Informaţiile cuprinse în această secţiune nu vor fi afişate de browser, cu excepţia marcajului . Marcajul este obligatoriu şi poate apare doar în secţiunea HEAD. El va conţine un titlu relevant pentru pagină, fiind deosebit de important pentru motoarele de căutare. Marcatorii existenţi în această secţiune sunt în număr de 6, , , , , , indicând dimensiunea de scriere a textului pentru a da posibilitatea evidenţierii titlului paginii faţă de alte texte din pagină. Trecerea pe o linie nouă se face la comanda explicită prin marcajul
(de la "line break" care înseamnă întrerupere de linie) care trebuie să apară în pagină. Pentru centrarea titlului în cadrul paginii se foloseşte marcajul iar pentru terminarea acţiunii se utilizează . Ca în orice limbaj de programare şi în HTML există posibilitatea de a introduce comentarii, folosind marcajul 11.4.2. Sectiunea BODY Această secţiune este cuprinsă între marcajele ...... şi poate avea următoarele atribute: ................ conţinut document ................. Marcajul de sfârşit () nu este obligatoriu. A. Culoarea de fond O culoare poate fi precizată în două moduri:
printr-un nume de culoare, conform sintaxei: fiind disponibile cel puţin 16 nume de culori: aqua, black, fuchsia, graz, green, lime, maroon, navy, olive, purple, red, silver, teal, white şi zellow.
55
printr-o constantă "#rrggbb", conform standardului de culoare RGB (Red, Green, Blue). O astfel de constantă se formează astfel: "#rrggbb" unde r,g şi b sunt cifre hexazecimale care pot lua valorile: 0,1,2,3,4,5,6,7,8,9,a,A,b,B,c,C,d,D,e,E,f,F şi în acest fel pot fi definite 65536 culori, utilizând sintaxa:
Culoarea paginii prin cele două modalităţi prezentate mai sus este gri ilustrată şi în programul din figura 8. B. Culoarea textului Culoarea textului se realizează prin intermediul atributului text tot prin două modalităţi: printr-un nume de culoare, conform sintaxei:
printr-o constantă "#rrggbb", conform sintaxei Pentru celelalte atribute culoarea se stabileşte similar ca în cazul textului. Poziţionarea conţinutului paginii Web faţă de marginile ferestrei browser-ului se
poate face cu ajutorul a două atribute leftmargin şi topmargin (care sunt extensii Microsoft şi nu funcţionează decât în Internet Explorer 3+):
leftmargin
stabileşte, în pixeli, marginea stângă a documentului adică distanţa dintre marginea stângă a fereastrei browser-ului şi marginea stângă a
conţinutului documentului; topmargin stabileşte, în pixeli, marginea de sus a documentului adică distanţa dintre marginea de sus a fereastrei browser-ului şi marginea de sus a conţinutului documentului care va fi afişată de browser (text, imagini, etc.). Textul afişat este caracterizat de următoarele atribute:
marime (size) culoare (color)
font (style) Paragraful este definit cu ajutorul marcajului
(paragraf). Pentru formatarea
textului pot fi folosite diferite stiluri utilizând următoarele marcaje: ... - blocul de text apare cu caractere îngroşate
... - blocul de text apare cu caractere inclinate ... - blocul de text apare cu caractere subliniate
56
... - blocul de text apare cu caractere "taiate"
...
- marcajul de informţie preformatată o conserva toata caracterele şi spaţierile de linii o utilizează un font diferit (Courier)
•
... - secvenţă de text aliniată ca exponent ... - secvenţă de text aliniată ca indice
- textul după acest marcaj este trecut pe o linie nouă şi poate apare oriunde în text
- trasează o linie subţire orizontală Programul din figura 8 evidenţiază efectele marcajelor menţionate mai sus.
C. Fontul unui text Textul scris pe o pagină poate fi realizat utilizând diverse fonturi (stiluri de caractere) pentru care se vor preciza atributele. În cazul în care sunt utilizate mai multe fonturi, acestea vor fi separate prin virgulă. Un font este caracterizat de următoarele atribute: o
Culoarea, stabilită prin atributul color, se precizează prin două moduri similar
o
culorii textului ; tipul sau stilul este stabilit prin atributul face ;
o
mărimea definită prin atributul size ; valorile acestui atribut pot fi cuprinse între 1 (cel mai mic) şi 7 (cel mai mare) ;
o
grosimea definită prin atributul weight ; valorile acestui atribut pot fi cuprinse între 100 (cel mai subţire) şi 900 (cel mai gros) ;
D. Blocuri de text Etichetele pentru blocurile de text nu se referă la particularităţile caracterelor ce compun textul, ci la funcţiile pe care le poate avea un bloc de text în cadrul paginii Web. Toate aceste etichete produc automat trecerea la un rând nou şi adăugarea unui spaţiu suplimentar. Înserarea unei adrese Înserarea unei adrese se realizează cu ajutorul unei etichete dedicate : … E. Blocuri preformatate Pentru ca browser-ul să interpreteze corect caracterele "spaţiu", "tab" şi "CR/LF" ce apar în cadrul unui text, acesta trebuie scris între marcajele …
57
11.4.3. LISTE HTML ofera mai multe mecanisme pentru specificarea a trei tipuri de liste. Indiferent de tipul de listă aceasta trebuie să conţină cel puţin un element. Cele trei tipuri de liste sunt: A. liste de tip definiţie B. liste neordonate (marcate) C. liste neordonate (numerotate) A. Liste de tip definiţie Unul dintre cele mai obişnuite elemente în paginile HTML sunt seturile de definiţii, referinţe sau indexuri. Un exemplu concret îl reprezintă glosarele în care cuvintele, însoţite Listele de tip definiţie (figura 12) sunt introduse prin intermediul marcajelor:
...
- lista definitii (definition list) - termenul definit (definition term)
- definitie (definition)
B. Liste neordonate Listele de tip definiţie (figura 13) sunt introduse prin intermediul marcajelor:
- lista neordonata (unordered list) - element lista C. Liste ordonate Listele de tip definiţie (figura 14) sunt introduse prin intermediul marcajelor:
...
- lista ordonata (ordered list) - element lista Atributul start setează numărul de început pentru primul element al listei ordonate. Diferenţa dintre listele ordonate şi cele neordonate consta în înlocuirea punctelor
din enumerare cu numere. Prin vizualizarea, în browser, a exemplelor anterioare se poate înţelege diferenţele în modul de afişare a celor două tipuri de listă. 11.4.4. REFERINŢE (link-uri) Referinţele sau legăturile pot fi făcute către alte pagini şi atunci se numesc externe sau pot fi efectuate salturi în cadrul aceleeaşi pagini şi se numesc ancore.
58
8.4.4.1. Referinţe externe Referinţele externe sau legăturile către alte pagini pot fi de două feluri, absolute sau relative, după cum se poate vedea în exemplul din figura 15.. Referinţele relative sunt folosite în interiorul site-urilor, întrucât browse-ul adaugă automat numele domeniului la fiecare referinţă. Marcajul HTML principal pentru efectuarea referinţelor relative sau a legăturilor către alte pagini din cadrul unui site are următoarea formă : pagina următoare În cadrul unei referinţe absolute este trecută explicit întreaga cale a paginii la care se face legătura şi are următoarea formă : http://www.spiruharet.ro/pag.html Referinţele absolute se folosesc atunci când se doreşte să se trimită utilizatorul pe un alt site (domeniu), dar acestea pot fi folosite şi în interiorul site-ului, însă acest lucru va implica un efort mai mare în scrierea paginilor, iar în cazul în care site-ul se va muta pe un alt domeniu toate referinţele trebuie să fie refăcute. Referinţele pot fi către pagini html, dar şi către alte tipuri de fişiere cum ar fi imagini, fişiere audio, video, documente în alte formate, etc. 11.4.4.2. Ancore Ancorelele sunt utilizate în cazul documentelor de dimensiuni mari în care se doreşte efectuarea unor salturi către anumite secţiuni. Ancorele asigură uşurinţa în navigare în paginile de dimensiuni mari şi are urmatorul format : nume_ancoră Numele ancorelor nu poate conţine spatii şi trebuie sa fie unic în pagina respectivă. Aceste nume pot fi scrise cu litere mici sau cu litere mari deoarece în HTML înseamnă acelaşi lucru. Nu este nici o diferenţă între "nume_ancoră" sau "NUME_ANCORĂ" Odată ce am definit ancora trebuie să se definească şi legătura activă către ancora respectivă. Ea va fi o referinţă hypertext în formatul urmator: Legătură către ancoră Trebuie reţinut că există posibilitatea de a crea referinţe către ancore aflate în documente externe: Legătură la o ancoră externă
59
11.4.5. Înserarea imaginilor Imaginile sunt utilizate pentru a îmbunătăţii transmiterea mesajului către utilizatori. O pagină în care imaginile sunt combinate cu textul poate face pagina mult mai atractivă. Există multe formate de fişiere grafice ca : psd, png, jpg, pcx, bmp, gif, wmf, etc., însă doar câteva sunt universal recunoscute de browser-e. Formatele recunoscute sunt :
GIF - GRAPHICS INTERCHANGE FORMAT - format de compresie fără a pierde din calitate.
JPG - format de compresie care pierdere din calitate introdus de JOINT PHOTOGRAPHIC EXPERT GROUP. PNG - PORTABLE NETWORK GRAPHIC - format de compresie fără pierderea calităţeii care are, în general, dimensiuni mai mari decât primele două formate menţionate. Atributul src specifică locaţia imaginii. Alături de src, marcajul are atribute urmatoarele (figura 18):
alt specifică un text alternativ pentru cazul în care imaginea nu poate fi afişată. border trasează un chenar în jurul imaginii. width şi height vor specifica lăţimea, respectiv înalţimea imaginii. hspace, vspace specifică spaţiul care va fi păstrat în jurul unei imagini.
In general, atunci când este înserată o imagine într-un text, acesta este aliniat în partea inferioară a imaginii dacă nu este specificat atributul align, cu valorile left, right. Rolul atributului este de a evita "pierderea" acestui. 11.4.6. Inserarea fişierelor audio Introducerea de secvente audio se poate realiza prin doua modalitati: 1. sub forma unei referinte(link) . 2. prin intermediul marcajelor embed sau bgsound. 11.4.7. Cadre (frame) Cadrele oferă posibilitatea de a împărţi pagina HTML în mai multe zone, fiecare rulând un un document HTML diferit. În acest fel, într-un cadru poate fi păstrată vizibil o parte a informatiei, în timp ce, într-un alt cadru, o altă parte a informaţiei este derulata (scroll) sau inlocuita. Avantajul acestei metode este dimensiunea (KB) mai mică a fiecărui cadru în parte, iar în acest fel se micşorează timpul de încărcare. 60
Cadrele sunt introduse cu ajutorul a două tipuri de marcaje. Prin perechea de marcaje se defineşte modul de împărţire al ferestrei (spaţiul alocat fiecărui cadru în parte) iar prin marcajul sunt definite cadrele propriuzise. Marcajul