Algoritmul funcțiilor bibliotecii malloc

Conceptul de fișier și de sistem de fișiere. Ce este un director?

Sursa: p. 632 (Capitolul 11)

Definirea sarcinii în timp real

În general, conceptul de timp real este atunci când timpul maxim de reacție este garantat. Sarcina în timp real este o sarcină care necesită astfel de garanții (?)







Sursa: p. 36 (Introducere)

Sistemul de operare în timp real în timp real este un sistem de operare care poate oferi timpul necesar executării sarcinilor în timp real, chiar și în cele mai grave cazuri.

Soft OS în timp real - Un sistem de operare care poate oferi timpul necesar executării sarcinilor în timp real în medie. (adică, din punctul de vedere al definiției din carte, strict vorbind, acest lucru nu este, de fapt, timpul real)

Algoritmul bibliotecii funcționează ca malloc / limbaj liber C

"Blocurile mai mici sunt combinate într-o coadă cu dimensiuni proporționale cu puterile a două, ca în cele ce urmează [p. 247] algoritm de gemeni. Elementele acestor cozi se numesc fragmente. În contrast cu algoritmul pentru gemeni, nu combinăm eliberarea fragmentelor de perechi. În schimb, ne distrugem blocul de 4 KB în fragmente de aceeași dimensiune. În timp ce cel puțin un fragment al blocului este ocupat, întregul bloc este considerat ocupat "

"Descriptorii de bloc nu sunt stocați cu blocurile în sine, ci într-o matrice dinamică separată _heapinfo. Descriptorul nu este pornit pe o succesiune continuă de octeți liberi, dar pentru fiecare 4096 octeți de memorie "

De asemenea, din p.233 există o listă minunată de 14 pagini :)

Sursa: p. 231-232 (secțiunea 4.2)

Care este sistemul și modul de utilizare al procesorului?

(?) Modul supervizor este modul de operare preferat al procesorului, folosit de obicei pentru a executa kernelul sistemului de operare.

Ce este o tranzacție?

(În termeni de concurență) Un grup de operațiuni pentru modificarea unei structuri de date partajate care are loc în mod atomic (indivizibil), fără a întrerupe alte operații cu aceeași structură de date.

Sursa: p. 379 (Secțiunea 7.1)

(Definitie mai radicala, tipica pentru DBMS) Un grup de operatiuni care fie sunt realizate impreuna, fie nu sunt executate deloc.

Sursa: p. 401 (implicit, dar nu numerotat, în 7.3.4 "Introducere în procesarea tranzacțiilor")

Ce sunt semafoarele Dijkstra?

"Semaforul lui Dijkstra este o variabilă întreagă cu care este asociată coada așteptare a firelor. Încercarea de a trece prin semafor, firul încearcă să scadă din valoarea variabilei 1. Dacă valoarea variabilei> = 1, firul trece prin semafor cu succes (semaforul este deschis). Dacă variabila este 0 (semaforul este închis), firul este oprit și în coada de așteptare.

Închiderea unui semafor corespunde capturii unui obiect sau a unei resurse, acces la care este controlat de acest semafor. Dacă obiectul este capturat, firele rămase sunt obligate să aștepte eliberarea. După ce ați terminat lucrarea cu obiectul (lăsând secțiunea critică), firul mărește valoarea semaforului cu una, deschizându-l. În acest caz, primul fir de coadă este activat și scade unitatea de la valoarea semaforului, închizând din nou semaforul. Dacă coada era goală, atunci nu se întâmplă nimic, doar semaforul rămâne deschis. Apoi primul fir care sa apropiat de semafor va trece cu succes prin ea. "

Sursa: p. 394 (punctul 7.3.1)

Ce este un impas?

(Dead Lock) Ciclul de așteptare reciprocă. "Criteriul de blocare este formarea unui ciclu închis în graficul sarcinilor care se așteaptă unul pe celălalt".

Sursa: p. 386 (punctul 7.2.1)

Care este contextul procesului?

Sursa: p. 438 (secțiunea 8.2)

Care sunt procesele secvențiale care interacționează armonios?







„1. Fiecare fir (thread) este un modul software independent, pentru care este creată o iluzie a execuției pur secvențiale.

2. Firele nu au date partajate.

3. Toate schimburile de date și interacțiunea generală apar utilizând primitive speciale care efectuează simultan transferul de date și sincronizarea.

4. Sincronizarea, insotita de transferul de date, este pur si simplu lipsita de sens - firele care nu au structuri de date partajate sunt complet independente si nu au puncte critice sau module nereentrant.

NB: A treia cerință este cheia.

Sursa: p. 405 (Secțiunea 7.4)

Ce este un selector de pagină (segment) în managerii de segment și de memorie de pagini?

Sursa: p. 282, Fig. 5.1 (Capitolul 5)

Ce este un descriptor de pagină (segment) în managerii de segment și de memorie de pagini?

Sursa: p. 283 (Capitolul 5)

Care sunt încărcătoarele absolute și relative?

Sursa: p. 160 (secțiunea 3.1)

Sursa: p. 162-163 (Secțiunea 3.3)

Care este elementul tabelului de deplasare în modulul de boot relativ (mobil)?

Sursa: p. 165 (Secțiunea 3.3)

Ce este codul independent de poziție?

Sursa: p. 168 (Secțiunea 3.5)

Ce este un program de reentrant?

"Un modul software în care există cel puțin o secțiune critică pentru care excluderea reciprocă nu este furnizată se numește non-reentrant. Apelarea procedurilor unui astfel de modul din fire diferite va conduce la erori de concurență și va fi permisă numai dacă programul apelant implementează excluderea reciprocă în sine. În consecință, un modul în care nu există astfel de secțiuni sau care, în sine, oferă o excludere reciprocă pentru ele, se numește reentrant sau reentrant. În literatura engleză modernă, termenii "thread-safe" (pentru procedurile non-reentante) și "safe-safe" (respectiv, pentru reentrant) sunt adesea folosiți.

Sursa: p. 379-380 (Secțiunea 7.1)

Ce este o secțiune critică?

„Intervalul de timp în care modificarea dă integritatea structurilor de date comune, pe de altă parte, intervalul de timp în care algoritmul fire se bazează pe integritatea structurii se numește o secțiune critică. Sarcina de a scrie programul multithread corect poate fi astfel rezolvată în două moduri: fie eliminarea secțiunilor critice ale tuturor algoritmilor sau a garanțiilor software care nu există două fire nu intră simultan în secțiunea critică asociată cu același obiect partajat. "

Sursa: p. 378-379 (Secțiunea 7.1)

Inele de acces și liste de control al accesului.

"O listă de control al accesului este asociată unui obiect sau unui grup de obiecte și este un tabel ale cărui rânduri corespund conturilor de utilizator și coloanele pentru operațiile individuale care pot fi efectuate pe obiect. Înainte de efectuarea operației, sistemul caută ID-ul de utilizator în tabel și verifică dacă operația este specificată în lista drepturilor sale. Dezvoltatorii de securitate pot (și adesea sunt) obligați să ia măsuri destul de complexe pentru a reduce ACL prin oferirea de metode explicite sau implicite de combinare a utilizatorilor și a obiectelor protejate în grupuri. "

Sursa: p. 772-773 (Secțiunea 13.4)

(?) Inele de protecție - arhitectura securității informațiilor și toleranța funcțională a erorilor, care implementează separarea hardware a sistemului și a nivelurilor privilegiilor utilizatorului. Structura privilegiilor poate fi reprezentată sub forma mai multor cercuri concentrice. În acest caz, modul de sistem (modul supervizor sau inel zero, așa-numitul "inel 0"), oferind acces maxim la resurse, este un cerc intern, în timp ce modul de utilizator cu acces limitat este extern. În mod tradițional, familia de microprocesoare x86 oferă patru inele de protecție.

Sistemele de multitasking cooperative și multitaskingul preemptiv.

Cooperativ multitasking - planificatorul se bazează pe principiul comutării inițiativei unui fir activ.

Sursa: p. 435 (Secțiunea 8.1)

Dispunerea multitasking-ului este un nume comun pentru toate metodele de comutare a firului inițiate de sistem.

Sursa: p. 437 (secțiunea 8.2)

Documente conexe:

malloc funcționează mai repede decât calloc, din cauza lipsei unei funcții zero pentru memoria alocată. Parametrii dimensiunii funcției malloc. NULL altfel. freefree (versiunea în limba engleză) este o funcție a bibliotecii de limbaj standard C destinată.

Programul bibliotecii bibliotecii bord) MLIC (algoritmul de lucru, limba, limbajul liber, textul într-un limbaj dezordonat .free funcții apel funcțional; funcții de masă tabelă funcționale; șabloane funcția funcții șabloane funcționale;

funktsiimalloc. calloc, realloc, Overflow în segmentul bcc. Organizarea heapului. Algoritmul funcției libere. sistem de management al utilizatorilor, limbi de comandă. Traducătorii. OS. sisteme informatice, rețele, colecții de biblioteci și alte surse.

Z D). Z E). Z 24. Găsiți domeniul definirii funcției. A) (0; + ) B) [0; + ) C) (-; 0) D) (-.) Poate fiecare echipă să lucreze separat? limbă. 36. Care este proprietatea algoritmului. lapte. Fit. E) Fera. 4. Selectați cea corectă. Biblioteca.







Articole similare

Trimiteți-le prietenilor: