Procese, fire și fibre în ferestre - informatică, programare

1. Procese, fire și fibre în sistemul de operare Windows

Un proces este denumit de obicei o instanță a unui program executabil. Deși la prima vedere se pare că conceptele programului și ale procesului sunt aproape identice, ele diferă fundamental una de cealaltă. Programul este un set static de comenzi, iar procesul este un set de resurse și date utilizate în execuția programului. Procesul din Windows constă din următoarele componente:







- o structură de date care conține toate informațiile despre proces, inclusiv o listă a descriptorilor deschiși ai diferitelor resurse ale sistemului, un identificator unic al procesului, diverse informații statistice etc.

- identificator unic de fir;

- conținutul unui set de registre de procesoare care reflectă starea procesorului;

- Două stive, dintre care una este utilizată de fir atunci când se execută în modul kernel, iar cealaltă este în modul utilizator;

- o zonă închisă de memorie, numită memorie de fire locale (TLS) și utilizată de subsisteme, biblioteci de execuție și DLL-uri.

Pentru ca toate firele să funcționeze, sistemul de operare alocă fiecăruia un anumit timp de procesor. Aceasta creează iluzia execuției simultane a firelor (desigur, paralelismul real este posibil pentru computerele multiprocesoare). În Windows, este implementat un sistem de planificare preemptivă bazat pe priorități, în care firul cu cea mai mare prioritate este întotdeauna executat, gata de execuție. Firul ales pentru executarea lucrărilor pentru o anumită perioadă, numit cuantum. Un cuantum determină cât timp firul va rula până când sistemul de operare îl întrerupe. La sfârșitul cuantumului, sistemul de operare verifică dacă un alt fir cu același nivel de prioritate (sau mai mare) este gata să se execute. Dacă nu există astfel de fire, thread-ul curent este alocat încă un cuantum. Cu toate acestea, firul poate să nu utilizeze pe deplin cuantumul său. De îndată ce un alt fir cu o prioritate mai mare este gata să se execute, firul curent este înlocuit, chiar dacă cuantumul acestuia nu a expirat încă.

Ori de câte ori are loc o întrerupere de la cronometru, 3 este scos din quantum-ul firului și așa mai departe până când ajunge la zero. Frecvența de funcționare a timerului depinde de platforma hardware. De exemplu, pentru cele mai multe sisteme uniprocesor x86 este de 10 ms, iar pe majoritatea sistemelor multiprocesor x86 este de 15 ms.

Planificarea în Windows se face la nivel de fire, nu de procese. Acest lucru pare de înțeles, deoarece procesele în sine nu sunt executate, ci oferă doar resursele și contextul pentru realizarea firelor. Prin urmare, atunci când planificăm fire, sistemul nu acordă atenție procesului din care fac parte. De exemplu, dacă procesul A are 10 fire pregătite pentru execuție și procesul B este două și toate cele 12 fire au aceeași prioritate, fiecare dintre ele va primi un timp de procesare de 1/12.







În Windows, există 32 de niveluri de prioritate, de la 0 la 31. Acestea sunt grupate după cum urmează: 31-16 - niveluri în timp real; 15-1 - niveluri dinamice; 0 este nivelul de sistem rezervat procesului de thread cu zero pagini.

Prioritatea fiecărui fir (prioritatea firului de bază) constă în prioritatea firului său și prioritatea relativă a firului în sine. Există șapte fire de prioritate relativă:

Normal: același proces;

Mai presus de normal: +1 la prioritatea procesului;

Criticală de timp: stabilește prioritatea firului de bază pentru clasa de timp real la 31,

pentru restul clasei - la 15;

Inactiv: setează prioritatea primară a firului pentru clasa de timp real la 16,

pentru clasele rămase - în 1.

Dacă sistemul de operare rulează pe o mașină cu mai mult de un procesor instalat, implicit, firul rulează pe orice procesor disponibil. Cu toate acestea, în unele cazuri, setul de procesoare pe care firul poate funcționa poate fi limitat. Acest fenomen se numește afinitate procesor. Aveți posibilitatea să modificați programabil legarea la procesoare, prin intermediul funcțiilor de programare Win32 # 8209.

Mai mult: Crearea de procese

Informații despre lucrarea «Procese, fire și fibre în Windows»

elementarele cerințe didactice elementare sunt încălcate, percepția pasivă a informațiilor educaționale de către studenți predomină, timpul școlar este petrecut irațional. Capitolul 2. Metode de utilizare a materialelor auxiliare de formare audiovizuală și tehnică la studiul secțiunii "Tehnologia clasării 5" 2.1 Suport metodologic cuprinzător al secțiunii 1. Documentație educațională și metodică Nr. Denumire.

Procese, fire și fibre în ferestre - informatică, programare
Procese, fire și fibre în ferestre - informatică, programare
Procese, fire și fibre în ferestre - informatică, programare
Procese, fire și fibre în ferestre - informatică, programare
Procese, fire și fibre în ferestre - informatică, programare

și crearea unei rețele locale pentru diferite sisteme de operare; pentru a studia construcția și configurația corectă a Internetului; pentru a rezolva aspectele problematice care apar în procesul de instalare a unei rețele locale și conectarea la Internet pentru diferite sisteme de operare. Capitolul 1. Configurarea rețelei locale pentru Windows XP și Windows 7 1.1 Configurarea rețelei locale pentru Windows XP Primul pas în configurație.

la rețelele locale. Prin urmare, cerințele standardelor internaționale sunt îndeplinite numai de o serie de rețele produse de firmele electronice de vârf din lume. 2.2. Clasificarea rețelelor Rețelele locale utilizate pe scară largă în tehnologiile științifice, manageriale, organizaționale și comerciale pot fi clasificate în funcție de următoarele caracteristici: 1. Prin rolul PC-ului în rețea: - rețelele cu serverul; - Peer-to-peer (.







Articole similare

Trimiteți-le prietenilor: