Documente Academic
Documente Profesional
Documente Cultură
Fiecare dispozitiv de I/O are asociat un vector de ntreruperi care conine adresele procedurilor
serviciului de ntreruperi. S presupunem ca procesul1 se afl n execu ie i are loc o
ntrerupere hardware.
1. La momentul ntreruperii PC, PSW(program status word) i regi trii afereni
procesului sunt stocai n stiv.
2. Computerul trece apoi la adresa specificat de vectorul de ntrerupere (din acest
moment prsim zona hardware)
3. La apelul procedurii, se salveaz regi trii procesului1 n tabela de procese (se
realizeaz n cod de asamblare).
4. Se golete stiva i SP puncteaz ctre o stiv temporar utilizat de rutina
procesului2(se realizeaz n cod de asamblare).
5. Se execut rutina procesului2 i se apeleaz o procedur scris n limbaj evoluat (C)
care realizeaz task-ul pentru care procesul2 a fost lansat.
6. Planificatorul de procese preia controlul i decide care proces va fi lansat ulterior
procesului2.
Ce reprezinta un thread?
Threadul este cea mai mica unitate de procesare care poate fi programata de un sistem de
operare.
Fire de execuie-Thread
(a) Trei procese, fiecare deine propriul thread
(b) Un proces cu trei thread-uri
Ce inseamna multithreading?
Termenul multithread se poate referi la faptul ca mai multe threaduri exista in acelasi proces
sau rularea in paralel a mai multor threaduri, echivalentul mai multor procese rulate pe acelasi
calculator.
Modele:
Kernel-level threading threaduri create de utilizator care au corespondenta 1-1 cu entitati
din kernel. Este cea mai simpla implementare de threaduri.
User-level threading (many to one)- toate threadurile de la nivel de aplicatie ajung intr-o
singura entitate de la nivel kernel. Singurul dezavantaj major este ca nu poate beneficia de accelerare
hardware pe procesoarele multithread sau pe sistemele multi-procesor.
Hybrid threading (many to many) un numar de threaduri de aplicatii ajung la un numar de
entitati kernel (procesoare virtuale). Acesta este un compromis intre ULT si KLT. Este mai complex
de implementat decat celelalte doua.
Descrieti modelul unui thread.