You are on page 1of 29

NOIUNI DE BAZ DESPRE CALCULATOR partea 1 1.

1 Arhitectura de baz a unui calculator

Calculatorul este o masin programabil. Dou dintre principalele caracteristici ale unui calculator sunt: 1. Rspunde la un set specific de instructiuni ntr-o manier bine definit. 2. Calculatorul poate executa o list prenregistrat de instructiuni, numit program. Calculatoarele moderne sunt electronice si numerice. Partea de circuite electrice si electronice precum si conexiunile fizice dintre ele se numeste hardware. Totalitatea programelor precum si datele aferente acestor programe poart denumirea de software.

Toate calculatoarele de uz general necesit urmtoarele componente hardware: memorie: Permite calculatorului s stocheze, cel putin temporar, date si programe. dispozitive de stocare externe: Permit calculatoarelor s stocheze permanent programe si mari cantitti de date. Cele mai uzuale dispozitive de stocare extern sunt HDD (hard disk drives), FDD (floppy disk drive) si CD-ROM (Compact Disk-Read Only Memory) sau CD-R/W (Compact Disk-Read/Write). dispozitive de intrare : n mod uzual sunt reprezentate de tastatur (keyboard) si de mouse. Aceste dispozitive reprezint calea uzual de introducere a datelor si instructiunilor care gestioneaz functionarea unui calculator.

dispozitive de iesire: Reprezint modalitatea prin care calculatorul transmite utilizatorului uman rezultatele executiei programelor. Ecranul monitorului sau imprimanta sunt astfel de dispozitive uzuale. Unitatea de procesare si control (UPC) : Este partea principal a unui calculator deoarece este componenta care execut instructiunile. n mod uzual aceast unitate de procesare si control este reprezentat de unmicroprocesor care se plaseaz pe placa de baz (mainboard) a calculatorului mpreun cu memoria intern RAM. n plus fat de aceste componente orice calculator este prevzut cu o magistral (bus) prin care se gestioneaz modalitatea de transmitere a datelor ntre componentele de baz ale calculatorului. Magistrala reprezint o colectie de trasee electrice care leag microprocesorul de dispozitivele de intrer/iesire si de dispozitivele interne/externe de stocare a datelor. Putem distinge magistrala de date, magistrala de adrese si magistrala de comand si control. Calculatoarele pot fi n general clasificate dup dimensiuni sau putere de calcul. Nu se poate face ns la ora actual o distinctie net ntre urmtoarele categorii de calculatoare: PC (Personal Computer): Un calculator de dimensiuni mici, monoutilizator (singleuser), bazat pe un microprocesor. n plus acesta este dotat standard cu tastatur, mouse, monitor si dispozitive periferice de stocare a datelor. statii de lucru (workstation): Un calculator monoutilizator de mare putere. Aceasta este asemntor unui PC dar are un microprocesor mai puternic si un monitor de nalt calitate (rezolutie mai mare). minicalculator (minicomputer): Un calculator multiutilizator (multi-user) capabil s lucreze simultan cu zeci sau chiar sute de utilizatori. mainframe: Aun calculator multiutilizator capabil s lucreze simultan cu sute sau chiar mii de utilizatori. supercomputer: Un computer extrem de rapid care poate executa sute de milioane de operatii ntr-o secund. 1.2 Sisteme de operare

Sistemul de operare este cel mai important program care ruleaz pe un calculator. Orice calculator de uz general este dotat cu un sistem de operare care permite executia altor programe. Sistemele de operare execut operatiuni de baz precum: recunoasterea unei intrri de la tastatur (preluare caracter), trimiterea unui caracter pentru afisare pe ecranul monitorului, gestionarea fisierelor si a directoarelor pe disc (floppy-disk sau hard-disk), controlul fluxului de date cu echipamentele periferice ca drivere de disc sau imprimante.

Sistemul de operare al unui calculator este partea de software necesar si suficient pentru executia oricror alte aplicatii dorite de utilizator. Un calculator nu poate functiona dect sub gestiunea unui sistem de operare. Orice aplicatie lansat n executie de ctre un utilizator apeleaz la resursele puse la dispozitie de ctre sistemul de operare. Sistemul de operare interfateaz calculatorul cu operatorul uman de o manier ct mai transparent cu putint astfel nct utilizatorul nu trebuie s fac eforturi mari de adaptare dac lucreaz cu arhitecturi hardware diferite. Pentru sisteme mai mari, sistemele de operare au responsabilitti si capabilitti si mai mari. Ele actioneaz ca un gestionar al traficului de date si al executiei programelor. n principal sistemul de operare asigur ca diferite programe si diferiti utilizatori s nu interfereze unele cu altele. Sistemul de operare este de asemenea responsabil cusecuritatea, asigurnd inaccesibilitatea persoanelor neautorizate la resursele sistemului. Sistemele de operare se pot clasifica dup cum urmeaz: multi-user: Permit ca doi sau mai multi utilizatori s ruleze n acelasi timp programe (utilizatori concurenti). Anumite sisteme de operare permit sute sau chiar mii de utilizatori concurenti. multiprocesor: Permit executia unui program pe mai mult de un microprocesor. multitasking: Permit mai multor programe s ruleze n acelasi timp (executie concurent). multithreading: Permit diferitelor prti ale unui program s fie executate concurent. timp real (real time): Rspund instantaneu la diferite intrri. Sistemele de operare de uz general, ca DOS sau UNIX nu sunt sisteme de operare de timp real. Sistemele de operare furnizeaz o platform software pe baza creia alte programe, numite programe de aplicatie,pot rula (pot fi executate). Programele de aplicatie trebuie s fie
3

scrise pentru a rula pe baza unui anumit sistem de operare. Alegerea unui anumit sistem de operare determin n consecint multimea aplicatiilor care pot fi rulate pe calculatorul respectiv. Pentru PC-uri, cele mai populare sisteme de operare sunt DOS, OS/2 sau Windows, dar mai sunt disponibile si altele precum Linux. Ca utilizator se interactioneaz cu sistemul de operare prin intermediul unor comenzi. Spre exemplu, sistemul de operare DOS accept comenzi precum COPY sau RENAME pentru a copia fisiere sau pentru a le redenumi. Aceste comenzi sunt acceptate si executate de o parte a sistemului de operare numit procesor de comenzi sau interpretor de linie de comand. Interfatele grafice cu utilizatorul (GUI, Graphical user interfaces) permit introducerea unor comenzi prin selectarea si actionarea cu mouse-ul a unor obiecte grafice care apar pe ecran. Spre exempl 23223m1215x u, sistemul de operare Windows are un desktop ca intefat garfic cu utilizatorul. Pe acest desktop (birou) se afl diferite simboluri grafice (icoane, icons) atasate diferitelor aplicatii disponibile pe calculatorul respectiv. Utilizatorul are multiple posibilitti de configurare a acestei intefete grafice. 1.2.1 Sisteme de operare pentru PC-uri Din punct de vedere istoric, primul sistem de operare comercializat pe scar larg a fost MS-DOS. Odat cu cresterea capabilittilor hardware ale calculatoarelor, acesta s-a transformat, prin dezvoltri succesive, n Windows. 1.2.1.1 DOS Prezentarea sistemului de operare MS-DOS Sistemul de operare MS-DOS (MicroSoft Disk Operating System) este destinat gestionarii resurselor software si hardware ale microcalculatoarelor cu o arhitectura de tip IBM - PC sau compatibila cu aceasta si echipate cu procesoare 8086 sau 80x86, Pentium. MS-DOS este un sistem de operare monouser, mono-tasking, ceea ce nseamna ca el permite folosirea calculatorului la un moment dat de catre un singur utilizator, executnd un singur program de aplicatie, cu exceptia comenzii PRINT, care poate fi lansata cu orice comanda MS - DOS. Principalele functiuni ndeplinite de MS - DOS se pot grupa astfel: Interpretarea si executia comenzilor; ncarcarea, lansarea si controlul executiei programelor; Comanda si controlul dispozitivelor periferice; Gestiunea fisierelor de pe disc; Semnalizarea, diagnosticarea si tratarea erorilor; Functii apelabile la diverse nivele oferind diverse facilitati utilizatorului.
4

Sistemul de operare MS - DOS asigura o interfata simpla ntre utilizator si resursele software si hardware ale sistemului de calcul, fiind usor de exploatat si avnd urmatoarele avantaje: Diversitate mare a resurselor software; Mecanism evoluat de detectare si tratare a erorilor; Interfata utilizator simpla, usor accesibila, comenzile sunt usor de nvatat si utilizat; Modularitatea; este conceput ntr-o maniera care ncurajeaza descompunerea programelor complexe n module mai mici cu functii bine definite; Gestioneaza o structura de fisiere eficienta avnd o organizare ierarhica arborescenta; Gestioneaza data si ora curenta si le insereaza n informatiile legate de fisiere la crearea si modificarea acestora; Ofera posibilitatea conectarii unei mari varietati de dispozitive periferice. Conform specificatiilor firmelor IBM si Microsoft sistemul de operare este rezultatul compunerii urmatoarelor elemente: BIOS (Basic Input/Output System), rezident n memoria ROM, care contine: un sistem de proceduri pentru comanda si controlul executiei operatiunilor de intrare/iesire la nivel fizic pentru toate echipamentele periferice din configuratia standard programe de testare sumara a memoriei RAM, a adaptoarelor pentru tastatura, monitor si discuri programe pentru determinarea si actualizarea configuratiei hardware a sistemului prin citirea/scrierea datelor din/n memoria CMOS un program prencarcator (loader) al nregistrarii BOOT pentru pre-ncarcarea sistemului de operare de pe discul sistem etc. BIOS (Basic Input/Output System) a fost mpartit n doua parti: 1) Partea de sistem de operare BIOS-OS a BIOS este partea standardizata, neparticularizata n functie de varianta constructiva a calculatorului. Fiecare operatie de I/O care se poate executa are varianta standard de apelare prin parametri. n acest fel producatorii de aplicatii (programe) nu trebuie sa stie detalii despre varianta constructiva, fizica a calculatorului, ci numai maniera standardizata de apelare a rutinelor de I/O (parametrii si adresa). 2) Partea de ROM-BIOS este particularizata la varianta constructiva, cunoscuta n detaliu numai de producatorul calculatorului si care "arde" n PROM aceasta parte a BIOSului. Fiecare rutina de I/O are prevazut un punct de intrare (o adresa) cunoscut de BIOS.
5

MS - DOS

Transparenta variantei constructive a calculatorului fata de utilizator se datoreaza faptului ca BIOS-OS este comun tuturor compatibilelor IBM-PC, iar ROM-BIOS difera de la calculator la calculator. Programul pentru ncarcarea sistemului de operare de pe disc se afla pe pista 0 si sectorul 1 (zona de boot) a oricarui disc-sistem. La harddisk-uri, datele din aceasta zona descriu structura de partitii din care se determina partitia activa. Programul IO.SYS care contine extensii ale BIOS-ului, permite actualizari ale programului BIOS, corespunzatoare noilor versiuni de sisteme de operare, precum si extinderea configuratiei standard prin adaugarea de noi echipamente periferice fara a fi nevoie sa se modifice ROM-ul care contine BIOS-ul. Programul MSDOS.SYS care contine procedurile (ntreruperi si functii) de tratare a operatiilor de intrare/iesire la nivel logic. COMMAND.COM care reprezinta interpretorul de comenzi, prin intermediul caruia se realizeaza primul nivel de dialog al sistemului cu utilizatorul. Lansarea n executie a sistemului de operare Pentru ncarcarea sistemului de operare se procedeaza astfel: cnd calculatorul nu e alimentat memoria RAM nu contine nimic, singurele informatii sunt n CMOS si n ROM, n afara discurilor. n ROM-BIOS se afla un program numit "loader", prencarcator, care lanseaza operatia de "bootstrap", adica operatia de ncarcare a sistemului de operare. IP este ncarcat automat, hard, cu adresa primei instructiuni din programul loader (ncrctor) care se afl n EPROM-uri.

Adresa de nceput a programului loader se ncarc n registrul de instructiuni IP al microprocesorului si se lanseaz n executie programul loader localizat n ROM Loader-ul se lanseaza n executie: 1) Testeaza configuratia hard daca functioneaza corect (POST-Power On Self Test): se testeaz unitatea central, memoria RAM, tastatura, CMOS, monitorul, unittile de

discuri magnetice. De fapt se testeaz configuratia minimal de functionare a calculatorului. 2) ncarca n RAM la o adresa prestabilita primul sector al primei piste al primului disc ntlnit n configuratie. 3) Lanseaza programul respectiv, continut n acest sector numit sector de "boot". Aceste program se mai numeste si BOOTSTRAP. Programul, n functie de starea sistemului de calcul, ncarc ulterior n memoria RAM toate componentele sistemului de operare.

Configurarile se fac verificnd daca exista fisierul CONFIG.SYS n directorul radacina pe discul de "boot"; daca este gasit se executa comenzile din el, iar daca mai nu se trece departe. Lansarea n executie a unor comenzi utilizator se face verificnd existenta fisierului AUTOEXEC.BAT n directorul radacina pe discul de "boot"; daca exista se executa, iar doar daca nu se executa anumite comenzi (DATE, TIME); ulterior se da controlul CCP. Se afiseaza apoi prompterul, asteptndu-se o comanda din partea utilizatorului. Interpretorul de comenzi prelucreaza comenzile DOS, actionnd ca o interfata ntre utilizator si sistemul de operare.

Organizarea fisierelor sub MS-DOS Una din functiile importante ale sistemului de operare este aceea care asigura gestionarea datelor pe suporturi de memorie externa. Pentru a realiza aceasta functiune datele si programele se memoreaza pe suportul magnetic ntr-o forma care permite manevrarea lor ca entitati. Acestea se numesc fisiere. n sistemul de operare MS - DOS, spatiul de memorare al unui disc este mpartit n patru zone distincte, primele trei zone, numite zone sistem, sunt rezervate si initializate la formatarea discului. Prima zona este destinata programului de ncarcare a sistemului (boot) A doua zona se numeste FAT (File Allocation Table) si contine date referitoare la alocarea fisierelor pe disc. A treia zona contine directorul radacina (root) si informatia despre fisierele care i apartin. A patra zona (cea mai mare) contine fisierele grupate n directoare.

Comenzile sistemul de operare MS - DOS Comenzile sistemului de operare MSDOS sunt de doua tipuri: interne si externe. Comenzile interne se executa imediat deoarece fac parte din sistemul de operare DOS si sunt ncarcate odata cu acesta. Ele sunt incluse n fisierul COMMAND.COM si sunt executate imediat dupa tastarea lor. Comenzile externe sunt rezidente pe disc ca programe executabile. Ele sunt reprezentate de orice fisier care are extensia .COM, .BAT sau .EXE. Programele create de utilizatori, scrie n limbaje de nivel nalt, vor deveni fisiere EXE si vor fi comenzi externe pentru MS-DOS. Pentru o comanda externa nu este necesara tastarea extensiei. n cazul existentei mai multor fisiere cu acelasi nume dar extensii diferite, sistemul va lansa n executie numai unul dintre ele respectndu-se ordinea de prioritate: .COM, .EXE, .BAT. Cele mai utilizate comenzi DOS sunt: Comanda DIR permite afisarea continutului unui DIRECTOR. dir dir/p dir/w dir/o:n -afiseaza continutul directorului curent -afiseaza continutul directorului curent din pagina n pagina -afiseaza continutul directorului curent, compactat pe ecran -afiseaza fisierele n ordine alfabetica, dupa nume

dir/o:e

-afiseaza fisierele n ordine alfabetica, dupa extensie

Comanda TYPE permite afisarea continutului unui fisier. Sintaxa: C:\TYPE nume.ext - afiseaza pe ecran continutul fisierului specificat. Comanda COPY permite copierea unuia sau mai multor fisiere sau directoare. Comanda MD creeaza un nou director. Sintaxa: md numedirector - creeaza un director nou n directorul curent. Alta forma pentru comanda: mkdir. Comanda RD permite distrugerea (stergerea) unui director care nu mai contine nici un fisier. nainte de a se distruge un director, fisierele din el trebuie sa fie sterse. Sintaxa: rd numedirector - distruge directorul specificat, care nu mai contine nici un fisier. Comanda TREE afiseaza structura de directoare a unui disc pornind din punctul specificat Sintaxa: tree [d:]_[director] Comanda DEL permite stergerea unui fisier sau a mai multor fisiere n grup. Sintaxe: del nume.ext - sterge directorul specificat del *.ext - sterge toate fisierele cu extensia specificata

del _nume.* - sterge toate fisierele cu numele specificat del *.* Alta forma- ERASE Comanda CD produce schimbarea directorului curent din prompter. Sintaxa: - sterge toate fisierele din directorul curent

cd numedirector - face trecerea de la directorul curent existent n prompter, catre un alt director, aflat pe un nivel superior din structura de directoare. cd . . - face trecerea de la directorul curent, existent n prompter, catre directorul anterior din prompter, acesta devenind noul director curent. Comanda REN permite redenumirea unui fisier, putndu-se modifica numele si extensia. Sintaxa: ren numeV.extV numeN.extN - schimba fisierul cu numele si extensia veche cu un alt nume sau extensie, specificate de utilizator. Alta forma: RENAME. 1.2.2 Sistemul de operare Windows Acest sistem de operare, folosit la ora actual pe majoritatea PC-urilor, este conceput ca un sistem de operaremultitasking. n acest fel se pot lansa n executie simultan mai multe aplicatii care pot chiar coopera. Initial sistemul de operare (SO) standard a fost MS-DOS; PC-ul era similar cu un calculator cu microprocesor Intel si SO MS-DOS. Vom descrie n continuare un scurt istoric al evolutiei acestui sistem de operare. Windows 3.x n 1990 a nceput sa se foloseasca modul protejat la 80386 prin Windows 3.0, oferind memorie extinsa utilizatorilor. La pornirea calculatorului se ncarca MS-DOS, peste acesta se ncarca Windows care ofera un mediu de operare grafic si facilitati multitasking. O aplicatie (task) care da eroare poate determina blocarea sistemului pentru ca toate aplicatiile folosesc si un program (cod) comun al sistemului. Windows 3.x este un SO pe 16 biti, deci segmentele de memorie au maxim 64 KB. Pentru trecerea la aplicatii pe 32 de biti Microsoft ofera programe speciale (WINMEM32, si ulterior Win32s). Nu exista facilitati de integrate n SO pentru lucru n retea. Se utilizeaza facilitati de retea oferite de programele Novell rulate sub Windows. Windows 3.1 cere un calculator cu un procesor cel putin 80286 si cel putin 1MB RAM; recomandat este 80386 cu 4MB. Windows for Workgroups 3.11

10

S-au introdus facilitati pentru lucrul n retea. S-a introdus accesul pe 32 de biti la fisierele de pe discul dur ceea ce a crescut foarte mult viteza de lucru. Configuratia minima este un 80386 cu 4 MB RAM, dar recomandabil este cel putin 8 MB RAM. Windows NT 3.5 Exista doua variante: una pentru statia de lucru (un calculator dintr-o retea) si alta pentru serverul retelei (calculatorul central care coordoneaza reteaua). Este primul sistem de operare propriu-zis pentru ca nu are nevoie de instalarea initiala a sistemului de operare MS DOS. Este un sistem de operare pe 32 de biti. Cerintele principale au fost siguranta n functionare si protectia datelor, nu viteza de lucru. Nu suporta modul "Plug and Play", dar componentele hard se adauga relativ usor. Contine servicii integrate pentru lucrul n retea. Necesita cel putin 16 MB RAM, dar recomandabili sunt 32 MB RAM. Windows 95 Nu are nevoie de instalarea anterioara a MS-DOS. Windows 95 este un sistem de operare pe 32 de biti. Aplicatiile MS-DOS sau Windows pe 16 biti pot fi rulate pe Windows 95, dar n acest mod nu se beneficiaza de viteza oferita de Windows 95 care gestioneaza mai bine cantitati mari de date. si aici eroarea unei aplicatii conduce la blocarea ntregului sistem. Interfata grafica cu utilizatorul este schimbata fata de versiunile anterioare, mult mai intuitiva si usor de accesat folosind un mouse. Windows 95 ofera facilitati net superioare de lucru n retea si multimedia (sunet si grafica) precum si Plug and Playcomplet automatizat. Se cere teoretic cel putin un 80386Dx cu 4MB RAM, practic cel putin 80486 cu 8 MB RAM, se recomanda ns 16 MB RAM. Windows NT Workstation 4.0 Windows NT Workstation 4.0 are aceeasi interfata point-and-click ca si Windows 95. Este un sistem de operare desktop PC foarte fiabil. Conform SOFRES Intersearch, Windows NT Workstation 4.0 are o probabilitate de trei ori mai mica dect Windows 95 de a nregistra blocari si caderi ale sistemului. Nivelul nalt de securitate al Windows NT Workstation 4.0 este furnizat att mediilor de sine statatoare ct si celor conectate, indiferent de sistemul de operare pentru retele. Cuprinde, de asemenea, capacitati mergnd de la resurse de retea bazate pe certificare, pna la protejarea la nivel de fisier, pentru a preveni atacurile din afara (sau din interior).

11

n Windows NT Workstation, toate aplicatiile ruleaza n spatii distincte de memorie, ceea ce permite nchiderea unei aplicatii deteriorate fara sa fie necesara repornirea calculatorului. Windows NT Workstation 4.0 Peer Web Services permite, chiar la simpla instalare, configurarea unei retele intranet cu pna la 10 conexiuni simultane. Windows NT Server 4.0 Este dotat cu Microsoft Internet Information Server 4.0, conexiuni TCP/IP simultane nelimitate, securitate pentru prevenirea accesului neautorizat la sistem si Microsoft Message Queuing Server - toate sunt integrate si dedicate Internet. Cerintele sistemului sunt: - sisteme Intel si compatibile: procesoare la 486/33 MHz, Pentium, Pentium Pro, sau mai rapide; - memorie - 16 MB - hard disk minim 125 MB disponibili. Windows 98 Windows 98 aduce mbunatatiri remarcabile ale sistemului. Pornirea aplicatiei este cu 36% mai rapida dect n Windows 95, iar Windows Maintenance Wizard executa automat functiile de ajustare a sistemului, marind eficienta utilizatorilor. Suportul pentru MMX, AGP si DirectX API asigura grafica 3-D rapida. Suportul pentru DVD si standardele USB permit utilizatorilor sa foloseasca de ultimele periferice compatibile Plug and Play. Cerinte minime de sistem: - calculator - 486DX/66-MHz sau mai rapid - memorie - 24 MB (mai multa memorie mbunatateste performanta) - hard disk - 140 MB - 315 MB. Windows 2000 Professional Windows 2000 Professional combina usurinta utilizarii sistemului de operare Windows 98 cu simplitatea administrarii, fiabilitatea si securitatea sistemului de operare Windows NT. Sistemul de criptare a fisierelor pastreaza fisierele utilizatorilor n siguranta prin criptarea lor pe hard-disk. Permisiunile de accesare a hard-disk-ului sunt mai stricte datorita NT File System (NTFS 5.0). Cu Encrypting File System (EFS), Windows 2000 protejeaza datele de pe
12

discul hard al unui calculator. EFS, care face parte din sistemul de fisiere Windows NT, cripteaza fiecare fisier cu o cheie generata aleator. Procesele de criptare si decriptare sunt transparente pentru utilizator. Windows 2000 Professional este prima versiune de Windows NT care ofera suport Plug and Play, precum si suport multiplu pentru sisteme de fisiere FAT, FAT32 si NTFS. Performantele sunt mai mari dect Windows 98. Cu 64 MB de memorie, Windows 2000 este n medie cu 25% mai rapid dect Windows 98. Deoarece se bazeaza n ntregime pe o arhitectura pe 32 de biti, utilizatorii pot rula mai multe programe si realiza mai multe sarcini simultan. Adaugarea de memorie suplimentara si a unui procesor i mbunatateste si mai mult performanta. Windows 2000 suporta pna la 4 GB de RAM si multi-procesare simetrica cu 2 cai. Windows 2000 permite unui numar de maxim 10 calculatoare sa partajeze simultan o singura conexiune la Internet - fie prin dial-up fie n banda larga. Windows 2000 Server Ofer n plus fat de Windows 2000 urmtoarele facilitti: Protectia fisierelor Windows: mpiedica ca noile instalari de soft sa nlocuiasca fisiere sistem esentiale. Echilibrarea sarcinii n retea: Pe Web sau pe servere Terminal Services, n eventualitatea caderii hard sau soft a unui server sarcinile de lucru se redistribuie ntre serverele ramase n mai putin de 10 secunde. Partajarea conexiunii Internet: Permite mai multor utilizatori sa partajeze o singura conexiune Internet externa facilitnd conectarea la Internet. Windows Telephony Applications Programming Interface (TAPI) 3.0 TAPI este un nivel de abstractizare software care permite aplicatiilor software sa lucreze cu o varietate larga de sisteme de telefonie pentru a oferi mai multe optiuni si o mai mare flexibilitate. TAPI 3.0 adauga suport pentru media-difuziune si suport mai bun pentru telefonie IP prin nglobarea de facilitati H.323 IP Multicast, bazndu-se pe suportul deja existent pentru aplicatii de telefonie client-server traditionale, cum ar fi centre de apel telefonic, raspuns vocal interactiv. Iar cu noua arhitectura Component Object Model a lui TAPI puteti sa va faceti aplicatia accesibila telefonic folosind o varietate de limbaje de programare. Repornire automata: Puteti configura serviciile din sistemul de operare, sa reporneasca automat daca se blocheaza. Arborele de oprire a proceselor: Posibilitatea de oprire a tuturor proceselor legate de un proces sau de o aplicatie eronata fara a reboot-a sistemul.

13

Interoperabilitate ridicata cu calculatoarele client: Suporta sistemele de operare Windows NT Workstation, Windows 9x, Windows 3.x, Macintosh si Unix. Suportul TCP/IP Appleshare mbunatateste partajarea resurselor pentru sistemul de operare Macintosh. Backup si recuperare: Facilitatile de backup si recuperare usureaza backup-ul datelor si apoi recuperarea acestora n eventualitatea unei caderi a discului hard. Windows 2000 permite backup-ul ntr-un singur fisier pe un disc hard si pe medii cu banda. Windows Millenium Edition (Me) Ofer n plus fat de Windows 2000 Server urmtoarele facilitti: Multimedia Center. Windows Movie Maker poate sa nregistreze un video-clip de la o camera de luat vederi sau sa importe un film dintr-un fisier care poate fi ulterior mpartit n clipuri mai mici ce pot fi salvate. Windows Image Acquisition este folosit pentru a prelua si edita imagini de pe dispozitive externe de achizitie imagine (scannere, aparate de fotografiat, etc.) Noul Windows Media Player 7 suporta o gama foarte larga de formate audio si video, include un tuner pentru posturi radio de pe Internet si un utilitar de transfer al fisierelor audio catre dispozitive audio portabile sau catre dispozitive ce ruleaza Windows CE. Hibernare. Este o alta facilitate preluata de la Windows 2000 si care scurteaza foarte mult procesul de nchidere si pornire al calculatorului. n momentul n care alegem optiunea de hibernare, sistemul de operare salveaza ntreaga memorie pe hard-disk si opreste sistemul. La repornire sistemul porneste mult mai rapid si aplicatiile cu care lucram au ramas deschise. Reteaua. n cadrul procesului de instalare a retelei se pot partaja fisierele, imprimantele si conexiunea la Internet. Tot n cadrul aceluiasi proces se poate crea o discheta ce poate fi folosita pe calculatoare cu sisteme de operare mai vechi (Windows 9x) pentru a beneficia de noile facilitati ale retelei oferite de Windows Me. Microsoft Windows XP Windows XP mbina perfect cele mai bune caracteristici: fiabilitatea codului de baza al sistemului Windows 2000 combinata cu cele mai bune caracteristici ale sistemelor de operare Windows 95/98/Millennium Edition. Windows XP este creat pe tehnologia Windows 2000, care l face sa fie un sistem de operare foarte stabil. Cu facilitati ca Internet Connection Firewall, care protejeaza utilizatorii de accesul neautorizat la calculatorul lor cnd navigheaza pe Internet, pna la facilitatea System Restore care mentine stabilitatea sistemului, Windows XP va fi mult mai sigur dect oricare alta versiune Windows de pna acum. Mediul Multi-User se adreseaza nevoilor specifice mai multor utilizatori care partajeaza acelasi calculator sau resursele acestuia. Noi caracteristici, cum ar fi Fast User Switching, permit schimbarea rapida a utilizatorilor fara a fi necesara deconectarea acestora si partajarea usoara a unui singur calculator fara a nchide aplicatiile unul altuia sau a schimba propriile setari desktop. Remote Assistance asigura posibilitatea de a cere asistenta securizata sau suport profesional. Ofera suport pentru inscriptionarea CD-urilor.
14

Cerinte sistem: Calculator: se recomanda procesor la 300MHz sau mai rapid; 233 MHz minim cerut; procesor din familia Intel Pentium/Celeron, familia AMD K6/Athlon/Duron, sau procesor compatibil. Memorie: Se recomanda 128MB de RAM sau mai mult (64MB minim necesari; poate limita performanta sau anumite caracteristici) Hard Disk 1.5 GB spatiu liber pe hard disk. Daca se instaleaza n retea, este necesar spatiu liber aditional pe hard disk. Sunt recomandate si o unitate CD-ROM sau DVD-ROM, precum si un monitor cu afisaj Super VGA (800 x 600) sau monitor sau adaptor video cu rezolutie mai mare Cu numele de cod anterior "Whistler Server", familia de produse Windows .NET Server este generatia urmatoare a seriei de sisteme de operare Windows Server. 1.2.3 Nucleul (kernel) unui sistem de operare Kernel-ul (miez, nucleu, parte esential) reprezint modulul central al unui sistem de operare. Este partea sistemului de operare care se ncarc prima si rmne n memoria principal (RAM) a calculatorului pe tot parcursul functionrii acestuia. Deoarece este rezident n memorie este important ca acest nucleu al sistemului de operare s fie de dimensiuni ct mai mici cu putint pentru ca restul de memorie RAM s fie la dispozitia aplicatiilor utilizatorului n proporie ct mai mare. Kernel furnizeaz serviciile esentiale cerute de alte componente ale sistemului de operare precum si de aplicatiile ce ruleaz la un moment dat. n mod uzual kernel este responsabil de gestiunea memoriei (memory management), de gestionarea proceselor si task-urilor, precum si de gestiunea fisierelor pe disc. Kernel32.dll este biblioteca cu legare dinamic (DLL, Dynamic Link Library) pe 32 de biti aflat inclus nkernel-ul sistemului de operare Windows. Aceast bibliotec cuprinde functiile de nivel inferior ale sistemului de operare, este responsabil de gestiunea memoriei, de operatiile de intrare/iesire si de gestiunea ntreruperilor. La ncrcarea sistemului de operare Windows, kernel32.dll se ncarc ntr-un spatiu de memorie protejat astfel nct nici o alt aplicatie nu poate avea acces n aceast zon de memorie. n mod cu totul accidental utilizatorul poate ntlni mesajul "invalid page fault" generat tocmai de o ncercare nepermis a unui program sau aplicatii de a accede n zona de memorie protejat alocat kernel32.dll. Cteodat aceast eroare este cauzat de un program sau o aplicatie particular iar altdat este provocat de aplicatii sau programe concurente. Dac problema apare la rularea unei singure aplicatii, atunci este nevoie s nlocuim acea aplicatie. Dac eroarea apare la executia concurent a mai multor aplicatii sau la accesul unor fisiere multiple, atunci eroarea este cauzat de o proast functionare a hardware-ului. n afar acestui nucleu de baz, sistemul de operare Windows mai cuprinde: User32.dll, care manipuleaz functii de gestiune a sistemului, ca, spre exemplu, manipularea mesajelor, a temporizrilor, a meniurilor sau a resurselor sistemului de calcul.
15

GDI32.dll, care manipuleaz biblioteca de interfat grafic (GDI, Graphics Device Interface) a sistemului de operare. Aceast bibliotec contine functii pentru dispozitivele de iesire ca cele pentru desenare, contextul de afisare sau gestiunea fonturilor. Comctl32.dll, care manipuleaz portiuni ale interfetei grafice cu utilizatorul (GDI, Graphical User Interface)precum toolbars, text boxes, scroll bars, etc. 1.2.4 Aplicatii, procese si task-uri O aplicatie reprezint un program sau utilizatorul final al calculatorului. un grup de programe proiectat pentru

Programul reprezint un set de instructiuni pentru calculator. Acest set este complet si de sine-stttor si este folosit pentru a ndeplini anumite task-uri. Un sinonim pentru program este termenul de aplicatie. Un proces (task) este asociat unui program lansat n executie. Termenul se mai foloseste cteodat ca un sinonim pentru task. De asemenea se mai ntlnste n informatic si termenul de procesare a datelor care se refer la efectuarea unor operatii utile asupra datelor. Task este un concept al sistemului de operare care se refer la o combinatie dintre un program n executie si un catalog de informatii construit de sistemul de operare pentru a gestiona eficient functionarea programului respectiv. Spre exemplu, n sistemul de operare Windows exist la baza desktop-ului asa-numita taskbar. De fiecare dat cnd se lanseaz n executie un program apare n zona taskbar o legtur cu programul lansat n executie, deci la lansarea n executie a unui program sistemul de operare creaz un nou task pentru el. De cte ori ne uitm la taskbar putem vedea cte si care programe sunt lansate n executie. Task-ul este pentru program ca un plic pentru o scrisoare: el identific programul cu un numr de task (task number) si i ataseaz si alte informatii necesare unei bune functionri ntr-un mediu multitasking. Diferite sisteme de operare, inclusiv UNIX, OS/2 sau Windows, sunt capabile s ruleze mai multe task-uri n acelasi timp, fiind numite sisteme de operare multitasking. n majoritatea sistemelor de operare exist o corespondent unul-la-unul (biunivoc) ntre task si program (aplicatie). Exist ns sisteme de operare care permit ca un program s fie divizat n mai multe task-uri, aceste sisteme de operare numindu-se multithreading. Dac ne referim la exemplul specific al sistemului de operare Windows, aici dispunem de un utilitar numitWindows Task Manager cu ajutorul cruia putem vizualiza aplicatiile, procesele si utilizatorii care sunt activi la un moment dat. n acest caz specific vom vedea c nu vom avea o corespondent biunivoc ntre aplicatii si procese. Prin aplicatie se ntelege n cazul Windows multimea de task-uri la care utilizatorul poate avea acces independent prin pointare cu mouse-ul de pe bara de task-uri. Prin proces vom ntelege multimea de programe executabile care sunt active la un moment dat si care sunt gestionate de ctre sistemul de operare. Chiar dac utilizatorul nu
16

lanseaz explicit n executie nici o aplicatie vom putea sesiza prezenta mai multor procese active care ruleaz n background, fr a fi sesizate de ctre utilizator, lansate n executie la ncrcarea sistemului de operare si rezidente permanent n memorie. Dac, spre exemplu, se lanseaz n executie procesorul de text Microsoft Word si se deschid pentru editare dou documente, atunci fiecare document este considerat o aplicatie iar procesorul de documente Winword.exe este considerat un proces. n acest caz avem de-aface cu un proces (un executabil) si dou aplicatii (dou documente de editat).

O aplicatie care apartine unui proces se poate nchide fr a afecta procesul, care rmne n executie. Exist ns posibilitatea ca odat cu terminarea unei aplicatii care tine de un anumit proces s se nchid si procesul aferent. Dac se nchide un proces, se nchid toate aplicatiile care apartin de proces.

Software-ul poate fi mprtit n dou clase generale: software de sistem si software de aplicatie.

17

Software de sistem (system software) care const din totalitatea programelor de nivel sczut care interactioneaz cu calculatorul la nivel de baz. Aici putem include sistemul de operare, compilatoare, instrumente de gestionare a fisierelor pe disk (precum My computer, Explore, Norton Commander) sau utilitare de sistem (multe dintre ele grupate n Control Panel) prin care se gestioneaz sau configureaz resursele calculatorului. Software de aplicatie (application software) cuprinde asa-numitele programe pentru utilizatorul final (end-user application) si include majoritatea aplicatiilor cu care lucreaz n mod curent utilizatorul unui calculator. Astfel de aplicati pot fi: - Programe de baze de date precum dBase, FoxPro, VisualFox, Oracle, etc. - Procesoare de documente precum Microsoft Word, WordPro (mai vechiul AmiPro al firmei Lotus) sau WordPad inclus n mediul Windows. - Programe de calcul tabelar precum Microsoft Excel sau Lotus 1-2-3 - Programe de modelare si simulare a sistemelor dinamice, cel mai cunoscut dintre ele fiind MATLAB/Simulink al firmei MathWorks, SciLab al I.N.R.I.A. Franta sau Matrixx. - Programe pentru achizitie si prelucrare semnal n timp real precum LabVIEW al firmei National Instruments. Asa cum se prezint si n figura de mai sus, software-ul de aplicatie se bazeaz pe software-ul de sistem deoarece el este incapabil s ruleze fr sistemul de operare sau utilittile de sistem incluse n software-ul de sistem. 1.3 Realizarea de programe executabile 1.3.1 Ce reprezint un program executabil Un program este o list organizat de instructiuni care, atunci cnd sunt executate, impun calculatorului un comportament premeditat si anume cel dorit de programator. Fr programe calculatoarele sunt inutilizabile. Un program este ca un recipient care contine o list de ingrediente numite variabile si o list de directive numitedeclaratii sau instructiuni care dicteaz calculatorului ce anume s execute cu variabilele. Variabilele pot reprezenta date numerice, text sau imagini grafice. Calculatoarele pe care le folosim n mod obisnuit, asa numitele PC-uri, sunt bazate n functionare pe o unitate integrat logic, aritmetic si de control numit unitate de procesare si control (CPU-Control Process Unit) sau mai pe scurt microprocesor. Prin proiectare acest microprocesor, adevrat creier pentru un sistem de calcul, este capabil s execute un numr predefinit de instructiuni asupra unui anumit set (predefinit) de tipuri de date. Microprocesorul extrage secvential (pe rnd, una cte una) instructiunile grupate ntr-un program, numit si program executabil sau executabil. Acest program executabil este conceput de un programator n functie de necesittile utilizatorului.

18

n cele ce urmeaz vom sintetiza procesul de programare a calculatorului, adic vom prezenta pe scurt care sunt pasii pe care i putem face pentru a crea un program executabil. Orice informatie stocat n memoria intern (RAM sau ROM) a unui calculator sau pe suporturile de stocare externe (hard sau floppy disk-uri, CD-ROM-uri, etc.) este n format binar, adic o nsiruire de biti 0 sau 1. Instructiunile si datele care compun programele executate de microprocesor sunt n acelasi format binar. Fiecare productor de microprocesoare proiecteaz un anumit set de instructiuni pe care microprocesorul le poate executa. Aceste instructiuni sunt codificate binar. Spre exemplu, cu 8 biti se pot codifica instructiuni. La fel se ntmpl si cu datele: ele au un format de reprezentare binar care la ora actual este standardizat si adoptat de toti productorii de microprocesoare si de software. Modul de reprezentare al datelor va face obiectul capitolului urmtor. Un program executabil va fi reprezentat n final de un set de instructiuni si date care sunt prelucrate de instructiunile respective. 1.3.2 Ce reprezint un limbaj de programare Problema dificil n programarea unui calculator rezid din faptul c sistemul uman de reprezentare a informatiilor (imagini vizuale, comenzi verbale sau scrise) este incompatibil cu sistemul de reprezentare binar intern folosit de microprocesor. Pentru a realiza o compatibilizare ntre aceste moduri de reprezentare, proiectantii de software au conceput asa-numitele limbaje de programare. Limabajul de programare este apropiat de limbajul uman si contine instructiuni cu semnificatii precise, n special n limba englez. De asemenea, datele ntr-un limbaj de programare sunt reprezentate ntr-un format (numit format exetern) foarte apropiat sau chiar identic cu formatul de reprezentare a datelor folosit n matematic. Cu ajutorul unui limbaj de programare programatorul poate implemeta un program surs folosind comenzi cu o sintax si o semantic apropiat de limbajul uman. Scrierea unui program nu mai este o problem de limbaj, efortul concentrndu-se asupra implementrii celui mai potrivit algoritm. Din puctul de vedere al apropierii de limbajul uman dispunem de limbaje de programare de nivel nalt (HLPL-high-level programming languages) precum C++, Pascal, BASIC, FORTRAN, COBOL sau LISP, de limbaje de programare de nivel mediu cum ar fi C sau de limbaje de programare de nivel sczut numite si limbaje de asamblare care sunt apropiate de limbajul microprocesorului. De fapt limbajul de asamblare reprezint un set de mnemonice corespunztor setului de instructiuni al microprocesorului precum si un set de instructiuni mai complexe prin care se exploateaz optim resursele microprocesorului. Programarea este cu att mai simpl cu ct limbajul este de nivel mai nalt, dar exist ntotdeauna un compromis ntre usurinta programrii si gestionarea resurselor sistemului de calcul. Cu alte cuvinte un program scris ntr-un limbaj de nival nalt are dimensiuni mai mari (ocup spatiu mai mare pe disc sau n memorie) si viteza sa de executie este mai mic. Resursele calculatorului sunt cel mai bine gestionate folosind limbajul de asamblare propriu fiecrui microprocesor, dar efortul de programare este deosebit de intens. Un foarte bun
19

compromis se obtine folosindu-ne de limbajul C, de altfel cel mai rspndit limbaj de programare procedural. La ora actual viteza de procesare a microprocesoarelor a crescut foarte mult, la fel cu capacitatea cipurilor de memorie RAM, cu scderea timpului de acces la memorie si cu scderea preturilor la componentele electronice. Gestionarea resurselor calculatorului nu mai reprezint o problem foarte stringent, calculatoarele avnd capacitti de memorie si viteze de procesare deosebit de mari. n acest context au aprut limbaje de programare deosebit de puternice care permit dezvoltarea de aplicatii si depanarea lor ntr-un timp foarte mic. Spre exemplu s-au conceput limbaje de programare vizuale, derivate din cele clasice, dar care sunt prevzute cu facilitti deosebite pentru implementarea intefetelor grafice cu utilizatorul. n mediul de dezvoltare Microsoft Development Kit dispunem de visual-C, visualBasic si visual-FoxPro. C este un limbaj de programare procedural structurat care a fost folosit n primul rnd pentru dezvoltarea sistemului de operare UNIX (multe dintre versiunile UNIX au fost scrise n C) si apoi pentru dezvoltarea de aplicatii n mediul academic si industrial. C a fost standardizat ca parte a Interfetei Sistemului de Operare Portabil POSIX (Portable Operating System Interface). Odat cu cresterea popularittii programrii orientate pe obiect C este nlocuit treptat ca limbaj de programare de ctre limbajul C++, un superset al limbajului C care foloseste un set complet diferit de concepte de programare. Java reprezint un limbaj sismilar cu C++ dar mai simplu si a fost proiectat pentru folosirea n retele distribuite. Indiferent de ce limbaj de programare folosim, n mediul de programare folosit de programator pentru dezvoltarea unei aplicatii exist obilgatoriu un editor de texte cu ajutorul cruia se scriu instructiuni specifice limbajului de programare folosit. La finalul procesului de programare se obtine un fisier text, numit fisier surs care se salveaz pe disc cu un nume ales de programator si cu o extensie specific limbajului de programare folosit. 1.3.3 Cum se obtine un program executabil Programul surs (source file) contine setul de instructiuni pe care trebuie s le ndeplineasc microprocesorul. Acest set de instructiuni este scris ntr-un limbaj de programare specific. Pentru a obtine un program executabil, orice program surs trebuie eventual translatat (tradus) n limbaj cod masin sau cod obiect pe care l poate ntelege microprocesorul. n urma acestui proces, alturi de fisierul surs apare si fisierul cod obiect (object file.) Aceast translatare sau traducere este efectuat de ctre compilatoare,interpretoare sau asambloare. Compilatorul este folosit pentru transformarea codului surs, adic a programului scris ntr-un limbaj de programare de nivel nalt, n cod obiect (object code). Acest cod obiect va fi transformat n faza de editare de legturi n cod masin executabil de microprocesorul sistemului de calcul.

20

Programatorii scriu programe ntr-o form numit cod surs. Acest cod surs parcurge apoi ctiva pasi nainte de a deveni program executabil.

Pe scurt, un compilator este un program special care proceseaz instructiuni scrise ntrun limbaj de programare particular si le transform n limbaj masin sau cod masin pe care l poate executa microprocesorul. La ora actual un limbaj de programare este inclus ntr-un mediu de programare mai complex care include uneditor de texte pentru introducerea instructiunilor n limbajul de programare de nivel nalt, un compilator si un editor de legturi folosite pentru translatarea codului surs n cod masin. n mod tipic, un programator scrie declaratii ntr-un limbaj precum Pascal, C sau MATLAB folosind un editor. Se creaz astfel un fisier numit fisier cod surs ce contine o colectie de instructiuni si declaratii scrise n limbajul respectiv. Primul pas este prelucrarea codului surs de ctre compilator, care translateaz instructiunile de nivel nalt ntr-o serie de instructiuni cod obiect. Cnd este lansat n executie compilatorul acesta, ntr-o prim etap, lanseaz un analizor sintactic, gramatical, numit parser. Acesta parcurge si analizeaz sintactic, secvential, n ordinea n care au fost introduse, toate instructiunile scrise n limbajul de nivel nalt. O instructiune de nivel nalt se translateaz ntr-una sau mai multe instructiuni specifice microprocesorului pentru care a fost conceput compilatorul. Aceste instructiuni ale microprocesorului sunt nlocuite cu codurile lor binare, fiecare instructiune a microprocesorului fiind codificat de ctre constructor. Codurile binare ale instructiunilor microprocesorului mpreun cu reprezentrile interne ale datelor manipulate formeaz codul obiect. Deci n unul sau mai multe faze (parserul este una dintre faze) din codul surs de intrare se produce un cod de iesire, numit n mod traditional cod obiect. Este foarte important ca referiri la alte module de cod s fie corect reprezentate n acest cod obiect. Pasul final n producerea programului executabil, dup ce compilatorul a produs codul obiect, este prelucrarea codului obiect de ctre un editor de legturi (link-editor sau linker). Acest linker combin diferitele module (le leag) si d valori reale, efective, tuturor adreselor
21

simbolice existente n codul obiect. n urma acestei prelucrri se obtinecodul masin, salvat ntr-un fisier cu extensia .exe. Acest cod masin poate fi executat secvential, instructiune cu instructiune, de ctre microprocesor. Cu alte cuvinte, un program executabil (executable program - aflat pe disc cu extensia .exe) se obtine prin salvarea pe disc a codului masin obtinut prin prelucrarea succesiv a fisierului cod surs de ctre compilator (compiler) si apoi de ctre link-editor (linker). Procesul de obtinere a unui executabil este prezentat n figura de mai jos. Blocurile tridimensionale reprezint entittile principale ale mediului de programare: editorul de texte, compilatorul (compiler) si editorul de legturi (linker). Blocurile dreptunghiulare reprezint fisierele rezultate n urma aplicrii celor trei utilitare de sistem: n urma utilizrii editorului de texte obtinem fisierul text surs cod cu numele generic "nume". Dac folosim limbajul de programare C spre exemplu, se obtine fisierul nume.c care se va salva pe disc. n urma lansrii n executie a compilatorului, acesta preia fisierul surs si l prelucreaz corespunztor, semnalizndu-se toate erorile fatale pentru program sau avertismente utile programatorului n procesul de depanare. n cazul n care compilarea se efectueaz cu succes, se obtine un fisier cod obiect, salvat pe disc sub numelenume.obj n urma lansrii n executie a editorului de legturi, se preia fisierul cod obiect nume.obj si se leag cu toate modulele necesare (inclusiv functii de bibliotec sau alte module externe), obtinndu-se un program executabil (cod masin) cu numele nume.exe la care adresele nu mai sunt simbolice ci absolute relativ la adresa de nceput a programului. La lansarea n executie a programului fluxul de informatie este complet controlat de ctre microprocesor, toate salturile de adres fiind fcute corespunztor.

22

Interpretorul (interpreter) este un program care execut instructiuni scrise ntr-un limbaj de nivel nalt. Numai anumite limbaje de nivel nalt, spre exemplu BASIC, LISP sau MATLAB, sunt prevzute cu un interpretor. Exist dou modalitti de a executa un program scris n limbaj de nivel nalt. Cel mai comun mod este acela de a compila programul. Cealalt modalitate este "pasarea" programului unui interpretor. Un interpretor translateaz instructiunile de nivel nalt ntr-o form intermediar care este apoi executat. Prin contrast, un compilator translateaz instructiunile de nivel nalt direct n limbaj masin (cod masin). Programele compilate ruleaz n general mai rapid dect cele interpretate. Un alt avantaj al programelor compilate este acela al desprinderii din context n sensul c programele executabile generate n urma procesului de compilare pot fi executate
23

direct sub sistemul de operare al calculatorului. Un program interpretat se execut sub mediul n care a fost creat. Spre exemplu, pentru a rula un program scris n limbajul BASIC se lanseaz n executie mediul BASIC, apoi se deschide fisierul surs-BASIC corespunztor si se lanseaz interpretorul de BASIC pentru executia sa. Avantajul unui interpretor este acela al evitrii procesului de compilare consumator de timp n cazul n care avem programe de mari dimensiuni. Interpretorul poate executa imediat programele surs. Pentru acest motiv interpretoarele se folosesc mai ales n procesul de dezvoltare al programelor, cnd programatorul doreste adugarea unor mici portiuni de program pe care s le testeze rapid. De asemenea, interpretoarele permit o programare interactiv fiind des folosite n procesul de instructie. n mediul de programare MATLAB, mediu interpretor, orice comand utilizator se execut imediat. Se pot edita si fisiere script, care contin secvente de comenzi care se execut secvential. Programele de descriere a paginii (Page description Languages) ca PostScript spre exemplu folosesc un interpretor. Fiecare imprimant PostScript are incorporat un interpretor care execut instructiuni PostScript. Asamblorul (assembler) este un program care face translatia unui program scris n limbaj de asamblare (limbaj de nivel sczut, corespunztor microprocesorului sistemului de calcul) n limbaj cod masin. Putem spune c asamblorul reprezint pentru limbajul de asamblare ceea ce reprezint compilatorul pentru limbajele de nivel nalt. Cum limbajul de asamblare contine instructiuni mai putin complexe dect cele de nivel nalt, asamblorul face practic o convertire biunivoc ntre mnemonicele limbajului de asamblare si codurile binare corespunztoare acestor mnemonice (instructiuni). 1.4 Biblioteci O bibliotec este o colectie de fisiere. Un fisier este o colectie de date sau de informatii care au un nume (filename). Aproape toate informatiile stocate pe suporturi externe (dischete, harddisk-uri, CD-ROM-uri, etc.) sunt sub form de fisiere. Exist diferite tipuri de fisiere: fisiere de date (data files), fisiere text (text files), fisiere executabile (programe, program files), fisiere directoare (directory files), etc. Diferitele tipuri de fisiere stocheaz diferite tipuri de informatii. Spre exemplu, fisierele program cu extensia ,exestocheaz date n format cod masin executabil de ctre microprocesor iar fisierele text stocheaz text, adic o nsiruire de coduri ASCII corespunztoare caracterelor ce compun cuvintele, semnelor de punctuatie, etc. Din acest punct de vedere, n tehnica programrii, prin bibliotec se ntelege o colectie de rutine precompilate(fisiere cod obiect, cu extensia .obj) pe care le poate utiliza un program. n software, un modul este o parte a unui program. Programele pot fi compuse din unul sau mai multe module dezvoltate independent care se pot combina pentru a forma un program
24

mai complex n faza de editare de legturi. Un singur modul poate contine unul sau mai multe rutine. O rutin (routine) este o sectiune a unui modul de program care realizeaz o anumit sarcin. Deci programele constau din module, fiecare modul continnd unul sau mai multe rutine. n general termenul de rutin este sinonim cuprocedur, functie sau subrutin. Concluzionm c o bibliotec este o colectie de functii precompilate, stocate n format .obj, care pot fi folosite de orice modul de program care apeleaz aceste functii si care se leag, n faza de editare de legturi, cu biblioteca respectiv. Bibliotecile sunt foarte utile pentru stocarea functiilor folosite frecvent deoarece nu este nevoie s le legm explicit la orice program care le foloseste. Linker-ul caut automat n anumite biblioteci pentru functiile pe care nu le gseste n alt parte. 1.4.1 Biblioteci cu legare static Orice modul de program care apeleaz functii are dou componente: partea din modul care apeleaz functia, numit modul apelant functia apelat propriu-zis

n faza de compilare, orice functie apelat este tratat din punct de vedere sintactic si din punctul de vedere al modului de apelare. Compilatorul este interesat de compatibilitatea ntre tipul parametrilor actuali de apelare si tipul parametrilor formali de intrare si de iesire cu ajutorul crora au fost definite functiile apelate. Bibliotecile cu legare static sunt de fapt o colectie de functii precompilate. n faza de editare de legturi, link-editorul extrage o copie a fiecrei functii precompilate apelate si o nregistreaz n programul executabil final la o anumit adres alocat precis de ctre el. Astfel, n programul executabil obtinut n final se regseste o copie a codului obiect al fiecrei functii apelate de ctre modulele care compun programul. Dup faza de compilare si editare de legturi, prti din bibliotecile cu care s-a fcut legarea se regsesc n codul masin rezultat. Aceste prti reprezint codurile obiect ale functiilor apelate de ctre toate modulele componente ale programului surs.

25

Salvat pe disc, programul executabil va contine incluse codurile obiect ale tuturor functiilor la care face apel, cu adresele la care se vor dispune n memoria RAM cnd se vor lansa n executie. Aceste adrese constituie un deplasament relativ la adresa de baz a segmentului de memorie n care se ncarc programul executabil de ctre sistemul de operare. Dac mai multe programe fac apel la aceleasi functii, imaginile cod obiect ale acestor functii se vor gsi n fiecare cod program. Sistemele de operare moderne sunt nevoite s optimizeze resursele calculatorului. Dac se lanseaz n executie mai multe programe executabile n cadrul unui sistem de operare multitasking cum este Windows, atunci este posibil ca anumite functii s fie ncarcate repetitiv n memorie de ctre fiecare program executabil n parte. Resursele de memorie nu mai sunt folosite judicios.

26

1.4.2 Biblioteci cu legare dinamic DLL (Dynamic Link Library) este o bibliotec de functii executabile care pot fi folosite de aplicatiile Windows. In mod normal, o DLL furnizeaz una sau mai multe functii particulare si un program acceseaz aceste functii prin crearea unor legturi fie statice, fie dinamice. O legtur static rmne constant n timpul executiei programului n timp ce o legtur dinamic este creat de program n timpul executiei numai atunci atunci cnd este necesar. Mai mult, o bibliotec cu legare dinamic (DLL) poate fi folosit n comun de mai multe aplicatii care se execut simultan. DLL-urile pot contine uneori numai date, nu si cod masin. Anumite DLL-uri sunt furnizate mpreun cu sistemul de operare Windows si sunt disponibile pentru orice aplicatie Windows. Alte DLL-uri sunt scrise pentru o aplicatie particular si sunt ncrcate numai cu aplicatia respectiv. Fisierele DLL se termin n mod uzual cu extensiile .dll (mai ales pentru biblioteci),.exe. (pentru executabile), drv(pentru driverele diferitelor dispozitive), sau .fon (pentru gestionarea diferitelor fonturi). Sub sistemele de operare Windows, o bibliotec cu legare dinamic (DLL, Dynamic Link Library) reprezint o colectie de programe de mici dimensiuni, fiecare program putnd fi apelat de un program mai mare care ruleaz pe acel sistem de calcul la un moment dat. Aceste programe de dimensiuni mai mici care permit
27

programelor mai mari comunicatia cu diferite dispozitive de intrare/iesire precum imprimanta sau scanner-ul sunt adesea mpachetate n fisiere cu extensia .DLL, numite si programe DLL. Avantajul folosirii unui fisier DLL este acela c el nu trebuie ncrcat n memoria RAM odat cu programul executabil care l apeleaz, salvndu-se astfel spatiu de memorie pretios. Cnd este nevoie de un fisier DLL, el se ncarc n memorie ntr-o zon liber si se lanseaz n executie. Legtura cu fisierul DLL se numeste dinamic deoarece, spre deosebire de biblioteca static, adresa de ncrcare a fisierului DLL n memorie nu este fix, ci variabil, n functie de adresa primului segment de memorie RAM liber. Spre exemplu, dac editm un document folosind Microsoft Word, fisierul DLL asociat imprimantei nu este ncrcat n memoria RAM. Dac utilizatorul decide s tipreasc documentul, atunci fisierul DLL al imprimantei se ncarc n memorie si se execut. Un fisier DLL sau o bibliotec cu legare dinamic este recunoscut dup extensia .dll atasat numelui fisierului. Fisierele DLL se leag dinamic cu programul care le foloseste n faza de executie a programelor, nu n faza de compilare si linkeditare ca n cazul bibliotecilor cu legare static. Ca si un program executabil de sine-stttor, o bibliotec cu legare dinamic este compus dintr-o serie de module de cod masin ce reprezint functiile din bibliotec apelabile dintr-un program executabil lansat n executie sau dintr-un alt DLL. Spre deosebire de fisierele program executabile (cu extensia .exe), fisierele DLL nu contin codul necesar pentru a se executa (functiona, rula) de sine-stttor. Ele trebuie apelate pentru executie fie dintr-un cod executabil fie accesate dintr-un alt DLL care este executat. Fisierele DLL care asigur operatii cu dispozitive specifice sunt cunoscute sub numele de drivere de dispozitiv (device driver sau mai simplu drivere). n contextul tehnologic al calculatoarelor, un dispozitiv (device) este o unitate de hardware, situat n afara sau n interiorul carcasei calculatorului, care este capabil de suport pentru intrri, iesiri (sau ambele) de la unitatea central a sistemului de calcul. Cnd se foloseste termenul de computer device atunci notiunea include tastaturi, mouse-uri, monitoare pentru afisare, drivere de hard disk, cititoare de CD-ROM, imprimante, difuzoare audio sau microfoane sau orice alt dispozitiv hardware. Anumite dispozitive precum driverul de hard disk sau cel de CDROM, care sunt situate n interiorul carcasei calculatorului, sunt considerate dispozitive separate deoarece se pot instala sau nlocui separat. Prtile componente ale unui sistem de calcul care nu se consider dispozitive sunt placa de baz (motherboard), procesorul sau coprocesorul, precum si memoria cu acces aleator RAM. Termenul de periferic se refer la dispozitivele de intrare/iesire.
28

Un device driver este un program care controleaz un tip particular de dispozitiv atasat sau inclus la sistemul de calcul. Exist device drivere pentru imprimante, monitoare, cititoare de CD, dischete, etc. Atunci cnd se achizitioneaz un sistem de operare, acesta include o serie de drivere pentru diversele dispozitive posibil de atasat la acest sistem. Dac se achizitioneaz un dispozitiv mai recent dect sistemul de operare, atunci este necesar ca acesta s fie nsotit de un device driver care s fie instalat dup montarea fizic a dispozitivului. Instalarea acestuidriver informeaz sistemul de operare ce fisiere DLL se utilizeaz n lucrul cu dispozitivul corespunztor. Un device driver converteste, n principal, instructiunile generale de intrare/iesire ale sistemului de opeare n mesaje specifice dispozitivului fizic adresat. Cu alte cuvinte, sistemul de operare foloseste, spre exemplu, instructiuni de tiprire de tip general, care nu sunt specifice numai unei anumite imprimante. Este sarcina printer driverului s converteasc aceste instructiuni generale ale sistemului de operare n instructiuni specifice imprimantei folosite. Aceasta creste flexibilitatea unui sistem de operare, care este astfel adaptabil la o gam mai larg de dispozitive produse de diversi productori. Ceea ce se schimb la nlocuirea unei imprimante cu una de alt tip este numai driverulde imprimant. Anumite programe Windows sunt considerate drivere virtuale de dispozitiv (virtual device drivers). Aceste programe interfateaz sistemul de calcul cu Windows Virtual Machine Manager. Exist un astfel de driver virtual pentru orice dispozitiv principal din componenta sistemului de calcul, inclusiv pentru tastatur, hard disk sau porturile seriale sau paralele. Acestea sunt folosite pentru a mentine nregistrri cu starea (status) tuturor dispozitivelor hardware. Starea unui dispozitiv se refer la setrile curente ale parametrilor dispozitivelor (cu alte cuvinte setrile curente ale imprimantei, ale monitorului (numr de culori si rezolutie), ale interfetei seriale (rata de transmisie), etc.). Driverele de dispozitiv virtuale manevreaz n special ntreruperi software provenite din sistem, nu ntreruperi hardware. n sistemul de operare Windows, un driver de dispozitiv este reprezentat de un fisier cu extensiile .exe, .drv sau.dll. Un driver virtual de dispozitiv are extensia .vxd.

29

You might also like