Documente Academic
Documente Profesional
Documente Cultură
Introducere
n
Sisteme de Operare
- Curs 2 13.10.2005
CPU
Memorie
Controler Video
Controler Tastatur
Magistral
Utilizarea Sistemelor de Operare 2
1.1 Procesorul Procesorul are rolul de a citi instruciunile din memorie i de a le executa Ciclul de baz al CPU:
Citete prima instruciune din memorie O decodific ( => tipul ei i operanzii) O execut Continu citirea, decodificarea i executarea instruciunilor urmtoare
Registre Fiecare CPU conine cteva registre n care se rein variabile i rezultate temporare Exist i registre speciale:
Contorul de program (program counter) Indicatorul de stiv (stack pointer) Cuvntul de stare al programului (PSW)
Procesoare mbunatite Unitile CPU moderne pot executa mai multe instruciuni simultan (band de asamblare pipeline)
Exist uniti separate pentru citire, decodificare i execuie. n timp ce se execut instruciunea n, se decodific instruciunea n+1 i ce citete n+2
O structur i mai avansat este cea a unui CPU superscalar. Acesta poate citi i decodifica mai multe instruciuni simultan, pe care le plaseaz ntr-o zon de memorie tampon. De acolo instruciunile sunt preluate de mai multe uniti de execuie specializate.
Utilizarea Sistemelor de Operare 5
Moduri de lucru ale procesorului Un CPU poate lucra n dou moduri: modul kernel i modul utilizator
Modul este comandat de un bit din PSW
Pentru a obine servicii din partea SO, un program trebuie sa iniieze un apel de sistem (system call). Comutarea ntre cele dou moduri de lucru este fcut de instruciunea TRAP, care asigura i revenirea n programul utilizator la instruciunea ce urmeaz apelului de sistem
1.2 Memoria
Cei doi parametrii ce definesc o memorie sunt: timpul de acces si capacitatea. Sistemul de memorie este construit ca o ierarhie de niveluri:
Registrele procesorului Memoria cache Memoria principal (RAM) Disc magnetic Band magnetic
Tipuri de memorie Registrele procesorului sunt foarte rapide, dar au o capacitate < 1kB Memoria principal este mprit n linii de memorie cache de 64B. Memoria cache reine liniile cele mai folosite. Memoria principal (RAM) (zeci, sute de MB) Discul magnetic (hard-disk) este un dispozitiv mecanic, timpul de acces aleator fiind cu trei ordine de mrime mai mare ca la RAM Banda magnetic este utilizat pentru arhivare Alte tipuri de memorie
Nevolatil (ROM, EEPROM, flash) Volatila (CMOS)
Utilizarea Sistemelor de Operare 8
Problemele partajrii memoriei Memoria principal poate fi partajat ntre mai multe programe. Apar nsa dou probleme:
Protejarea unui program de altul i a kernelului de toate Gestiunea realocrii de memorie
Registru de baz (reine adres de nceput a textului programului) Registru limit (precizeaz ct de mari sunt textul programului i datele)
Adresa generat de program se numete adres virtual i este mai mic dect valoarea din registrul limit Adresa utilizat de memorie se numete adres fizic i se obine prin adunarea contorului program la registrul de baz
Utilizarea Sistemelor de Operare
Limit Baz
Programe i date ale utilizatorului
Sistem de Operare 0
10
MMU Punerea n coresponden a celor dou tipuri de adrese este fcut de MMU (Memory Management Unit) Un MMU mai avansat folosete dou perechi de registre baza-limit, una pentru a delimita codul programului i alta pentru a delimita datele
Limit 2
Date
11
Deoarece exist mai multe tipuri de controlere, sunt necesare programe diferite (drivere) care sa fac legtura ntre controler i SO.
12
Adugarea unui driver Pentru a putea fi folosit, un driver trebuie adugat SO astfel nct sa poat rula n mod kernel. Acest lucru se poate realiz n trei moduri:
Se recompileaz kernel-ul cu noul driver i se restarteaz sistemul (specific UNIX-ului) Se realizeaz o intrare ntr-un fiier al SO specificndu-i ca are nevoie de driver i se restarteaz sistemul, acesta ncrcnd driverul la repornire (specific Windows-ului) Driverul se poate instala din mers, fr ca sistemul sa fie reiniializat (de ex: dispozitivele ce folosesc interfaa USB)
13
Operaii I/E
Operaiile de intrare-ieire se pot realiz n trei moduri:
Busy waiting:
Apelul de sistem apel de procedur pentru driver Driverul pornete dispozitivul i rmne ntr-o bucl de interogare pn cnd se realizeaz operaiile cerute Driverul transfer datele i se ntoarce n program
Folosind ntreruperi
Driverul pornete dispozitivul i solicit o ntrerupere la terminarea activitii. SO l blocheaz pe apelant i execut alte operaii. La sfritul activitii controlerul genereaz ntreruperea i SO revine n programul apelant
Gestionarea ntreruperilor
CPU poate dezactiva ntreruperile pentru un timp. Dac mai multe dispozitive genereaz ntreruperi n acest timp, controlerul de ntreruperi le va trata n funcie de o ierarhie static de prioriti
15
1.4 Magistrale Pe varianta original de IBM PC exista o singur magistral. Cu timpul aceasta a devenit insuficient i au fost adugate magistrale suplimentare:
Cache de nivel 2
Magistrala pentru memoria cache
CPU
Magistrala local
Magistrala cu memoria
Memorie principal
SCSI
USB
Disc IDE
Magistrala ISA
Modem
Plac de sunet
Imprimant
16
Cele mai importante sunt magistralele ISA i PCI Conceptul de Plug and Play definete un PC ce nu necesit instalare (managementul nivelurilor de ntrerupere i al adreselor de I/E este fcut de sistem)
Utilizarea Sistemelor de Operare 17