Silberschatz, Galvin and Gagne 2003 Operating System Concepts with Java Capitolul 2: Structura Sistemelor de Calcul [626103]

102.1
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Capitolul 2: Structura Sistemelor de Calcul
Func ționarea unui Sistem de Calcul
Structura I/E
Structura de Stocare
Ierarhia de Stocare
Protec ția Hardware
Structura Re țelei

102.2
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Un Sistem de Calcul Modern

102.3
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Funcționarea unui Sistem de Calcul
Dispozitivele I/E și CPU-ul pot s ă proceseze concurent
Fiecare controller de dispozitiv este îns ărcinat cu un anumit tip
de dispozitiv
Fiecare controller de dispozitiv are un buffer loca l
CPU mut ă date din/în memoria principal ă în/din bufferele locale
I/E este de la dispozitiv la buffer-ul local al con trollerului
Controllerul de dispozitiv informeaz ă CPU că și-a terminat
opera ția cauzând o întrerupere

102.4
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Funcții comune ale întreruperilor
În general o întrerupere determin ă transferul controlului la rutina
de tratare a întreruperii, folosind vectorul de întrerupere , care
con ține adresele tuturor rutinelor de tratare
Arhitectura de întreruperi trebuie s ă salveze adresa instruc țiunii
întrerupte
Întreruperile care ar ap ărea sunt dezactivate în timpul proces ării
unei alte întreruperi pentru a preveni pierderea un ei întreruperi
Întreruperile software ( trap ) sunt cauzate fie de o eroare sau o
cerere utilizator
Un sistem de operare este func ționeaz ă pe baza întreruperilor

102.5
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Tratarea Întreruperilor
Sistemul de operare p ăstreaz ă starea CPU prin salvarea
regiștrilor și a contorului program
Determin ă ce tip de întrerupere a ap ărut:
Prin polling
Sistem bazat pe vector
Rutine nucleu separate determin ă ce fel de ac țiune trebuie
efectuat ă pentru fiecare tip de întrerupere

102.6
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Graficul în timp a întreruperilor pentru un program care
efectueaz ă ie șiri

102.7
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Structura I/E
I/E Sincron ă–Dup ă ce porne ște opera ția de I/E, controlul se întoarce
la programul utilizator doar dup ă finalizarea opera ției de I/E
Instruc țiunea Wait face CPU s ă fie inactiv pân ă la urm ătoarea întrerupere
Ciclul Wait (disput ă pentru acces la memorie)
Cel mult o cerere de I/E poate fi în a șteptare la un moment dat, nu exist ă
procesare I/E simultan ă
I/E Asincron ă–Dup ă ce porne ște opera ția de I/E, controlul se
întoarce la programul utilizator f ără s ă a ștepte finalizarea opera ției de
I/E
Apel sistem (System call) – cerere c ătre sistemul de operare pentru a
permite ca utilizatorul s ă a ștepte terminarea unei I/E
Tabela cu starea dispozitivelor (Device-status tabl e)con ține câte o intrare
pentru fiecare dispozitiv I/E indicând tipul, adres a și starea sa
Sistemul de operare indexeaz ă tabela dispozitivelor I/E pentru a
determina starea dispozitivelor și a modifica intrarea pentru a include
întreruperea

102.8
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Două metode de I/E
Sincron Asincron

102.9
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Tabela cu Starea Dispozitivelor

102.10
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Structura Accesului Direct la Memorie (DMA)
Folosit pentru dispozitive I/E de vitez ă mare capabile s ă
transmit ă date cu vitez ă apropiat ă de a memoriei
Controller-ul dispozitivului transfer ă blocuri de date din buffer-ul
de stocare direct în memoria principal ă, fără interven ția CPU
O singur ă întrerupere este generat ă per bloc, în loc de o
întrerupere pe byte

102.11
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Structura de Stocare
Memoria principal ă–singurul mediu de stocare pe care CPU îl
poate accesa direct
Memoria secundar ă–extensie a memoriei principale care ofer ă
o capacitate de stocare mare nevolatil ă
Discuri magnetice –platane rigide de metal sau sticl ă acoperite
cu material magnetic
Suprafa ța discului este divizat logic în piste , care sunt subdivizate în
sectoare
Controllerul de disc determin ă interac țiunea logic ă dintre dispozitiv
și calculator

102.12
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Mecanismul de Capete -Mi șcătoare ale
Discului

102.13
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Ierarhia de Stocare
Sistemele de stocare organizate ierarhic
Vitez ă
Cost
Volatilitate
Caching –copierea informa țiilor într-un sistem de stocare mai
rapid; memoria principal ă poate fi privit ă ca și un ultim cache
pentru memoria secundar ă

102.14
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Ierarhia Dispozitivelor de Stocare

102.15
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Caching
Folosirea memoriei de mare vitez ă pentru a stoca data accesate
recent
Necesit ă o politic ă de cache management
Caching introduce un nivel suplimentar în ierarhia de stocare.
Aceasta necesit ă ca datele care sunt stocate simultan în mai mult
de un nivel s ă fie consistente

102.16
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Migrarea unui Întreg “A” de la Disc în Registru

102.17
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Protecția Hardware
Opera ții Dual-Mode
Protec ții I/E
Protec ția Memoriei
Protec ția CPU

102.18
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Operare Dual-Mode
Partajarea resurselor sistem necesit ă ca sistemul de operare s ă
asigure c ă un program incorect sau un utilizator r ăuvoitor s ă nu
poat ă duce la execu ția incorect ă a altor programe
S.O. trebuie s ă aibe suport din partea hardware pentru a
diferen ția între cel pu țin dou ă moduri de operare
1. Mod utilizator (User mode) –execu ția este efectuat ă în contul
utilizatorului
2. Mod monitor (Monitor mode) (deasemenea kernel mode sau system
mode ) –execu ția este efectuat ă în contul sistemului de operare

102.19
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Operare Dual-Mode (Cont.)
Bit de Mod ad ăugat la hardware-ul calculatorului pentru a
indica modul curent: monitor (0) sauuser (1)
Când apare o întrerupere sau eroare, hardware-ul tr ece
în modmonitor
Instruc țiuni privilegiate pot fi executate doar în mod monitor monitor user Întrerupere/Eroare
seteaz ăuser mode

102.20
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Protecția I/E
Toate instruc țiunile I/E sunt instruc țiuni privilegiate
Trebuie s ă se asigure c ă un program utilizator nu ar putea
câ știga niciodat ă controlul asupra calculatorului în mod monitor
(ex.,un program utilizator care, ca și parte a execu ției sale,
stocheaz ă o nou ă adres ă în vectorul de întreruperi)

102.21
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Folosirea unui apel Sistem pentru a efectua o
opera ție de I/E

102.22
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Protecția Memoriei
Trebuie s ă ofere protec ție cel pu țin pentru vectorul de întreruperi
și rutinele de tratare a întreruperilor
Pentru a avea protec ția memoriei, trebuiesc ad ăugate cel pu țin
doi regiștri care s ă determine intervalul de adrese legale pe care
un program poate s ă le acceseze:
Registru de Baz ă–memoreaz ă cea mai mic ă adres ă fizic ă legală
Registrul Limit ă–con ține dimensiunea intervalului
Memoria din afara intervalului definit este proteja tă

102.23
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Folosirea unui Registru de Baz ă și a
unui Registru Limit ă

102.24
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Protecție Hardware a Adreselor

102.25
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Protecția Hardware
Când se execut ă în mod monitor, sistemul de operare are acces
liber atât la memoria monitor cât și utilizator
Instruc țiunile de înc ărcare a regiștrilor de baz ăși limităsunt
instruc țiuni privilegiate

102.26
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Protecția CPU
Timer –întrerupe calculatorul dup ă o perioad ă specificată pentru
a asigura c ă sistemul de operare men ține controlul
Timer-ul este decrementat la fiecare tact de ceas
Când timer-ul ajunge la 0, se declan șeaz ă o întrerupere
Timer-ul este folosit deobicei pentru implementarea diviz ării
timpului
Timer-ul este deasemenea folosit pentru calcularea timpului
curent
Înc ărcarea timer-ului este o instruc țiune privilegiat ă

102.27
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Arhitectura General ă a Sistemului
Fiind dat faptul c ă instruc țiunile I/E sunt privilegiate, cum anume
efectueaz ă programele utilizator opera ții de I/E?
Apel sistem (System call)–metoda folosit ă de c ătre un proces
pentru a cere o ac țiune de la sistemul de operare
De obicei ia forma unei întreruperi soft, la o anumit ă loca ție din
vectorul de întreruperi
Controlul trece prin vectorul de întreruperi la o ruti n ă de tratare din
S.O., și bitul de mod este setat pe mod monitor
Monitorul verific ă dac ă parametri sunt corect și legali, execut ă
cererea, și întoarce controlul la instruc țiunea care urmeaz ă apelului
sistem

102.28
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Structura de Re țea
Re țele Locale(LAN)
Re țele Globale(WAN)

102.29
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Structura unei Re țele Locale

102.30
Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Structura unei Re țele Globale

Similar Posts