Skip to content

Programare Windows cu Win32 API

Informaniile prezentate în această lucrare sunt bazate în mare parte pe Help –ul Win32SDK care vine cu cîteva binecunsocute limbaje de programare, respectiv numeroase informaŃii si documentaŃii provenind de pe atotputernicul Internet. Dacă este cazul atunci la locurile respective se vor găsi liste cu originea informatiilor, respectiv câteva note de copyright, dacă era specificat în documentaŃia respectivă.
Sursele, care vor fi prezentate sunt scrise (în mare parte) de mine, marea majoritate a lor nu sunt complete, dar se vor găsi indicaŃii, cum pot fi incadrate într-un program. Sursele pot fi folosite fără restrictii si copyright.
API-ul prezentat provine direct din documentatii copyright de Microsoft sau Intel, eu le-am tradus, si am adăugat numai niste comentarii, dacă era cazul, dacă nu atunci niste completări. Dacă vă interesează si în original, atunci vă recomand consultarea Helpului mai sus menŃinut.
Lucrarea este adresată în special programatorilor avansati, dar poate fi studiată si de programatori, care acum încep să se familiarizeze cu modul de programare sub Windows. Oricum, sunt necesare cîte ceva cunostinŃe de programare, deci să nu fie prima lucrare pentru un programator, care acum începe să descopere diferenta dintre un byte si un word.
Sunt discutate separat tehnicile pentru Windows 9x si Windows NT, care la unele capitole sunt total contrare, si sunt prezentate, si unele facilităti, care sunt valabile numai în unul dintre cele două sisteme de operare.

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista
Mostra/Nascondi contenuto.
Programare Windows şi kernelul sistemelor de operare multitasking Memorie - 18 - III. Procese Avem nevoie de sisteme cu mai multe procese, c ă altfel nu am avea nevoie de sinconizarea lor Prin procese de fapt nŃelegem toate programele, care rulează n sistem la un moment dat. Prin fir de execuŃie nŃelegem două lucruri: o procedură, care se execută paralel cu programul, care l-a apelat, sau firul de execuŃie principal, care de fapt este programul. Fiecare proces are măcar un fir de execuŃie, cel principal, care este creat c nd procesul este execu tat. Firele de execuŃie au SpaŃiul de Adrese Virtuale (Virtual Address Space - VAS) comun cu cel al procesului, şi comun şi ntre ei. Despre acel paralel vom mai avea o discu Ńie, dar momentan este de ajuns introducerea asta scurtă. III.1. Multitasking Multitasking nseamnă execuŃia a mai multor programe, denumite taskuri. ˛n lumea de azi cam toate sistemele de operare performante oferă multitasking, unele mai bune, altele şi mai bune. Procesorul unui calculator este responsabil pentru executare taskurilor, deci mai ntăi o să prezint arhitectura necesară, ca să nŃelegem evenimentele, ce se petrec n nucleul unui sistem de operare, cum ar fi Windows sau Linux. III.2. Arhitectura Intel Din punctul de vedere al procesorului, un task este o unitate de lucru, care la un moment n timp poate să fie executat sau suspendat. Măcar un task trebuie să există n toate sistemele, care rulează, fiindcă altfel nu ar fi nimic de executat. Şi handleurile de ntreruperi sunt considerate taskuri. Arhitectura Intel providă mecanisme evoluate pentru a salva starea unui task, pentru pregătirea unui task pentru execuŃie sau pentru schimbarea taskurilor. Să nu uităm, că procesorul poate să lucreze cu multitasking numai n mod protejat, capitolul III.2.1.2. Structura unui task Un task este alcătuit din două module mari: SpaŃiul de execuŃie a taskului (task execution space - TES) respectiv un segment, denumit Task State Segment (TSS). TES conŃine un segment de code, un segment de stack şi unul sau mai multe segmente de dată. Dacă un task are părŃi, care rulează la diferite nivele de protecŃie, atunci pentru fiecare nivel există un segment de stivă propriu. Un registru, denumit Task Register (TR) are adresa TSS ului pentrul taskul curent. TR conŃine segmentul de 16 biŃi, deplasarea pe 32 de biŃi, o limită de segmente pe 16 biŃi, şi diferite atribute pentru TSS. TR reprezintă un descriptor n GDT. Cu instrucŃiunile LTR respectiv STR putem să controlăm registrul TR. Descriptorul de task din GDT (şi numai n GDT) conŃine adresea (segment şi offset) codului taskului, respectiv c teva flaguri, care indic ă starea taskului, li nivelul de protecŃie, la care rulează taskul. TR de fapt nu este altceva, dec t o copie a intrării n GDT a TSS ului taskului. TSS-ul de 32 de biŃi conŃine aproape toate informaŃiile referitoare la taskul respectiv: • Segmentele CS (Code), SS (Stack), DS (Data), ES, FS, GS • Starea registrilor EAX, EBX, ECX, EDX, ESI, EDI, EBP • Flagul EFLAGS • Registrul EIP • Un link spre taskul precedent • Registrul de control CR3 • Registrul LDTR • Harta de adrese I/O ( n TSS) • Stack pointeri spre stackurile la diferite nivele de protecŃie ( n TSS) Numai primele 104 de octeŃi sunt folosite la schimbarea de taskuri. Primele cinci sunt numite c mpuri dinamice, restul sunt statice. ExplicaŃie: c mpurile dinamice se schimb ă la fiecare schimbare de task, iar cele sttice sunt modificate numai o singură dată: c nd se crează taskul respectiv.

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista
Il miglior software antiplagio

L'unico servizio antiplagio competitivo nel prezzo che garantisce l'aiuto della nostra redazione nel controllo dei risultati.
Analisi sicura e anonima al 100%!
Ottieni un Certificato Antiplagio dopo la valutazione.

Informazioni tesi

  Autore: Ferenc Deak
  Tipo: International thesis/dissertation
  Anno: 2001
  Università: Universitatea "Transilvania", Braşov
  Facoltà: Informatică
  Corso: Informatică
  Relatore: Dorin Bocu
  Lingua:
  Num. pagine: 65

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l’utente che consulta la tesi volesse citarne alcune parti, dovrà inserire correttamente la fonte, come si cita un qualsiasi altro testo di riferimento bibliografico.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Per tradurre questa tesi clicca qui »
Scopri come funziona »

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

api
c++
hook
intel
kernel
memorie
proces
procesor
programare
win32
windows

Tesi correlate


Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi