Structura sistemelor de operare

Similar documents
CAP.I DESCRIEREA STRUCTURALA A UNUI SISTEM DE CALCUL

Noul sistem de sine de ghidaj pentru o precizie maxima!!!

STRUCTURI DE DATE. Compresia datelor

Laborator 2. Crearea unei interfete MatLab cu ajutorul functiilor uicontrol si uimenu.

Combinarea tabelelor SAS

Lucrarea de laborator nr. 11 Globalizarea si localizarea aplicatiilor.net

UTILIZAREA PRODUSELOR BENDER LA NAVE

1. Noua procedura pentru biletele Zug zum Flug la rezervarea pachetelor

Metode ansamblu Ensemble learning. Ruxandra Stoean

SISTEME DE OPERARE

Buton de alarmare manuala

FAST FLEXIBLE FRIENDLY

Sistem de informare si ierarhizare pentru imbunatatirea dezvoltarii regionale. Sistem general de diseminare

tom Programmer Manual de utilizare - versiune software

Ghid Operational pentru Mentenanta HW IBM

CASA si BANCA. Modulele de CASA si BANCA sunt asemanatoare, de aceea prezentarea lor va fi facuta in comun. 1. Primul submodul de Casa / Banca

SISTEM DE COMANDA PRIN SEMNALE MIDI

Modul Retineri.

Regasiti in cele ce urmeaza ultimele update-uri in materie de produs si operational la touroperatorii din grupul Neckermann/Thomas Cook.

De ce sa optimizezi procesul de comanda?

Baile Felix - Inscrieri Timpurii 2017

2.1. Sectiunea administrator Sectiunea profil...5

CARTE TEHNICA. Instructiuni de instalare, functionare PENTRU REGULATORUL CLIMATIC EV 70

Fig Trapezul exterior este y 1, iar cel interior y 3.

Aplicatie de vanzare pentru restaurante

KIT DE MASURARE NIVEL DE SEMNAL IN RETELE CATV

Routing Information Protocol

Folie PVC pentru amenajarea de iazuri, lacuri sau helestee

GSM Gate Control Telecomanda GSM pentru porti si bariere electrice

Corfu (din București)

3.6.7 Terminale [i terminatoare de re]ea ISDN

MANUAL DE UTILIZARE TS1-MFB. COMANDA TELECOMENZII Butoane Cheia Conditii. Blocare P1K1 Cu cheia de contact. Deblocare P1K2 Cu cheia de contact

Implicatiile Teoriei Haosului in stiinta economica

SISTEME AVANSATE DE ASIGURARE SI ACCES CONTROL IN ZONE CU NECESITATI RIDICATE DE SECURITATE

Sistemul de Tranzactionare al OPCOM

2. Dispersii. Ozon (O 3): Viteza si directia vantului:

Inginerie software seminar 1. ISS - Seminar Multimi, structuri, sisteme, modelare

Modelul O I D al unei organizatii

Ghid orientativ privind dispozitiile Regulamentului UE 2016/679 (GDPR)

MANUAL DE UTILIZARE CIEL SIMPLU

Primul document elaborat abordeaza subiectul Briefului de la client catre agentie considerat unanim a fi primul pas catre o campanie buna.

Anexe. Clasele de asigurare

Art PRESOSTAT ELECTRONIC

AIRAC AIP SUPPLEMENT 01/16. WORK in progress at BACĂU/George Enescu airport Phase I

Ghid rapid de utilizare SelfAWB

Impactul legislativ in aria de culegere a datelor cu caracter personal - cerinte si beneficii pentru clienti. Cornelia Jiloan

STUDIU PRIVIND OPTIMIZAREA OPERATIILOR DE STRUNJIRE PRIN SIMULARE CAM CU VISUALTURN

World Robot Olympiad 2016 Categoria Standard Standard I Primar Descrierea probei, reguli si punctaj. Clean Road to School

Ghid practic pentru stabilirea categoriei unei întreprinderi

The Decameron Of Giovanni Boccaccio - Limpidsoft the decameron of giovanni boccaccio by giovanni boccaccio trans. john payne styled bylimpidsoft

Editia a 3-a (ianuarie 2009)

INTERVIU Iordan Gheorghe BARBULESCU Cred ca in 30 de ani Uniunea Europeana va fi o federatie

AFTN: LRBBRTYD

Utilizarea incasarilor si platilor prin mijloace electronice in administratia publica

BRAN BOOTCAMP BE FIT!

ATS2000/3000/4000/4500. Ghid de Programare. Versiunea 2.01 (SR_F), Iunie 2004

(Valoarea Pasului de Tranzactionare = 1 leu)

Introducerea tehnologiei RFID pentru supravegherea articolelor din magazine

MANUAL DE UTILIZARE 6935IN Banda de alergat insportline Mystral

Pasul 1. Realizati-va designul dorit. Acesta poate contine fotografii sau imagini vectoriale.

The world is a book and those who do not travel read only one page. St. Augustine

geographianapocensis.acad-cluj.ro

cele mai ok referate MINISTERUL EDUCAŢIEI SI CERCETĂRII GRUPUL ŞCOLAR INDUSTRIAL DE TRANSPORTURI AUTO TIMISOARA

12 Specii de rechini

Ordin ANRE nr.17 / Codul de masurare a energiei electrice

FORMULAR DE ACTUALIZARE A DATELOR CLIENTILOR PERSOANE FIZICE

Royal Caribbean International

Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE DE LICENŢĂ

CAMINE DE INSPECTIE SI BRANSAMENT (RACORD) PENTRU INSTALATII DE CANALIZARE D400 PP/PVC

Regulamentul promotiei din restaurante Fa-ti plinul la KFC Drive Thru

AGENTIA DE TURISM KUSADASI KUSADASI SEDIU CENTRAL B-dul Iancu de Hunedoara, nr 36, etaj 1, sector 1 Telefon: ; Fax:

Rain Bird. Programator ESP-RZX Ghid de instalare si manual de programare. English ESP-RZX ESP-RZX OFF OFF MIN AUTO Z O N E BACK OFF ON NEXT AUTO

Specificatii Grau Panificatie-UE Futures

IN VEDEREA REIMBARCARII TREBUIE SA URMATI PASII DE MAI JOS

Context european si implicatii la nivel regional si national Factori cheie de dezvoltarea a industriei ITC in regiune

RADIOAMATORII VOLUNTARI IN SITUATII DE URGENTA

TEHNICA MISCARII BROASTE DE USI. Deschideti si traiti momente senzationale!

EXCURSII OPTIONALE EMIRATELE ARABE UNITE

Două țări, un scop, succes comun! PLAN DE AFACERI. Agenție de turism

Este potrivita pentru imprimarea cu: plastisoli, Braille, solder mask peelable, imprimari in relief pe diferite substraturi.

RO Romana. Manual de operare si instalare PC 400. Numarator de particule pentru aer comprimat si gaze. PC 400 Pagina 1 din 16

Cod de etica evenimente responsabile. Indrumar pentru organizatiile responsabile social

Pagina de autentificare:

Procedura de rezolvare a reclamatiilor si contestatiilor

Izoeritroliza neonatala

AIRAC AIP SUPPLEMENT 09/15. Work in progress at IA I/Ia i Airport

Synco 700 Regulator pentru incalzire RMH760B Regulator pentru cascada de cazane RMK770 Instructiuni de utilizare

POLITICA PRIVIND PRELUCRAREA DATELOR CU CARACTER PERSONAL. Versiunea I din data de

Key words : infrared thermography, deep freeze, warehouse infiltrations, warehouse thermal bridges

Laser Multipoint Verde-50mW Rosu-80mW Nr. Ref

Promotia este organizata si se va desfasura exclusiv pe teritoriul Romaniei.

Navigare la pagina de start

MINUTA. Preşedintele Comitetului director dl. Secretar de Stat FRANCISK IULIAN CHIRIAC

Abordarea familiei pentru obtinerea consimtamantului scris in vederea donarii de organe

PREZENTARE GENERALA CONTROLERE PENTRU CAMERE DE HOTEL ZE-RES ON LINE CU CITITOARE DE PROXIMITATE MIFARE

TUNEL DE SPALARE Sistem de spalare continuu

doar atat. Si veti zacea in dureri. Nu stiu cum sa zic asta mai clar de atat. Nu vreau sa predic intreg mesajul pe tema asta.

Tokyo : Ce e super sa vizitezi!

SISTEME DE INCENDIU CONVENTIONALE

PLANIFICAREA SI ASIGURAREA CALITATII LUCRARILOR DE CONSTRUCTII

Transcription:

2012 Structura sistemelor de operare aspecte generale si particulare pentru Windows si Linux Studenti: Băbăruş George 431A Voicu Adrian-Nicolae 431A ETTI 01.06.2012

CUPRINS: Partea I: Structura sistemelor de operare - Băbăruş George grupa 431A 1.1 Structura de baza a fiecarui sistem de operare in parte: concepte generale si particulare 1.1.1 Concepte generale 1.1.2 Serviciile oferite de sistemele de operare 1.2 Stuctura particulara a sistemelor de operare 1.2.1 Structura sistemului de operare MS-DOS 1.2.2 Structura sistemului de operare Windows XP 1.2.3 Structura sistemului de operare UNIX 1.2.4 Sistemul de operare linux Partea II: Win32 API si registrul de informatii pentru Windows Voicu Adrian-Nicolae 431A 2.1 Win32 API 2.1.1 Introducere 2.1.2 Windows API 2.1.3 Versiuni -Win16 -Win32 -Win32s -Win64 2.1.4 Aplicabilitatea in.net 2.2 Registrul de informatii pentru Windows 2.1 Structura

Partea I: Structura sistemelor de operare Babarus George 431A 1.1 Structura de baza a fiecarui sistem de operare in parte: concepte generale si particulare 1.1.1 Concepte generale Structura sistemului de calcul se refera componentelor functionale si structurale ale sistemelor de operare care permit realizarea operatiilor si gestiunea operatiilor de prelucrare de date tot mai necesare astazi. Din cauza necesitatii prelucrarii complexe a datelor structura sistemelor de operare este din ce in ce mai complexa pentru a satisface nevoile utilizatorului final. Desi strucura este din ce in ce mai complexa, aceasta se tine partitionata in parti mici in asa fel incat sa se mentina specializarea componentelor. Astfel fiecare componenta are o functie bine definita si o metoda specifica de rezolvare a cerintelor. Structura uzuala a unui sistem de operare: - Manager-ul de proces - Intrumente de gestionare a memoriei principale - Sistem de gestiune a fisierelor - Sistem de manipulare a intrarilor si iesirilor sistemului - Sistemul de memorie secundara - Gestionarea sistemelor distribuite - Sistem de protectie - Interpretor de comenzi

Figura 1.:Sistemul de operare 1) Manager-ul de proces Un proces este un program aflat in executie. Un proces are nevoie de resursele sistemului de calcul pentru a-si indeplini rolul: Procesor, memorie, fisiere, intrari si iesiri din sistem. Resursele sunt alocate procesului de catre sistemul de operare in momentul inceperii executiei acestuia, si de asemena sunt eliberate tot de catre sistemul de operare la sfarsitul executiei(inchiderea procesului). Deci sistemul de operare are urmatoarele indatoriri conform acestei functii: sa creeze si sa inchida procesul, sa il suspende si sa il reia atunci cand este necesar acest lucru (in cazul in care un alt proces este mai prioritar), si de asemenea tot rolul sistemului de operare este sincronizarea si comunicarea intre mai multe procese. 2) Intrumente de gestionare a memoriei principale Memoria este o insiruire de numeroase locatii de memorie si desi dimnsiunea este in crestere accesul la memorie si lucrul cu aceasta trebuie sa se desfasoare repede, pentru a permite procesorului o rulare cat mai rapida. Drept urmare a celor spuse mai sus este nevoie de folosirea unui dispozitiv special si a unei proceduri speciale de gesiune a memoriei. Sistemul de operare trebuie sa aiba grija de urmatoarele aspecte in partea de lucru cu memoria: trebuie sa stie ce parte a memoriei este folosita si de cine, sa decida care proces sa se apeleze atunci cand este incarcata o anumita parte a memoriei, sa aloce si sa stearga spatii de memorie necesare proceselor. 3) Gestiunea fisierelor Sunt componentele sistemului de operare cu care lucreaza cel mai mult utilizatorul final si permite calculatoarelor sa stocheze informatia pe diferinte dispozitive. Un fisier este o reprezentare logica si o abstractizare a informatiei stocate

fizic. Este o colectie de informatii relationate intr-un anumit fel de creatorul fisierului, ele fiind catalogate in programe si date. Sistemul de operare este responsabil de urmatoarele functii in cadrul gestionarii fisierelor: crearea si stergerea fisierelor, crearea si stergerea directoarelor, sa ofere functii de gestionare a fisierelor, sa salveze datele in memoria nevolatila. 4) Sistem de manipulare a intrarilor si iesirilor sistemului Rolul sistemului de operare este alocarea resurselor in comunicarea procesorului cu alte dispozitive conectate la sistem prin porturile special prevazute in acest sens. Tot sistemul de operare manipuleaza si intreruperile solicitate in comunicarea cu alte dispozitive 5) Manipularea memoria secundare Memoria secundara este o memorie mai lenta insa necesara sistemului datorita capacitatii mari de stocare si de asemenea datorita faptului ca este nevolatila. Sistemul de operare are responsabilitatea alocarii mamoriei, gestionarii spatiului liber si a gaurilor de spatiu neocupat si stergerea memorie. 6) Gestionarea sistemelor distribuite Un sistem distribuit este o colectie de procesoare care nu impart memorie sau acelasi ceas, ci au fiecare pe al lui. Procesoarele in aceste sisteme sunt conectate printr-o retea de comunicatie si comunicatia are loc prin protocoale. Un sistem distribuit ofera utilizatorului acces la o gama larga de resurse si aici intervine rolul sistemului de operare. 7) Sistemul de protectie Protectia se refera la mecanismul de control a accesului programelor, proceselor, si utilizatorilor atat la sistem cate si la resursele acestuia. Mecanismul de protectie trebuie sa distinga intre utilizarile autorizate si neautorizate la sistem. Rolul sistemului de operare este de a cataloga gradul de acces la aunite cereri de acces la resurse si de a perimte sau nu accesul la acestea. 8) Sistemul de interpretare a comenzilor Multe dintre comenzile date sistemului de operare au drept scop gestionarea tuturor responsabilitatilor subliniate mai sus: creearea proceselor, stergelor, gestionarea I/O, gestiunea memoriei, acces la fisiere, protectie, gestiunea memoriei principale.

Acest program citeste instructiunile si le executa in timp real; Denumirea sa este interpretor de linie de comanda sau Shell pe Unix. 1.1.2 Serviciile oferite de sistemele de operare Principalele servicii oferite de un sistem de operare sunt enumerate mai jos: - Executarea programelor sistemul de operare trebuie sa fie capabil sa preia un program din memorie si sa il ruleze - Operatii I/O programele nu sunt in general capabile sa execute operatii de intrare iesire, din aceasta cauza un serviciu important pe care sistemul de operare trebuie sa il puna la dispozitie este asigurarea unui mijloc prin care sa se realizeze operatii I/O. - Comunicarea intre procese este nevoie de un nivel superior pentru a facilita comunicarea intre procese. - Mecanism de detectie a erorilor trebuie sa asigure detectia si corectia erorilor aparute in procesor, in memorie si in sistemele I/O pentru a permite utilizarea programelor. - Alocarea de resurse - Protectie - Apeluri de sistem asigura trecerea de la un proces la altu sau executarea unor proceduri specifice cum sunt cele de intrerupere. Asigura de asemenea trecerea parametrilorde la un proces la altul. - Mecanisme de transmiterii a mesajelor. Apelurile de sistem: aceste apeluri pun la dispozitie interfete intre procese si sistemul de operare. Aceste apeluri se pot realizeaza in general prin limbajul de asamblare sau pentru unele sisteme apelurile de sistem se pot realiza chiar si din limbajul de nivel inalt, cum ar fii C. Exista trei metode de a initia apeluri care sa permita trecerea parametrilor de la un proces la altul sau direct catre sistemul de operare: transferul prin intermediul registelor, salvarea parametrilor intr-o tabela a carei adrese se salveaza intr-un registru, inserarea parametrilor in stiva si extragerea ulterioara. Aceste apeluri de sistem sunt de mai multe tipuri: - Procese de control: preia, executa, inchide, creeaza procese, aloca memorie, asteapta evenimente. - De gestiune a fisierelor: creeaza/sterge fisiere, deschide/inchide, citeste/scrie fisiere - Gestiune a dispozitivelor: trimite/receptioneaza date catre dispozitive - Comunicare : creaza sau inchid conexiuni de comunicatie, trimit si receptioneaza mesaje

1.2 Stuctura particulara a sistemelor de operare Structura sistemelor de operare moderne trebuie bine proiectata datorita dimensiunilor si complexitatii mari a acestora. Si cea mai buna abordare este din punctul meu de vedere divizarea si specializarea pe componente care sa aiba functii specifice si pe care sa stie bine sa le indeplineasca. Aceste subunitati specifice sunt definite mai sus si reprezinta criteriul de performanta in cadrul unui sistem de operare modern. 1.2.1 Structura sistemului de operare MS-DOS MS-DOS este un sistem de operare dezvoltat pe platforma DOS. Acest sistem de operare este dezvoltat pentru sistemele de calcul cu procesoare compatibile X86 si este un sistem de operare utizat in prezent la pornirea sistemelor de calcul pentru a permite accesul la resurse. Are o structura simpla care ii permite sa aiba acces rapid la resurse si sa ofere rapiditate utilizatorului. Facilitatile principale ale acestui sistem de operare ofera utilizatorului un interpretor de linie de comanda, prin intermediul caruia ii este permis utilizatorului sa execute functiile specifice unui sistem de operare: gestionare de fisiere, executarea aplicatiilor etc. MS-DOS este integrat si astazi pe majoritatea sistemelor de calcul si permite pornirea rapida a acestuia. De asemenea este integrat in toatele sistemele de operare Windows si permite interpretarea liniilor de comanda in aceste sisteme.

1.2.2 Structura sistemului de operare Windows XP Windows XP aduce o imbunatatire considerabila in editiile sitemelor de operare windows prin performantele si stabilitatea oferite utilizatorului mult peste editiile anterioare ale windows. Prezinta o buna gestionare a memoriei si interfata schimbata ceea ce atrage si un succes mai mare fata de editiile anterioare. O alta facilitate importamta este permiterea gesionarii mai rapide a resurselor de memorie mai mari prin mecanisme specifice. 1.2.3 Structura sistemului de operare UNIX mare: Sistemele de operare UNIX sunt stucturate in doua parti separate si de o importanta - Programele de sistem - folosesc kernel-ul pentru a pune la dispozitie functii importante cum ar fii compilarea, si gestionarea fisierelor - Kernel-ul reprezinta tot ceea ce exista sub nivelul apelurilor de sistem dar deasupra nivelului hardware. Pe el se bazeaza apelurile de sistem si ofera facilitati specifice gestionarii partii hardware si comunicarea acesteia cu partea software de niveluri mai inalte. Pune la dispozitie altor parti ale sistemului de calcul sistem de gestionare al CPU-ului, sistem de gestionare a memoriei si alte finctii specifice sistemului de operare.

KERNEL ul este un nucleu monolitic care are posibilitatea de incarcare a sistemelor suplimentare. Aceasta este o trasatura specifica tuturor sistemelor de operare unix. Pe baza nucleului UNIX sunt realizate in prezent o gama larga de sisteme de operare cum ar fii: Solaris (produs de firma SUN Microsystems, realizat pe arhitectura SPARC, X86, X86-64), HP-UX produs de firma HP si ruleaza pe platforma IA-64, AIX- produs de firma IBM, IRX produs de firmasgi, MacOS X produs de firma Apple pentru calculatoarele Macintosh ruleaza pe arhitectura X86 si PowerPc, Linux initiat de Linus Torvalds, BSD. Structura stratificata a sistemelor de calcul este un lucru bun deoarece tratarea problemelor de implementare se poate rezolva pe niveluri si rezolvarea problemelor la un nivel poate oferii functionalitati nivelelor superioare. 1.2.4 Sistemul de operare linux Sistemul de operare linux este un sistem de operare open source bazat pe structura si functionarea nucleului UNIX si este disponibil intr-o gama larga de distributiipentru asta am afisat urmatoarea poza care ilustraza o cronologie a celor mai importante distributii Linux este caracterizat de stratificarea specifica UNIX si ofera utilizatorilor stabilitate si perforamanta ridicata, drept pentru care este foarte popular in utilizarea pentru servere. Linux are o strucutra stratificata care presupune divizara in mai multe niveluri, fiecare nivel fiind bazat pe nivelul inferior lui. Nivelul cel mai de jos in acest context este hardware-ul iar cel mai de sus este interfata grafica. Stratificarea pe niveluri permite abstractizarea informatiei si incapsularea acesteia pe categorii de nivele pentru care este dedicata. De asemenea aceasta stratificare permite si modularizarea procedurilor si serviciilor oferite de fiecare nivel in parte.

sursa imagine wikipedia.org

- Győrödi Referinte bibliografice: - Andrew S. Tanenbaum - Modern Operating Systems - 2nd Edition - Amjad Mahmood, Operating Systems Robert, Sisteme de operare - Wikipedia.org - Microsoft.com

PARTEA II: Win32 API si registrul de informatii pentru Windows Voicu Adrian, grupa 431A 1.Win32 API 1.1 Introducere Win32 API reprezinta nucleul Microsoft ce contine un set de instructiuni destinate programarii aplicatiilor disponibile in sistemul de operare Microsoft Windows. Altfel spus este o interfata programabila(api). Win32 API are o denumire echivaleta si anume: Windows API care nu este oficiala, insa denumirea este una universala permitand utilizatorului sa se gandeasca la suportul atat pentru Windows pe 32 biti, cat si pentru Windows pe 64 biti. Folosind win32 API progamatorul are permisiunea de a accesa o mare parte din functiile nivelului de baza ce apartin sistemului de operare, dandu-i acestuia posibilitatea de a crea aplicatii intr-un mod cat mai flexibil. 1.2 Windows API Prin API (un acronim din engleza pentru Application Program Interface ) intelegem un set de functii Windows predefinite folosite pentru a controla aspectul si comportamentul fiecarui element Windows. Fiecarea actiune a utilizatorului cauzeaza actiunea unor functii API ce informeaza Windows-ul ce se intampla. Cu o privire de ansambu putem spune ca este ceva gen codul nativ al Windows-ului. Un API este o interfata software la software, nu este o interfata utilizator. Folosind API-uri, aplicatiile comunica intre ele fara alte cunostinte sau interventii din partea utilizatorului. Utilizatorul vede decat o singura interfata in spatele careia se afla mai multe aplicatii care lucreaza impreuna utilizand API-uri. Astazi Windows este cu siguranta cel mai utilizat sistem de operare pentru calaculatoarele personale. Winapi este interfata codului sursa care este folosita pentru a creea aplicatii windows. Aceste aplicatii sunt create folosind platforma SDK(Software development kit) care contine resurse ca: unelte, librarii, documente, exemple, toate acestea ajuta programatorul sa realizeze aplicatii windows. Windows API a fost creat pentru limbajele de

programare C si C++, dar si pentru cea mai noua varianta a C-ului si anume C#. Este cea mai simpla si directa metoda de a crea aplicatii win. Windows API are la baza patru componente: -serviciile de baza care faciliteaza accesul la resursele fundamentale ale Windowsului. -GDI(Graphics Device Interface) este o interfata ce lucreaza cu grafica. Este folosita pentru a interactiona cu dispozitivele grafice. -interfata utilizator furnizeaza functionalitati pentru a crea ferestre si contoale. -serviciile network ofera acces la internet. In trecut dezvoltatorii de aplicatii aveau de ales intre C si Assembler ca limbaje de programare, astazi exista o platforma ce inglobeaza mai multe astfel de limbaje. Un exemplu este platform este cea de la Microsoft - Microsoft Visual Studio. Aceasta platforma permite folosirea unui numar semnificativ de limbaje de programare : C#, C++, J#,VB. In zilele noastre programatorii folosesc limbajele de ultima generatie sau cu cele mai noi imbunatati ale versiunilor precedente pentru a crea aplicatii de tip business. Daca se doreste a crea aplicatii de tip grafic sau chiar si jocuri, unde sunt necesare cantitati mari de resurse, ca limbaj de programare se foloseste C(cel mai utilizat) dar, unii programatori mai folosesc si mediul DirectX. Am observat ca platformele ce furnizeaza posibilitatea de a alege intre diferite limbaje de programare este foarte populara si in acelasi timp foarte folosita. Exista cateva librarii care ajuta programatorii sa creeze aplicatii ce pot fi rulate pe toate sistemele de operare: Windows, Linux, BSD si MAC OS. Ca exemplu de librarii am sa amintesc pe cele mai cunoscute: Qt, Swing sau wxwidgets. Limbajele C si C++ pot folosi Windows API direct, in timp ce alte limbaje folosesc librarii intermediare. Aceste librarii sunt si ele create in C sau C++ pentru a permite celorlalte limbaje de programare sa foloseasca Windows API indirect. 1.3Versiuni Aproape orice noua versiune de la Microsoft Windows si-a introdus propriile modificari pentru Windows API.Totusi, acronimul API a ramas neschimbat in timpul tranzitiilor de la o versiune la alta a sistemului de operare Windows. In cele din urma Microsoft a modificat numele curent al familiei Win32 API in Windows API pentru a oferii denumirii o flexibilitate mai mare in folosire. Familia Win32 API a cunoscut patru versiuni:

-Win16. Este API-ul pentru prima versiune a pe 16 biti a Microsoft Windows. Functiile Win16 API se gasesc in fisierele de baza ale sistemului de operare: kernel.exe, user.exe si gdi.exe. Facand abstractie de extensia fisierelor acestea chiar sunt dll-uri. -Win32. Este versiunea moderna pe 32 biti. Dll-urile de baza pentru aceasta versiune sunt: kernel.dll, user.dll si gdi.dll. -Win32s. Este o extensie pentru familia de Windows 3.1x de la Microsoft Windows care implementeaza un subset al Win32 API pentru aceste sisteme. S vine de la subset. -Win64. Este varianta de API implementata pe platformele de 64 biti ale arhitecturii Windows. La aceasta versiune toti pointerii sunt pe 64 de biti in mod implicit, de aceea este necesar sa se verifice compatibilitatea codului sursa. 1.4 Aplicabilitatea in.net In.NET putem apela Win32 API folosind platforma Interop Services care se gaseste in namespace-ul System.Runtime.InteropServices. Windows API se bazeaza pe trei dll-uri principale: -user.dll folosit in lucrul cu interfata utilizator -kernel.dll contine managementul memoriei si lucrul cu fisierele -gdi.dll este folosit in elementele de grafica Interop Services din cadrul.net lucreaza cu dll-uri externe si anume cu cele mentionate mai sus dar nu numai. System.Runtime.InteropServices folosit in aplicatie ofera un plus de functionalitate prin posibilitatea de a apela aplicatii din exterior. Exemplu de program simplu: using System; using System.Runtime.InteropServices; namespace Win32Application { public class Win32 { [DllImport("User32.dll")] public static extern Int32 FindWindow(String lpclassname,string lpwindowname); } Linia de cod [DllImport("User32.dll")] importa in program fisierul user32.dll dupa care poti sa beneficiezi de fuctiile lui. Urmatoarea linie de cod foloseste Find Window, una din functionalitatile fisierului user32.dll. Aceasta functie localizeaza fereastra de nivel inalt in ordine Z care are numele clasei si tilul date ca parametrii ai functiei. Aplicatia ce poate folosi aceasta functie poate specifica o clasa particulara, un titlu particular, amandoua sau niciuna. Trebuie mentionat faptul ca inainte de utilizarea oricarei functii externe in.net trebuie declarata functia in program. In linia de cod de mai sus se incearca sa se foloseasca

functia FindWindow din cadrul user32.dll.while folosind cuvantul cheie extern care indica faptul ca functia este declarata ca fiind una externa. Cateva functii importante ale dll-ului user32.dll: - FindWindow -EnumChildWindows -EnumWindows -GetDesktopWindow -SetForegroundWindow -SendMessage -GetWindowText -GetWindowTextLength -GetWindow Am mentionat mai sus functiile principale si celor mai utilizate din user32.dll, iar pentru a avea o viziune clara asupra utilizarii acestor functii o sa evidentiez printr-un exemplu: using System; using System.Text; using System.Runtime.InteropServices; namespace Win32Application { public class Win32 { [DllImport("User32.dll")] public static extern Int32 FindWindow(String lpclassname,string lpwindowname); [DllImport("User32.dll")] public static extern Int32 SetForegroundWindow(int hwnd); [DllImport("User32.dll")] public static extern Boolean EnumChildWindows(int hwndparent,delegate lpenumfunc,intlparam); [DllImport("User32.dll")] public static extern Int32 GetWindowText(int hwnd,stringbuilder s,int nmaxcount); [DllImport("User32.dll")] public static extern Int32 GetWindowTextLength(int hwnd); [DllImport("user32.dll", EntryPoint="GetDesktopWindow")] public static extern int GetDesktopWindow(); } } 2.Registrul de informatii pentru Windows 2.1 Structura Registrul este o baza de date ierarhizata care contine date critice pentru functionarea sistemului de oprare Windows precum si functionarea aplicatiilor si serviciilor care ruleaza

sub Windows. Datele sunt structurate in trei formate. Fiecare nod al arborelui se numeste cheie( key in engleza). Fiecare cheie contine la randul sau subchei care se numesc valori( values in engleza). Cateodata, prezenta unei chei este suficient pentru o aplicatie, alte ori aplicatia are nevoie sa deschida o cheie si sa utilizeze valorile asociate ei. Numele cheilor nu sunt case sensitive si nu pot contine caracterul \. Numele valorilor si a datelor pot contine caracterul \.Numele fiecarei subcheie este unic. Figura 1 Figura 1 ilustreaza structura registrelor cheie folosind un editor numit regedit.exe. Dupa cum se poate observa si in imagine Computer are un set de arbori care, fiecare reprezinta cate o cheie. Principalii arbori prezenti in imagine sunt: -HKEY_CLASSES_ROOT -HKEY_CURRENT_USER -HKEY_LOCAL_MACHINE -HKEY_USERS -HKEY_CURRENT_CONFIG HKEY_LOCAL_MACHINE are urmatoarele subchei: -HARDWARE

-SAM - SECURITY -SOFTWARE -SYSTEM Fiecare subcheie de mai sus are la randui ei alte subchei. De exemplu cheia HARDWARE are urmatoarele subchei: -DESCRIPTION -DESCRIPTION -RESOURCEMAP Aruncand o privire prin aceste registre se observa ca nu gasim doua register care sa fie la fel. Deoarece registrul stocheaza date despre hardware-ul si software-ul care sunt instalate sau disponibile in calculatorul tau, valorile multor intrari de registre sunt specifice calculatorului si conficuratiei sub care lucreaza. In plus, unele continuturi de registre se creaza de ficare data cand sistemul de operare este pornit sau log on. Drept rezultat, multe schimbari ale registrelor sunt pierdute atunci cand utilizam butonul de restart, sau cand folosim log off apoi lon on iar. Datorita diversitatii programelor, este foarte greu sa prezici cum un program anume poate sa interpreteze datele din registre. Este important de retinut ca registrele apartin programelor, si nu utilizatorilor. De aceea, daca utilizatorul nu este familiar cu programul sau cu intrarea registrului, este indicat sa nu se modifice continutul acestora sau sa se efectueze alte operatii asupra lor cum ar fi delete.

Referinte Bibliografice: -http://zetcode.com/gui/winapi/introduction/ -http://en.wikipedia.org/wiki/windows_api -http://msdn.microsoft.com -http://technet.microsoft.com