caiet practica

Upload: ochea-marius

Post on 15-Jul-2015

108 views

Category:

Documents


1 download

TRANSCRIPT

I.INSTALAREA WINDOWS XP HOME EDITION

Introducem CD-ul cu Windows XP in unitatea CD-ROM. Va apare o fereastra cu titlul "Welcome to Win XP" in care avem sintem intrebati ce optiune alegem din cele trei prezentate. Facem clic pe optiunea "Install Windows XP". Va apare o fereastra cu titlul "Welcome to Windows Setup" in care sintem intrebati ce tip de instalare dorim. Alegem optiunea "New Installation (Advanced)" care este deja selectata si facem clic pe butonul "Next". Va apare o fereastra care prezinta termenii contractului care se stabileste intre compania Microsoft (producatorul SO) si cumparatorul SO. Citim contractul si daca sintem de acord facem clic in cerculetul de linga textul "I accept the Agreement " (sint de acord cu termenii contractului) si apoi facem clic pe butonul "Next". Va apare o fereastra unde trebuie sa introducem in niste casute codul produsului cumparat ("Product Key"). Dupa ce terminam facem clic pe butonul "Next".Va apare o fereastra in care putem selecta limba folosita la instalare. Alegem optiunea deja selectata (engleza) si facem clic pe butonul "Next". In fereastra urmatoare sintem intrebati daca dorim sa ne conectam la internet pentru a descarca fisierele actualizate necesare pentru instalare. Facem clic in cerculetul de linga optiunea "No, skip this step and continue installing Windows" (treci peste aceasta etapa si continua instalarea Windows). Facem clic pe butonul "Next". Urmeaza etapa de preparare a instalarii WIN XP prin copierea de pe CD a fisierelor necesare. Dupa terminarea acesteia calculatorul va reporni automat.Dupa repornire va apare un ecran albastru intitulat "Welcome to Windows XP Home Edition Setup". Apasam tasta Enter pentru a se incepe instalarea.Va apare un ecran cu textul "You chose to install Win XP in a partition that contains another operating system. Installing Win XP on this partition might cause the other operating system to function improperly." (Ati ales sa instalati Win XP pe o partitie care contine un alt SO. Instalarea Win XP pe aceasta partitie poate cauza functionarea necorespunzatoare a celuilalt SO). Apasam tasta Esc pentru a selecta alta partitie decit partitia pe care este instalat Windows ME. Va apare un tabel cu partitiile existente. Alegem cu ajutorul tastelor cu sageti partitia F (numita anterior chiar WIN XP) si apasam tasta Enter.In ecranul urmator sintem intrebati ce sistem de fisiere sa fie folosit de catre Win XP, fiind disponibile sistemele NTFS si FAT. Partitiile definite de noi pe hardisc cu FDISK folosesc toate sistemul FAT (de fapt FAT32). Sistemul NTFS este mai bun si mai stabil decit sistemul FAT. Este recomandat ca partitia pe care instalam WIN XP sa fie de tip NTFS de aceea ii vom indica programului de instalare ca dorim ca sistemul de fisiere de pe partitia F sa fie convertit in sistem NTFS si apoi apasam tasta Enter. Conversia va dura citeva minute si se va desfasura un pic mai tirziu. Daca folosim pentru WIN XP o partitie cu un sistem de fisiere de tip NTFS nu vom mai putea face operatii cu fisiere intre partitia in care se afla Win XP si cea in care se afla WIN ME decit atunci cind folosim WIN XP, nu si atunci cind folosim WIN ME. Daca dorim ca partitia F sa ramina cu sistemul de fisiere FAT va trebui sa alegem optiunea "Leave the current file system intact (no changes)" pentru ca WIN XP sa foloseasca sistemul existent deja (FAT) si apasam tasta Enter. Alegerea acestei optiuni nu este recomandata pentru ca performanta si stabilitatea WIN XP vor scadea. Urmeaza o etapa de copiere pe hardisc a datelor necesare pentru instalarea Win XP, dupa care sistemul va reporni automat. Va apare o fereastra intitulata "Regional and Language Options" unde alegem optiunile deja selectate (limba engleza si tastatura cu dispunere a butoanelor obisnuita) si facem clic pe butonul Next. Va apare o fereastra cu doua cimpuri in care trebuie sa completam numele nostru si organizatia (compania) din care facem parte. Folosim datele introduse la instalarea Win ME si facem clic pe butonul Next. In urmatoarea fereastra trebuie sa completam numele calculatorului nostru. Folosim numele deja folosit la instalarea Win ME si facem clic pe butonul Next. Va apare o fereastra intitulata "Date and Time Settings" unde 1

trebuie sa alegem fusul orar al localitatii unde locuim dintr-o lista de orase. Alegem ora Bucurestiului si facem clic pe butonul Next. Va apare o fereastra intitulata "Network Settings" unde trebuie sa alegem un mod de instalare in functie de parametrii retelei de calculatoare in care se afla calculatorul nostru. Alegem optiunea deja selectata ("Typical Settings") indiferent daca avem sau nu calculatorul inclus intr-o retea si facem clic pe butonul Next. Va urma o etapa de copiere a unor fisiere la sfirsitul careia calculatorul va reporni. La repornire apare o minifereastra in care sintem anuntati ca Win XP a modificat rezolutia monitorului pentru ca imaginea sa fie mai buna. Facem clic pe butonul OK. In continuare va apare o noua minifereastra in care daca vedem textul acesteia inseamna ca rezolutia aleasa pentru monitor este adecvata. Facem clic pe butonul OK. Va apare o fereastra intitulata "Welcome to Microsoft Windows" unde trebuie sa facem clic pe butonul Next din partea dreapta jos. Va apare o fereastra in care se verifica faptul daca sintem conectati la internet. Facem clic pe butonul Skip din partea dreapta jos. Va apare o fereastra in care sintem intrebati daca dorim sa activam Win XP in acest moment. Facem clic pe cerculetul de linga textul "No, remind me every few days" (Nu, adu-mi aminte peste citeva zile). Facem clic pe butonul Next. Va apare o fereastra cu mai multe cimpuri in care trebuie sa specificam unul sau mai multe nume de utilizatori in functie de persoanele care folosesc calculatorul. Fiecare utilizator va putea sa configureze Win XP dupa preferintele personale. Dupa ce completam cimpul (cimpurile) respectiv facem clic pe butonul Next. Va apare o fereastra cu titlul "Thank You" in care facem clic pe butonul "Finish" din partea dreapta jos. In final va apare suprafata de lucru ("desktop") a Win XP. Instalarea Win XP este practic terminata in acest moment. La fiecare pornire a calculatorului vom putea sa alegem care sistem de operare sa fie incarcat, WIN XP sau WIN ME. Pentru a beneficia de avantajele oferite de sistemul de operare Windows XP trebuie sa instalam de asemenea ultimele versiuni ale programelor Internet Explorer, Media Player si Direct X. Media Player are o versiune speciala pentru Win XP. INSTALAREA DRAIVERELOR Draiverele ("drivers") sint programe speciale care optimizeaza functionarea componentelor hardware ale calculatorului. Ele sint concepute de producatorii componentelor si unele din ele sint actualizate periodic. Sistemele de operare Windows contin o mare parte din draiverele necesare pentru functionarea pieselor calculatorului, insa aceste draivere sint de multe ori generice adica sint concepute special pentru a permite functionarea pieselor indiferent de producatorul lor. Acest lucru se reflecta in performanta pieselor care este medie. Din aceasta cauza este de preferat ca pentru fiecare piesa sa instalam draiverul conceput de producatorul piesei respective pentru ca in acest fel piesa functioneaza optim. De asemenea este bine sa citim micul pliant sau manual care este livrat impreuna cu orice piesa pentru calculator. In acesta este explicata nu numai instalarea piesei ci si instalarea draiverului. Draiverele au versiuni diferite pentru diversele SO de aceea ele trebuie instalate separat pentru fiecare sistem de operare. In cazul de fata trebuie sa instalam draiverele o data sub Win ME si ulterior sub Win XP.Draiverele sint prezente intotdeauna pe CD-urile care insotesc piesele de calculator dar este posibil sa nu fie vorba de ultima versiune. Este deci recomandat sa mergem pe situl producatorului si sa descarcam ultima versiune a draiverului atit pentru WIN ME cit si pentru Win XP. Daca nu avem conexiune la internet putem folosi versiunea mai veche, de obicei diferenta de performanta a piesei nu este prea mare. Pentru a instala un draiver trebuie de obicei sa facem dublu clic pe fisierul ce contine draiverul. Vor apare pe rind mai multe ferestre unde trebuie sa apasam pe butonul "Next". Dupa ce este terminata instalarea, calculatorul trebuie de obicei repornit.

2

INSTALAREA DRAIVERELOR PLCII DE BAZ In cazul in care avem o PB cu cipset VIA trebuie sa instalam pachetul de draivere numit VIA Hyperion (fost "VIA 4 in 1"). Acesta este prezent pe CD-ul placii de baza dar este posibil sa nu fie vorba de ultima versiune. El este de multe ori prezent si pe CD-urile revistelor care se ocupa cu domeniul IT. Cel mai bine este sa mergem pe situl VIA la sectiunea speciala care contine ultimele draivere pentru piesele produse de aceasta companie si sa verificam care este cea mai noua versiune a fisierului VIA Hyperion. Nu exista versiuni diferite pentru WinXP si Win ME. Varianta SO va fi recunoscuta automat la instalare si vor fi alese automat draiverele potrivite. Facem dublu clic pe fisierul care contine draiverul (de ex. VIAHyperion4in1448.exe) pe care dorim sa-l instalam, urmam instructiunile si facem clic pe butoanele corespunzatoare (de ex. spunem ca sintem de acord cu termenii contractuali). Dupa ce este terminata instalarea calculatorul trebuie repornit. INSTALAREA DRAIVERULUI PLCII DE SUNET Draiverul placii de sunet integrate se afla de obicei pe CD-ul care vine impreuna cu placa de baza. Si in acest caz este recomandat sa mergem pe situl producatorului si sa descarcam ultima versiune a draiverului. In cazul codecului AC 97, folosit pe scara larga in multe PB, producatorul se numeste Realtek . Dupa ce este terminata instalarea calculatorul trebuie repornit. Nu exista versiuni diferite pentru WinXP si Win ME.

INSTALAREA DRAIVERULUI PLCII VIDEO Producatorii de placi video actualizeaza destul de frecvent draiverele pentru placile video, de multe ori pentru a le face sa functioneze optim cu ultimele jocuri aparute. In cazul PV avem de ales intre draiverul generic conceput de producatorul cipsetului PV si draiverul conceput de producatorul PV (pe baza draiverului generic pentru cipset). Le putem instala pe rind si apoi sa ne decidem care este mai bun. Compania NVIDIA are un draiver generic numit "Detonator" care poate fi folosit indiferent de generatia din care face parte placa video GeForce pe care o avem. Facem dublu clic pe fisierul care contine draiverul (de ex. 43.45_win9x_english.exe) pe care dorim sa-l instalam, urmam instructiunile si facem clic pe butoanele corespunzatoare (de ex. spunem ca sintem de acord cu termenii contractuali). Dupa ce este terminata instalarea calculatorul trebuie repornit. Exista versiuni diferite ale draiverului pentru Win XP si Win ME. INSTALAREA DRAIVERULUI MONITORULUI Acest draiver este esential pentru functionarea corecta a monitorului. Este posibil ca in acest caz instalarea draiverului sa nu fie atit de usoara ca in celelalte cazuri. De obicei pe CD se afla si un fisier text in care este explicata procedura de instalare a draiverului. Draiverul monitorului trebuie instalat dupa draiverul placii video. Exista versiuni diferite ale draiverului pentru Win XP si Win ME. Sa luam ca exemplu monitorul Philips 107E sub sistemul de operare Win ME. In acest caz avem un CD care contine draivere pentru multe tipuri de monitoare produse de compania Philips atit pentru Win ME cit si pentru Win XP. Introducem CD-ul in unitatea CD-ROM. Apoi facem clic dreapta pe suprafata de lucru ("desktop") si in meniul care apare facem clic pe optiunea 3

"Properties". Apare o multifereastra in care trebuie sa facem clic pe titlul ferestrei "Settings" pentru a o aduce in prim plan. Facem clic pe butonul "Advanced". Apare o noua multifereastra in care trebuie sa facem clic pe titlul ferestrei "Monitor" pentru a o aduce in prim plan. Facem clic pe butonul "Change". In fereastra care apare selectam optiunea "Specify the location of the driver" si apoi facem clic pe butonul "Next". Apare o noua fereastra in care selectam optiunea "Display all the drivers in a specific location..." si facem clic pe butonul "Next". In fereastra urmatoare facem clic pe butonul "Have Disk".Va apare o minifereastra numita "Install from disk". Facem clic pe butonul "Browse" si in fereastra numita "Open" selectam litera CD-ului si apoi facem clic pe butonul OK. Apasam din nou pe butonul OK de aceasta data in minifereastra "Install from disk". Ne reintoarcem la fereastra numita "Update device driver wizard" in care facem clic pe butonul "Next" iar draiverul va fi instalat. INSTALAREA DRAIVERULUI MODEMULUI Cele mai ieftine softmodemuri sint produse de companii a caror activitate principala este producerea de placi de baza. Pe CD-ul modemului se afla draivere pentru modemuri cu o varietate de cipseturi. Citim pliantul care vine impreuna cu modemul si vedem ce cipset contine modemul cumparat de noi iar apoi cautam pe CD fisierul care contine draiverul corespunzator si facem dublu clic pe el.

4

II. Utilizarea Sistemului de Operare Windows XPFunctiile din Control Panel1. Scopul lucrarii Studiul metodelor destinate configurarii sistemului de operareWindows XP, adaugarii, modificarii caracteristicilor, eliminarii dispozitivelor si programelor n/din sistemul de operare. 2. Prezentare generala Control Panel Configurarea componentelor hardware si a componentelor software apartinnd sistemului de operare Windows XP se realizeaza utiliznd programele grupate n fereastra Control Panel.

2.1. Accesibility Options Optiune de accesibilitate, configureazatastatura, mouse-ul, ecranul, sunetele si alte echipamente pentru a usura utilizarea acestora cnd ele sunt folosite de persoane cu deficiente vizuale,de auz sau motorii. 2.2. Add Hardware Adaugare Hardware. Prin intermediul acesteioptiuni se instaleaza un software corespunzator noului echipament hardware adaugat la PC si ofera mijloace de depanare n cazul aparitiei unor defectiuni. 5

La instalarea sistemului de operare, dispozitivele de tipul Plug-and-Play sunt recunoscute si introduse automat n sistem. Pentru cele care nu sunt de tipul Plug-and-Play se solicita specificarea locatiei drivere-lor corespunzotoare componentelor noi. Urmeaza instalarea automata a softului care face ca dispozitivele hardware sa devina functionale. Corespunzator exista si un vrajitor Add Hardware. 2.3. Add or Remove Programs - Permite adaugarea sau eliminarea programelor aplicative instalate sau ndeparteaza unele componente ale sistemului de operare. Este posibila si actualizarea prin Internet a componentelor sistemului de operare Windows XP. Pentru aceasta, n fereastra deschisa Add or Remove Programs se actioneaza butonul Windows Update, care lanseaza n executie browser-ul Internet Explorer care ncarca pagina Web de actualizare a sistemului de operare de la adresa: http://windowsupdate.microsoft.com 2.4. Administrative Tools Colectie de instrumente pentru administrarea sistemului Windows XP: - Component Services - Computer Management - Data Sources (ODBC) - Event Viewer - Internet Information Services - Local Security Policy - Performance - Server Extensions - Services 2.5. Date and Time Configureaza data si ora calculatorului. Ofera si posibilitatea sincronizarii orei sistemului cu ora livrata de un server de ora din Internet. 2.6. Display Program pentru configurarea proprietatilor ecranului monitorului. Permite schimbarea imaginii de fundal, schimbarea schemei de culori si a caracteristicilor ferestrelor. Permite modificarea rezolutiei si a ratei de mprospatare a ecranului. Optiunea Screen Saver permite protejarea ecranului prin stingerea sa si afisarea unor forme n miscare.Este posibila introducerea unei parole la revenirea utilizatorului. 2.7. Folder Options Permite selectarea optiunilor de vizualizare a dosarelor si asocierile de fisiere. 2.8. Fonts Optiunea permite vizualizarea, adaugarea si eliminarea fonturilor. Fonturile sunt corpurile de litere utilizate de sistemul de operarepentru afisare pe ecran si tiparire la imprimanta. 2.9. Game Controller Program care permite adaugarea configurarea si eliminarea echipamentelor hardware utilizate la jocuri, de exemplu joystick-ul. 2.10. Internet Options Prin intermediul acestui program se pot configura optiunile de navigare ale browser-ului Internet Explorer.

2.11. Keyboard Program prin care se stabilesc parametrii utilizati de tastatura, ca de exemplu: viteza de repetare a tastelor si clipirea cursorului pe ecran. 2.12. Mail Program prin care se configureaza optiunile utilitarului de posta Microsoft Outlook.. 2.13. Mouse Permite modificarea parametrilor mouse-ului: viteza de deplasare a cursorului pe ecran, formele cursorului, utilizarea butoanelor,etc. 2.14. Network Connections Realizeaza conectarea la alte calculatoare sau Internet. 2.15. Phone and Modem Option Program de configurare a modem-ului si telefonului legat la calculator. 2.16. Power Options Permite alegerea unor optiuni de configurare referitoare la utilizarea energiei electrice de catre calculator n vederea economisirii, de exemplu oprirea alimentarii monitorului sau discurilor hard dupa o perioada de inactivitate. 2.17. Printers and Faxes Afiseaza imprimantele si dispozitivele de tip fax instalate n sistem si ajuta la gestionarea lor. De asemnea, ofera ajutor n gestionarea cozilor de tiparire la imprimante sau la transmiterea prin fax. 6

2.18. Regional and Language Options Ofera selectarea unor optiuni regionale si de limba: simbolurile valutare, formatul timpului si datei calendaristice sau selectarea caracteristicilor tastaturii n functie de limba utilizata. 2.19. Scanners and Cameras Permite instalarea si eliminarea scannere-lor si a videocamerelor. 2.20. Scheduled Tasks Planificarea Lucrarilor. Permite lansarea automata, planificata, a unor programe utilitare sau aplicative. 2.21. Sounds and Audio Devices Programul permite configurarea echipamentelor de sunet/audio si asocierea unor sunete la evenimente ale functionarii sitemului de operare. 2.22. Speech Program care poate configura conversia textului n vorbire sau gestioneaza caracteristicile programelor de recunoastere a vorbirii. Se permite, de asemenea, configurarea microfonului utilizat. 2.23. System Program de configurare a sistemului referitor la: - gestionarea echipamentelor hardware - depanarea erorilor hardware - gestionarea drivere-lor aferente echipamentelor hardware - modificarea parametrilor de performanta ale PC - afiseaza informatiile de baza referitoare la sistemul de operare si la hardware. 2.24. Taskbar and Start Menu Permite configurarea barei de lucrari si ale meniului Start. 2.25. User Acounts Permite modificarea conturilor si parolelor utilizatorilor sistemului. 2.26. Windows Firewall - Permite modificarea programului de protectie mpotriva utilizatorilor si interventiilor nedorite din reteaua Internet. 2.27. Wireless Network Setup Wizard Permite configurarea dispozitivelor wireless (fara fir radio sau cu infrarosu) conectate la calculator.

3. Desfasurarea lucrarii.3.1. Adaugarea de noi componente hardware n timpul utilizarii si functionarii unui calculator apare de multe orinecesitatea de a adauga noi componente hardware, dar acestea functioneazacorespunzator doar daca sunt de tipul Plugand-Play, altfel este necesar sa se instaleze un software adecvat. Pentru instalarea echipamentelor noi care nu sunt de tipul Plug-and-Play se parcurg urmatorii pasi: a) Se activeaza optiunea Add Hardware. n fereastra de dialog carese deschide se cere utilizatorului sa opteze ntre citirea discului de instalareal echipamentului, daca exista, sau utilizarea procedurii de sistem. b) Dupa verificare, sistemul ntreaba daca noul echipament este deja conectat la sistem. Se poate raspunde No, caz n care se cere conectarea noului echipament, altfel daca echipamentul este deja instalat se raspunde Yes si se continua secventa. c) Apare o noua fereastra de dialog continnd o lista de echipamentedeja instalate, cunoscute de sistem. Din aceasta lista se selecteaza echipamentul instalat, dupa care se poate da comanda Next pentru testarea proprietatilor echipamentului respectiv sau pentru depanarea lui. Altfel, pentru a adauga un echipament hardware, absent n lista, se selecteaza Add a New Device. d) n functie de obtiunea selectata la pasul c), se va afisa un raport de stare corespunzator echipamentului, daca acesta exista, sau sistemul va continua sa caute un nou dispozitiv hardware. De obicei, se selecteaza optiunea de instalare a echipamentului gasit n lista. e) n fereastra de dialog va aparea o lista cu tipuri generale de hardware. Daca acesta nu corespunde cu echipamentul avut n vedere se va selecta din lista optiunea Show All Devices Afisarea tuturor echipamentelor. 7

f) Va aparea o noua fereastra de dialog continnd doua liste: - lista firmelor producatoare; - lista modelelor apartinnd fiecarui producator. Daca firma si modelul dorit sunt prezente n lista se selecteaza si se finalizeaza instalarea noului echipament. Exista si posibilitatea instalarii software-ului noului echipament alegnd optiunea Have Disk. Dupa introducerea discului de instalare (discheta sau CD) si stabilirea caii spre noul software se continua cu raspunsurile cerute privind valorile de configurare. La ora aplicativa se va testa procedura de mai sus la instalarea unor dispozitive noi, de exemplu, camera video, scanner, mouse, imprimanta, etc. 3.2. Adaugarea sau eliminarea programelor aplicative n timpul exploatarii calculatorului sub sistemul de operare Windows XP, apare de multe ori necesitatea de a adauga noi programe sau de a elimina unele programe care nu mai sunt utile. Aceste doua operatii se pot realiza prin intermediul optiunii Add or Remove Program sunt disponibile trei variante de actionare: Modificarea sau eliminarea programelor (Change or Remove Programs), Adaugare programe noi (Add New Programs) si Adaugarea/Eliminare componente ale sistemului de operare Windows XP (Add/Remove Windows Components). Operatiile posibile n cazul fiecarei variante depind de programul asupra caruia se exercita actiunea. Unele programe permit doar dezinstalarea, n timp ce altele permit si modificarea instalarii. n cazul instalarii de noi programe, de regula, se solicita suportul(discheta sau CD-ul) de pe care se activeaza programul de instalare care poate fi Setup.exe sau Install.exe. Dupa lansarea n executie a rutinei de instalare se continua cu raspunsuri la instructiunile solicitate de fiecare program. Componentele sistemului de operare Windows XP se pot actualiza si din Internet, activnd butonul de comanda Windows Update. La ora aplicativa se vor testa activitatile de instalare si dezinstalare programe alegnd pentru experimentare diverse programe demonstrative, de exemplu, cele gasite pe CD-ul sau DVD-ul revistei CHIP. 3.4. Configurarea optiunilor de limba Prin actionarea comenzii Regional and Language Options se afiseaza o fereastra de dialog cu trei pagini: Regional Options, Languages si Advanced. Optiunile de configurare a limbii se afla n pagina Regional Options. Pentru alegerea limbii romne se alege din lista derulanta Romanian si se aplica. Pe bara de Start se va semnaliza existenta optiunilor printr-o lista-buton care permite selectia ntre limbile utilizate (de exemplu, engleza si romna). 3.5. Cea mai simpla metoda de modificare a interfetei grafice este utilizarea ferestrei de dialog Display Properties, care poate fi lansata din Control Panel. Fereastra de dialog poate contine cinci pagini de optiuni referitoare la: - Teme (Themes). Prin tema se ntelege o imagine de fundal nsotita eventual de sunete, simboluri grafice, corpuri de litera, etc utilizate pentru personificarea calculatorului prin intermediul unui singur clic de mouse. Temele predefinite sunt: Windows XP si Windows Clasic. Se va testa posibilitatea utilizarii altor teme, cautate pe Internet. - Desktop-ul permite selectarea imaginii de fundal (background). Se poate dispune imaginea de fundal prin intermediul optiunilor din Position: CENTER, TILE, STRETCH. - Protejarea ecranului (Screen Saver) este o optiune care permite precizarea unui program ncorporat windows-ului de protectie a ecranului. Rolul protejarii prin Screen Saver este mpiedicarea uzurii suprafetei ecranului, daca timp ndelungat nu se nregistreaza nici o actiune cu mouseul sau de la tastatura.

8

- Aspectul (Appearance) este optiunea care permite modificarea culorilor atasate componentelor de ecran. n plus mai exista o comanda auxiliara Effects prin care se pot configura: animatia meniurilor, netezimea fonturilor, dimensiunea simbolurilor grafice, afisarea de umbre sub meniuri, etc. - Configurarea modului video (Settings) permite selectarea rezolutiei ecranului si calitatea culorilor. Prin optiunea Screen Resolution se pot selecta diferite rezolutii ale ecranului (nr. de pixeli afisati pe ecran) 800600, 1024768, 1152864, 12801024. Lista Colors permite selectia numarului de culori afisate de monitor: 256 culori, 216 culori, 232 culori. Se vor testa diferite combinatii rezolutie/nr. de culori pe calculatorul de lucru.

9

III.Introducere n sistemul de operare Linux

Linux este un sistem de operare cu divizare a timpului (time-sharing operating system) care prezint urmtoarele atribute de baza: - are un sistem ierarhizat de fiiere; - asigur compatibilitatea ntre fiiere, dispozitive I/O i mecanismele de comunicaie ntre procese; - ofer posibilitatea de a iniia procese asincrone, multitasking; - permite selectarea de ctre utilizator a interpretorului de comenzi; - prezint un grad nalt de portabilitate, fiind scris n proporie de 90% in C. Componentele sistemului de operare Linux sunt: - nucleul LINUX (eng. kernel); - interpretorul de comenzi (eng. shell); - utilitarele (compilatoare, editoare de legturi, editoare de text, analizoare lexicale, utilitare Web, etc.) i programele utilizator. Nucleul are rolul de a gestiona resursele fizice (procesor, memorie, dispozitive periferice) i logice (procese, fiiere, etc). Interfaa dintre nucleu i aplicaiile utilizator este asigurat de proceduri i funcii puse la dispoziie direct de nucleu sau de o serie de biblioteci. Interfaa ntre utilizator i sistemul de operare este format din comenzi, care sunt de fapt programe ce se lanseaz n execuie cu ajutorul interpretorului de comenzi. n momentul intrrii unui utilizator ntr-un sistem Linux, sistemul stabilete, pe baza unor informaii nregistrate despre utilizator, interpretorul de comenzi ce va fi folosit i lanseaz n execuie acel interpretor. Exist mai multe variante de interpretoare de comenzi (csh C-shell; ksh Korn shell; bash Bourne again shell, etc.), deosebirile dintre acestea fiind legate de facilitile de programare pe care le ofer utilizatorului, de o serie de elemente interactive i de modul de prezentare a rezultatelor unei comenzi. Modul de funcionare a unui interpretor de comenzi este ilustrat n fig. 1.1. Utilizatorul introduce o comand (de obicei cu ajutorul unei tastaturi) terminat cu CR (Enter). Comanda este analizat i dac nu este detectat nici o eroare, programul corespunztor este citit de pe disc, ncrcat n memorie i executat. Dac se detecteaz vreo eroare n sintax, se afieaz un mesaj corespunztor. Dup terminarea programului, interpretorul preia controlul i ateapt urmtoarea comand. Sintaxa general a unei comenzi Linux este comanda optiuni parametri unde: comanda desemneaz programul care execut serviciul solicitat; optiuni particularizeaz modul de execuie a comenzii; parametri precizeaz obiectele asupra crora se execut comanda. n continuare vor fi prezentate, pe scurt, cteva comenzi Linux uzuale. Pentru mai multe detalii despre aceste comenzi se recomand vizualizarea paginilor de help cu ajutorul comenzii man nume_comanda. Comenzi pentru operaii asupra fiierelor i directoarelor Sistemul de operare Linux recunoate 4 tipuri de fiiere: - fiiere obinuite - iruri de octei fr o structur logic special; - fiiere speciale - sunt asociate dispozitivelor periferice. Astfel, se permite accesarea uniform (folosind aceeai sintax) att a fiierelor ct i a dispozitivelor periferice, prin intermediul driverelor de dispozitiv; - fiiere director (cataloage) - utilizate pentru structurarea sistemului de fiiere; - fiiere FIFO - sunt fiiere speciale utilizate pentru realizarea comunicrii ntre procese Linux; - socket-uri - sunt fiiere speciale utilizate pentru realizarea comunicrii ntre procese Linux. 10

Editorul de text vim (Vi IMproved) Lansarea n execuie a editorului vim se face cu ajutorul comenzii $ vim care va deschide o fereastr n care utilizatorul poate introduce text. Caracterul ~ indic faptul c linia pe care este plasat nu conine text. Dac se dorete ca, dup lansarea n execuie, vim s ncarce un fiier, se va utiliza comanda $ vim nume_fisier Dac fiierul cu numele specificat nu exist se va crea un fiier vid cu acel nume. Un alt mod util de lansare a editorului este vim +n nume_fisier care va deschide fiierul specificat i va poziiona cursorul pe linia n. Editorul vim are mai multe moduri de operare, printre care modul text, modul comand i modul vizual. n modul text, tastele apsate de utilizator sunt introduse ntr-un buffer (urmnd a fi salvate ulterior n fiierul deschis) i afiate pe monitor. n modul comand, orice secven de taste este interpretat drept comand vim. Modul vizual este util pentru copierea unor blocuri de text. Trecerea din modul text n cel comand se face cu tasta i. Trecerea din modul comand n cel vizual se face cu tasta v. Revenirea n modul text se face cu tasta Esc. Comenzile vim pot fi executate doar n modul comand sau vizual. Comenzile precedate de : apar n linia de stare a editorului (ultima linie) i trebuie terminate cu CR pentru a se executa. Dezvoltarea aplicaiilor C sub Linux Sistemul de operare Linux dispune de utilitare performante destinate dezvoltrii de aplicaii C. Dintre acestea un rol aparte il au: compilatorul de C, gcc; editorul de legturi, ld; depanatorul, gdb; bibliotecarul, ar; utilitarul pentru construirea fiierelor proiect, make. Limbajul C ofer suportul cel mai adecvat dezvoltrii aplicaiilor sub Linux, datorit modului convenabil n care se face accesul la serviciile sistemului de operare. Aceste funcii permit o multitudine de operaii referitoare la lucrul cu fiiere, alocare a memoriei, controlul proceselor, etc. Fiind scrise in C, funciile sistemului de operare au un mecanism de apelare comod, similar oricrei rutine scrisa de utilizator. Caracteristicile principale ale limbajului ca si majoritatea funciilor disponibile n implementrile de sub MS-DOS sunt valabile si sub Linux. n plus, sunt disponibile si alte faciliti care vor fi detaliate ulterior. Dezvoltarea unei aplicaii C presupune editarea textului sursa cu ajutorul unui editor (vim sau editorul intern al programului mc). Fiierul creat trebuie s aib extensia .c, extensie care prin convenie este atribuit surselor scrise in limbaj C. Exemplul de mai jos prezint textul surs pentru un program care copie un ir surs ntr-un ir destinaie. #include int main(void) { char sursa[] = "abcdefg"; char dest[10]; int i = 0; while (sursa[i] != '\0') dest[i] = sursa[i++]; dest[i] = '\0'; printf("Sirul destinatie este: %s", dest);

11

exit(0); } Program C (exemplu.c) ce copie un ir surs n irul destinaie Pentru compilarea fiierului sursa exemplu.c se poate utiliza comanda: $ gcc exemplu.c -o exemplu Obs.: 1. Aceast form invoc compilatorul specificnd prin opiunea -o exemplu numele fiierului executabil care va fi creat. n lipsa opiunii de mai sus, fiierul executabil creat va fi denumit a. 2. Faza de link-editare este realizat n mod automat. Pentru a obine numai forma obiect se folosete opiunea -c. 3. Fiierele antet standard folosite n compilare, precum i bibliotecile utilizate pentru link-editare sunt amplasate n directoare standard, /usr/include i /usr/lib. n cazul existenei unor erori de compilare sunt semnalate linia i tipul erorii ntlnite. Depistarea efectiv a erorii revine programatorului. Controlul i gestiunea proceselor n Linux Sistemul de operare Linux pune la dispoziie apeluri sistem pentru controlul i gestiunea proceselor, cum ar fi apeluri pentru crearea i terminarea unui proces, nlocuirea programului executat de un proces sau punerea n ateptare a unui proces pn la terminarea altui proces. Lansarea i terminarea execuiei unui program C sub Linux Termenul de program specific, de cele mai multe ori, un fiier executabil aflat pe un suport de memorare extern - hard disk. O instan a unui program aflat n lucru poart numele de proces. Acesta conine imaginea fiierului executabil (segmentele de cod, date i stiv) precum i resursele utilizate n momentul execuiei (regitri, fiiere deschise, etc.). Un program este executat de nucleul sistemului de operare (eng. kernel) prin intermediul funciei exec. Lansarea n execuie a unui program C presupune (i) cutarea unui fiier ce conine cod executabil, (ii) ncrcarea n memorie a coninutului su i (iii) predarea controlului ctre acest program. Compilatorul C i editorul de legturi (eng. link-editor) adaug programului o funcie special, denumit rutin de start C, care va primi controlul n momentul lansrii programului n execuie i va apela apoi funcia main. Rutina de start mai are rolul de a prelua de la nucleul sistemului de operare argumentele programului din linia de comand i variabilele de mediu. Apeluri sistem pentru crearea proceselor (fork i vfork) Fiecare proces Linux primete, n momentul crerii, un identificator unic numit PID (Process ID). Acest identificator este un numr ntreg, a crui unicitate este garantat de sistemul de operare. Un proces poate afla propriul PID cu ajutorul funciei C getpid. #include #include pid_t getpid(void) Crearea unui proces se face cu ajutorul funciilor fork i vfork:

12

#include #include pid_t fork(void) pid_t vfork(void) Apariia unei erori la execuia apelului fork este semnalizat prin returnarea valorii -1. n cazul unei execuii reuite, la ieirea din apelul fork exist un nou proces. Procesul care a apelat fork se numete proces printe, iar procesul creat se numete proces fiu. Funcia fork returneaz PID-ul procesului fiu n procesul printe i 0 n procesul fiu. Toate resursele deinute de procesul printe sunt duplicate n procesul fiu (segmentele de cod, date i stiv, fiierele deschise, variabilele de mediu, etc.), cu excepia lactelor pe fiiere puse de printe, alarmelor n ateptare pentru printe i semnalelor n ateptare pentru printe. Altfel spus, imediat dup fork cele dou procese vor avea segmente de cod, date i stiv identice, aceleai fiiere deschise, etc. Obs. Atunci cnd se creeaz un proces cu funcia fork, nu trebuie fcut nici o presupunere legat de ordinea de execuie a celor dou procese nrudite. Aceast ordine este dependent de algoritmul de planificare a proceselor. Dac se dorete impunerea unei anumite ordini trebuie s se recurg la mecanisme de sincronizare ntre cele dou procese. 1. #include 2. #include 3. 4. int global = 50; 5. 6. int main(void) { 7. pid_t pid; 8. int local = 30; 9. 10. if ((pid = fork()) < 0) { 11. printf("Eroare fork.\n"); 12. exit(1); 13. } 14. else if (pid == 0) { 15. global++; 16. local++; 17. } 18. else 19. sleep(2); 20. 21. printf("PID=%d, global=%d, local=%d\n", getpid(), global, local); 22. exit(0); 23. } n linia 10 se apeleaz funcia fork. Restul programului va fi executat de ambele procese astfel: procesul printe execut liniile de cod 14, 19 (deoarece valoarea returnat de fork n variabila pid este mai mare dect 0), 21 i 22, iar procesul fiu execut liniile 14-16 (deoarece pentru fiu pid = 0), 21 si 22. Scopul apelului sleep(2) din linia 19 este de a adormi procesul printe pentru 2 secunde, astfel nct

13

procesul fiu s se termine naintea sa. Execuia acestui program afieaz urmtoarele informaii: $ ./ex1_l2 PID=3272, global=50, local=30 PID=3340, global=51, local=31 Informaiile afiate confirm faptul c, iniial, procesul fiu deine o copie a segmentului de date iniializate n procesul printe, deoarece pentru ambele procese global = 50 i local = 30. Funcia fork poate eua din urmtoarele motive: a) dac n sistem sunt deja prea multe procese; b) dac se depete numrul maxim de procese acceptat pentru un anumit utilizator. Principalele aplicaii n care se solicit utilizarea funciei fork sunt: a) aplicaii server care primesc cereri de la clieni, creeaz cte un proces pentru o cerere i paseaz cererea noului proces, urmnd ca acesta s o soluioneze; b) aplicaii care trebuie s lanseze n execuie un alt program, simultan cu continuarea propriei execuii; un exemplu de o astfel de aplicaie este interpretorul de comenzi. Funcia vfork a fost introdus pentru a optimiza procedura de creare a unui proces fiu. Dac procesul fiu urmeaz s lanseze n execuie un program, toate resursele duplicate la creare se pierd. Rezult c, ntr-o astfel de situaie, s-a pierdut inutil timp cu copierea tuturor resurselor procesului printe. Funcia vfork elimin aceast potenial risip de resurse prin crearea unui proces fiu ce partajeaz acelai spaiu de adresare cu procesul printe. Procesul printe este pus n ateptare pn cnd fiul va executa un program sau va apela funcia exit. Pentru a exemplifica modul de utilizare a funciei vfork se va rescrie programul din tab. 2.1, utiliznd funcia vfork n loc de fork. Programul rezultat este prezentat n tab. 2.2. 1. #include 2. #include 3. 4. int global = 50; 5. 6. int main(void) { 7. pid_t pid; 8. int local = 30; 9. 10. if ((pid = vfork()) < 0) { 11. printf("Eroare fork.\n"); 12. exit(1); 13. } 14. else if (pid == 0) { 15. global++; 16. local++; 17. } 18. 19. printf("PID=%d, global=%d, local=%d\n", getpid(), global, local);

14

20. exit(0); 21. } Ateptarea terminrii unui proces (wait, waitpid) Atunci cnd un proces i termin execuia (printr-un apel exit, _exit sau abort), procesul printe este informat asupra acestui fapt i poate prelua starea de terminare a procesului fiu (cu scopul de a determina condiiile n care s-a terminat acesta) cu ajutorul unui apel de tip wait. Pn la momentul execuiei unui apel wait nucleul pstreaz un minimum de informaii despre procesul terminat (PID-ul, starea de terminare, etc.). Starea unui proces din momentul terminrii i pn la execuia unui apel wait de ctre printe se numete stare zombie. Situaia prezentat anterior este o situaie normal, n care un proces fiu se termin naintea procesului printe. Dac procesul printe se termin naintea fiului (de exemplu, utilizatorul lanseaz un proces n fundal i apoi prsete sistemul prin logout), nucleul va modifica informaiile tuturor proceselor fii astfel nct, dup modificare, toate aceste procese vor avea ca printe procesul init (proces lansat n execuie la iniializarea sistemului). Procesul init va avea grij s execute apeluri wait, eliminnd astfel posibilitatea ca memoria s rmn ocupat cu informaiile despre procesele orfane terminate. Exist dou apeluri de tip wait, cu prototipurile #include #include pid_t wait(int *status); pid_t waitpid(pid_t pid, int *status, int options); Diferenele semantice dintre cele dou funcii sunt urmtoarele: a) wait ateapt terminarea oricrui proces fiu al procesului apelant, n timp ce waitpid permite precizarea unor condiii legate de identitatea procesului a crui terminare este ateptat. b) wait conduce la blocarea procesului apelant pn la terminarea unui fiu, pe cnd waitpid are o opiune ce previne blocarea procesului apelant. Dac status este diferit de NULL, cele dou funcii stocheaz starea de terminare a procesului fiu n locaia spre care pointeaz status. Prelucrarea strii de terminare se poate face cu ajutorul unor macrouri definite n sys/wait.h, care permit determinarea codului de exit al procesului fiu (in cazul unei terminri normale), a semnalului care a determinat terminarea anormal a procesului fiu, etc. macroul WIFEXITED(*status) returneaz valoarea TRUE dac procesul fiu s-a terminat normal. n acest caz se poate determina codul de exit al fiului cu ajutorul macroului WEXITSTATUS(*status). macroul WIFSIGNALED(*status) returneaz valoarea TRUE dac procesul fiu s-a terminat anormal. n acest caz, prin WTERMSIG(*status) se poate determina numrul semnalului care a cauzat terminarea fiului. macroul WIFSTOPPED(*status) returneaz valoarea TRUE dac procesul fiu este momentan oprit. Prin WSTOPSIG(*status) se obine numrul semnalului care a determinat oprirea procesului fiu. Identitatea procesului a crui terminare este ateptat poate fi condiionat cu ajutorul argumentului pid al funciei waitpid: dac pid = -1, se obine aceeai comportare ca cea a funciei wait. 15

dac pid > 0, se ateapt terminarea procesului fiu cu PID-ul pid. dac pid = 0, se ateapt terminarea oricrui proces fiu din grupul procesului apelant. dac pid < -1, se ateapt terminarea oricrui proces fiu din grupul avnd id-ul egal cu valoarea absolut a lui pid. Comportamentul funciei waitpid poate fi controlat cu ajutorul argumentului options astfel: dac options = WNOHANG, procesul apelant nu este blocat. dac options = WUNTRACED, waitpid returneaz starea procesului indicat de pid care a fost oprit i a crui stare nu a fost raportat. Cele dou funcii returneaz PID-ul unui proces n cazul execuiei reuite i -1 n cazul execuiei euate. Dac options = WNOHANG, waitpid returneaz valoarea 0. Fiierele Generaliti Ca i n alte sisteme de operare, n Linux informaiile (date sau programe) sunt memorate n fiiere (files). n Linux, numele de fiiere pot avea lungimea de maxim 255 de caractere, literele mici diferind de cele mari (casesensitive). n componena unui nume de fiier pot intra orice caractere, exceptnd "/", care reprezint delimitatorul de nume de director. Linux, ca dealtfel orice sistem UNIX, nu utilizeaz ideea de extensie (cele trei caractere prefixate de punct care ncheie numele unui fiier, sub sistemele DOS/Windows) pentru a determina tipul unui fiier. Totui, anumite aplicaii pot necesita utilizarea unor extensii specifice (e.g. compilatorul de C sau serverul/navigatoarele Web). Fiierele pot fi de mai multe tipuri: obinuite sau ordinare, coninnd date, programe etc. Ele sunt de dou feluri: o fiiere text, structurate pe linii, fiecare dintre aceasta coninnd caractere ASCII afiabile, i terminnduse cu caracterul special Carriage Return (CR); o fiiere binare, folosite pentru stocarea de cod executabil, informaii multimedia, baze de date, date diverse etc. Intern, fiierele ordinare sunt identificate prin intermediul unui numr denumit inumber, un index dintrun ir de inoduri. Inodurile conin atribute asociate fiecrui fiier, dintre care enumerm pe cele mai importante: o tipul; o proprietarul (identificatorul utilizatorului care deine fiierul, UID, precum i identificatorul grupului care deine fiierul, GID); o permisiunile de acces, de trei tipuri: citire (Read), scriere (Write) i execuie (eXecute), grupate n trei categorii: pentru proprietar (user), pentru grupul care l deine (group) i ali utilizatori (others); o lungimea; o timpii ultimei operaiuni de accesare, modificare i schimbare a strii (modificarea inodului nsui); o numrul de legturi ctre fiierul respectiv. directoare, care permit structurarea ierarhic a fiierelor; 16

speciale, astfel: o dispozitive, fie ele fizice (discuri, imprimante, mouse, plci de reea etc.) sau virtuale (memoria intern, terminale etc.). Fiierele speciale de tip dispozitiv pot fi orientate caracter caz n care citirile i scrierile se realizeaz direct, cte un caracter, n mod uzual transfernduse cantiti mici de date, sau bloc pentru care citirile i scrierile se realizeaz prin intermediul unor zone de memorie tampon. Pentru exemplificare, terminalele sunt dispozitive de tip caracter (character devices), iar discurile dispozitive de tip bloc (block devices); o pipeuri, constituind mod de transfer de informaii ntre procese locale, practic cozi FIFO (First InFirst Out); o socketuri,utilizate pentru transferul de informaii ntre procese aflate la distan. legturi, "shortcuturi" ctre fiiere sau directoare, pentru o mai uoar regsire sau accesare. Ele sunt percepute de utilizatori ca fiiere avnd nume proprii, dar care se refer de fapt la alte fiiere aflate pe disc. Orice operaie care se execut asupra fiieruluilegtur (exceptnd tergerea) va avea practic efect asupra fiierului indicat de respectiva legtur. Legturile pot fi de dou tipuri: fizice (hard links) i simbolice (symbolic links). Directoarele sunt stocate ca fiiere obinuite, permind astfel aranjarea fiierelor n manier ierarhic. Astfel, un fiier va fi referit printro cale de directoare (path) care va avea n componen nume de directoare delimitate de "/" i la sfrit numele fiierului dorit. Fiecare utilizator are asociat, n cadrul interpretorului de comenzi, un aanumit director curent. Directorul curent are proprietatea c toate fiierele (i subdirectoarele) pe care le conine pot fi identificate prin numele lor, fr a mai fi necesar s se precizeze i calea. Pentru a evita conflictele, un sistem de fiiere nu posed dect un singur director curent la un moment dat. Utilizatorul poate schimba directorul curent n orice moment, dup dorin. Putem avea ci relative care ncep avnd ca punct de referin directorul curent sau ci absolute, acestea din urm fiind prefixate ntotdeauna de "/" i pornind de la directorul rd cin. Directorul rdcin (root) este stabilit atunci cnd se instaleaz sistemul de operare i va conine toate fiierele ce vor fi stocate, ntrun arbore consistent de directoare. Chiar dac vom putea accesa mai multe sisteme de fiiere, posibil aflate pe discuri ori calculatoare diferite, va exista un director rdcin unic, spre deosebire de alte sisteme de operare. n cadrul fiecrui director exist dou fiiere cu numele speciale "." i ".." care semnific directorul curent i directorul printe, respectiv. Aceste dou directoare cu nume special vor putea fi utilizate n specificarea cilor relative. De exemplu, ../tmp va desemna directorul tmp al directorului printe, iar ./doc/manual.pdf va conduce la fiierul manual.pdf aflat n subdirectorul doc al directorului curent. Utilizatorul poate crea legturi care reprezint "scurtturi" ("shortcuts") ctre un fiier sau un director, pentru a putea fi mai uor de regsit sau accesat; astfel, un fiier poate fi regsit n cadrul sistemului de fiiere prin mai multe nume, eventual n directoare diferite. 2.3.2. Comenzi pentru lucrul cu fiiere Principalele comenzi referitoare la directoare sunt: mkdir director creaz un director; rmdir director terge un director gol, n sensul c acesta nu conine dect intrrile . i ..;

17

cd [ director ] schimb directorul curent de lucru n cale; pwd afieaz numele directorului curent; Afiarea coninutului unui director se obine n urma apelrii comenzii ls. Aceasta ofer mai multe opiuni, dintre care le menionm pe cele mai importante: a listeaz i fiierele ascunse (cele ale cror nume ncepe cu caracterul "."); l afieaz formatul lung coninnd informaii suplimentare, cum ar fi cele referitoare la drepturile de acces, proprietar i grup, dimensiunea, data crerii etc.; h are urmtorul efect: dimensiunile fiierelor sunt transformate din octei n kilooctei (K) sau megaoctei (M) pentru a fi mai uor citite de utilizator; R va lista i subdirectoarele, n mod recursiv (aceast opiune va putea fi folosit i n cazul altor comenzi). O alt comand util este file, care determin tipul unui fier: Comanda du afieaz dimensiunile tuturor subdirectoarelor din directorul curent sau dintrun director precizat. Se pot utiliza urmtoarele opiuni: h: dimensiunile sunt scrise n kiloocteisau megaoctei pentru a fi ct mai uorcitite de utilizator. s: se va afia doar dimensiunea directorului curent. a: listeaz i dimensiunile fiierelor. Comanda df listeaz informaii privitoare la spaiul liber al partiiilor de disc. Aceast comand are aceleai opiuni ca i comanda du. Comenzile pentru realizarea operaiunilor de baz cu fiiere sunt: cp realizeaz copierea unui fiier sau grup de fiiere, sintaxa uzual a comenzii fiind: cp surs destinaie. mv mut/redenumete fiiere, avnd aceeai sintax ca i cp; ln, cu sintaxa ln surs destinaie realizeaz o legtur la fiierul surs, avnd numele destinaie. Legturile pot fi hard (se creeaz i o copie a coninutului fiierului; la tergerea copiei, fiierul original e pstrat) sau simbolic (care va conine doar calea ctre fiierul surs; tergerea copiei determin i tergerea originalului). rm terge fiiere, avnd sintaxa rm fiier(e). Pentru toate comenzile de mai sus, exist o serie de opiuni utile: f foreaz ndeplinirea aciunii, fr confirmare din partea utilizatorului sau ignornd erorile care pot surveni; i mod interactiv, interognd utilizatorul dac ntradevr dorete s realizeze ceea ce sa specificat (utilizaio mai ales la rm); v afieaz mai multe informaii la execuia comenzii respective; R mod recursiv, comanda executnduse asupra tuturor subdirectoarelor (foarte periculoas dac apare la rm, mai ales mpreun cu opiunea f).

18

Cutarea fiierelor este posibil cu ajutorul comenzii find. Asupra fiierelor gsite se pot efectua i diverse operaii (de exemplu, execuia unor comenzi). Cutarea se va realiza pornind de la un anumit director care va fi explorat conform criteriilor de cutare alese. Sintaxa general a comenzii find este: find [ cale ] [ expresie ] [ aciune ] Componenta cale reprezint calea de directoare de la care se va ncepe cutarea, expresie semnific o expresie definind criteriul de cutare, iar aciune specific aciunea care va fi efectuat la gsirea unui fiier. Cutarea se poate realiza dup: numele unui fiier se folosete opiunea name specificator, n care specificator reprezint un specificator de fiier (se pot utiliza, desigur, metacaracterele de substituie, precum "*" sau "?"); tipul unui fiier se folosete type tip, unde tip poate fi unul dintre caracterele: f (fiier obinuit), d (director), l (legtur simbolic) etc.; numele proprietarului se utilizeaz opiunea user nume, unde nume poate fi numele sau UIDul proprietarului fiierului; grupul proprietarului se folosete group nume, unde nume poate fi un nume de grup sau un GID. Ca aciune executat la gsirea unui fiier putem avea: afiarea numelui fiierului gsit se folosete opiunea print (implicit); execuia unei comenzi se utilizeaz opiunea exec. Sirul de caractere {} va substitui numele fiierului gsit i va putea fi dat ca argument al comenzii care va fi executat. Vom sfri lista argumentelor pasate comenzii cu caracterul punctvirgul. De exemplu, cutarea tuturor imaginilor GIF din contul utilizatorului curent se va putea face astfel: $ find ~ name '*.gif' print Identificarea fiierelor utilizatorului dragos din directorul /tmp se va putea realiza prin linia: $ find /tmp user dragos print Pentru a terge toate fiierele temporare (al cror nume este terminat cu .bak sau ~) vom putea da urmtoarea comand: find / name *.bak o name *~ exec rm "{}" ";" Sau utilizat ghilimelele pentru ca interpretorul de comenzi s nu interpreteze greit caracterele speciale "{}" sau ";". Opiunea osemnific operatorul logic sau (or). Pot fi precizai i operatorii i (and) prin a i negaie (not) prin caracterul "!".

19

IV.ELEMENTE DE BAZ ALE SCRIPTULUI PHP Scrierea programelor PHPProgramele PHP sunt o mixtura de trei elemente : text, cod HTML si script PHP. Pentru ca paginile ce contin script PHP sa poata fi procesate de modulul PHP implementat in Apache sau alt server de pagini Web este necesar ca paginile sa aiba acea extensie pe care ati specificat-o la incarcarea modulului in serverul de web (standard, extensia implicita este .php). Exemplu de program - deschidem un editor de text si scriem : Program 1
Salvam acest fisier in directorul radacina al paginilor de web, sub numele de program1.php, directorul radacina al paginilor web fiind pentru htdocs, creandu-se in cadrul acestuia un folder propriu in care se vor salva toate fisierele dvs. Pentru a deschide o pagina de tip PHP se va scrie in browser-ul de Internet adresa: http://localhost/urmat de numele directorului in care este salvat fisierul. Daca studiem codul vom vedea ca sunt trei categorii de cod : i) ii) iii) ,,
sunt elemente tag din sitaxa HTML ; Program 1 este text Codul cuprins intre este cod PHP. Delimitatorul uzual pentru PHP este . Exista varianta simpla . Intre aceste taguri trebuie sa existe NUMAI cod PHP.

Cum functioneaza codul? Fisierul program1.php este trimis modulului de php incarcat in serverul de web. Modulul prelucreaza NUMAI ce se afla intre tagurile restul fiind trimis catre serverul web fara a fi prelucrat sau interpretat. Rezultatul prelucrarii este si el trimis serverului de web care trimite mai departe catre client (browser). Comanda echo este folosita pentru trimiterea catre serverul de web a textului inscris intre cele doua ghilimele sau doua apostroafe. Fiecare linie de cod PHP (dupa terminare) trebuie inchisa de semnul punct-sivirgula (;).

20

LIMBAJUL PHPVariabila reprezinta un identificator la o locatie de memorie si se foloseste pentru stocarea, prelucrarea si stergerea datelor. Variabilele in PHP sunt apelate folosind prefixul $. $nume=Andrei; Dupa ce am initializat o variabila atribuindu-i o valoare putem folosi acea variabila. echo $nume; Limitari si reguli ale variabilelor In PHP, variabilele sa inceapa cu o litera sau cu un underscore (dupa prefixul $). O alta regula este ca in corpul numelui variabilei sunt acceptate litere, numere si underscore, simboluri precum +,-,* si & nefiind admise. Variabilele in PHP sunt case-sensitive, adica $student este diferit de $Student . Tipuri de date in PHP PHP cuprinde mai multe tipuri de variabile, dintre care cele mai importante sunt cele ce contin valori de tip text si numeric. - string (text) - integer (numeric) - double (numeric) Tipul de data string tot ce este cuprins intre ghilimele la initializare se considera string (chiar si numerele). Exemple: $nume=Ionescu; $nr=5; Concatenarea stringurilor se face prin operatorul . . Date de tip numeric In PHP exista 2 tipuri de date numerice : integer si double. Integer sunt numere fara virgula, in timp ce double reprezinta numere cu zecimale. Constante si conversii Constantele sunt scrise prin conventie cu MAJUSCULE.Constantele se pot afisa avand grija sa nu se foloseasca semnul $. Structuri repetitive (vectori) reprezinta un set de variabile cu acelasi nume, dar un index diferit. Fiecare membru al unui vector este numit element. Diferentierea dintre elemente se face cu ajutorul parantezelor patrate [] in mijlocul carora este un index, ce poate fi de tip numeric sau un string.

21

FUNCTII IN PHP Functiile sunt portiuni de cod definite pentru a executa anumite sarcini. Ele pot fi chemate de mai multe ori pe parcursul executiei unui program, primind argumente (valori de intrare) cu ajutorul carora executa cateva operatii dupa care returneaza o valoare. Functiile transfera orice valoare primita ca argument in variabile temporare numite parametrii ce pot fi folositi numai pe parcursul executiei functiei. Definirea unei functii se face astfel: function () {//cod //cod} Exemplu: function tva($lei) {$total=$lei*1.19; return $total;} Apelarea acestei functii de forma: echo tva(100000); va produce rezultatul 119000. Functia poate fi apelata si fara argumente : function tva() {echo Valoarea tva este de 19%;} Locul variabilelor in program Variabilele din interiorul functiilor nu se pot vedea in exteriorul lor (se distrug la terminarea functiei) decat daca sunt transmise ca referinta. Variabilele pot fi : - globale - locale Variabilele globale sunt variabilele ce isi mentin existenta pe parcursul executiei intregului program, in timp ce variabilele locale sunt variabilele din interiorul functiilor ce isi inceteaza existenta dupa terminarea functiei. Daca dorim o vizualizare globala a variabilelor locale functiei avem 2 posibilitati : - le trimitem ca referinta - le asociem parametrul global inainte de a opera cu variabilele sau folosind vectorul $GLOBALS[] Variabilele statice sunt folosite atunci cand este necesar ca acestea sa existe pe parcursul mai multor apelari ale functiilor, fara a mai fi necesara o reatribuire. Rezultatul acestui exemplu este la apelul de forma: echo vizitatori(); - 1 vizitator, iar daca se mai executa inca o data atunci rezultatul va fi tot 1, deoarece variabila este statica. Este destul ne neplacut ca pe parcursul unei numaratori sa se reseteaza variabila la fiecare apelare a functiei. Pentru a asigura persistenta variabilei, se foloseste cuvantul cheie static.

22

Rezultatul acestei functii la prima apelare prin echo vizitatori(); - va fi 1 vizitator, iar prin repetarea aplelului se va afisa 2 vizitatori. Lucrul cu clientul PHP poate prelua interactiv datele de la client prin intermediul formularelor. Elementele cele mai importante ale unui formular sunt : - ACTION transmite serverului la ce pagina sa se duca si sa transmita datele completate in momentul in care utilizatorul a trimis formularul. - METHOD reprezinta modul in care datele sunt trimise serverului. Metoda GET adauga variabilele in campul de adresa al paginii web. Metoda POST trimite ascuns variabilele catre pagina descrisa la ACTION. In cadrul formularului putem avea campuri : - text - textarea - list box (select) - radio - checkbox - hidden - password Aceste campuri se trimit catre scriptul PHP printr-un buton de tip submit

OPERATII ASUPRA DATELOR DIN CADRUL UNEI BAZE DE DATE Crearea unei baze de date se face in mod vizual, prin accesarea in cadrul unui browser de internet a adresei: http://localhost/phpmyadmin. Conectarea la server-ul de date se face prin comanda: mysql_connect(localhost,root,), unde localhost este calculatorul local pe care se afla baza de date, root este numele utilizatorului care se conecteaza la BD si acesta este pentru triada PHP-Apache-MySql. In cazul in care site-ul se posteaza pe un alt server, atunci utilizatorul va avea un nume si o parola care va fi introdusa intre ghilimele. Selectarea bazei de date se face prin comanda mysql_select_db(nume baza de date). Interogarile aplicate unei tabele sau mai multor tabele se face prin comanda: mysql_query(sir de caractere), unde sir de caractere poate fi o selectie din cadrul

23

unei tabele - select, poate fi o inserare de date dintr-un formular in cadrul tabelei insert into. Selectarea datelor din cadrul unei tabele se face prin comanda SELECT. Selectarea se poate face pentru toate campurile din tabela sau se poate face selectie dupa o anumita conditie. Exemple: $interogare=mysql_query(SELECT * FROM student); - va selecta toate campurile din cadrul tabelei student si interogarea este atribuita unei variabile numita interogare. $interogare1=mysql_query (SELECT nume_student FROM student); va selecta coloana nume_student din cadrul tabelei student. $interogare2= mysql_query (SELECT nume_student FROM student WHERE nota=$valoare); - va selecta numele studentilor din cadrul tabelei student, unde nota va avea valoarea data de variabila $valoare. Introducerea datelor in cadrul campurilor tabelei se face prin comanda INSERT INTO. Exemple: $introducere1=mysql_query(INSERT INTO formular (`nume` , `prenume`, `varsta`) VALUES ('Ivascu', 'Valentin', '20')); - insereaza in tabela formular in campurile nume, prenume si varsta valorile Ivascu, Valentin si 20 $inserare2=mysql_query ('insert into categorie_produs (denumire_categorie) values ("'.$_POST[categorie].'")'); - insereaza in campul denumire_categorie al tabelei categorie_produs valoarea preluata din cadrul unui label identificat cu numele categorie. Modificarea continutului uneia sau mai multor coloane din cadrul unei inregistrari curente se face prin comanda UPDATE. UPDATE nume_tabel SET col1=valoare noua [WHERE conditie] Exemple: UPDATE fructe SET starea=stricat va inlocui in tabela fructe, starea acestora cu valoarea stricat. UPDATE fructe SET nume_fruct=mar WHERE nume_fruct=mare va inlocui in tabela fructe, toate denumirile de fructe gasite cu mare in mar. UPDATE fructe SET stoc=stoc-$_POST[cantitate] va actualiza pentru toate fructele din tabela fructe campul stoc cu diferenta dintre valoarea veche a acestuia si valoarea data de variabila cantitate ce va fi preluata din formular.

24

UPDATE fructe SET stoc=stoc-$_POST[cantitate] WHERE id_fruct=1 va actualiza pentru fructul cu id-ul1 din tabela fructe campul stoc cu diferenta dintre valoarea veche a acestuia si valoarea data de variabila cantitate ce va fi preluata din formular. O alta metoda de a modifica inregistrarile unei tabele se poate face si prin comanda REPLACE, care insa se foloseste atunci cand inregistrarea care se doreste inserata contine o valoare de cheie primara care se potriveste cu o inregistrare care exista deeja in tabel. In acest caz se va sterge inregistrarea din tabela si se va introduce cea noua. REPLACE INTO nume_tabel (lista_coloane) VALUES (valori pentru coloane); Exemplu: REPLACE INTO investitii VALUES (1, constructie,200) va inlocui in tabela investitii randul a carui cheie primara are valoarea 1 cu noile valori Stergerea datelor din tabele se face prin comanda DELETE, cu forma: DELETE FROM nume_tabel [WHERE o conditie adevarata] Exemple: DELETE FROM fructe; - va sterge din tabela fructe toate inregistrarile DELETE FROM fructe WHERE stare=stricat; - va sterge din tabela fructe toate produsele care au starea de stricat. Dupa interogarea tabelelor trebuie sa se faca regasirea datelor din tabela, acest lucru realizandu-se prin functia: mysql_fetch_array(rezultatul interogarii), mysql_fetch_rows(rezultatul interogarii) Numarul de coloane ce rezulta dintr-o interogare este redat de functia mysql_num_rows() si se foloseste in partea de autentificare a unui user. $result=mysql_query(select * from info); echo Numarul de inregistrari este : .mysql_num_rows($result); Exemple: Exemplu 1: $link=mysql_connect(localhost,root,);// se conecteaza la serverul de date mysql_select_db(studenti); // selecteaza tabela studenti $result=mysql_query(select * from info);// selecteaza toate campurile din tabela info for ($i=0;$i