Sunteți pe pagina 1din 9

Utilizarea Sistemelor de Operare

Introducere
n

Sisteme de Operare
- Curs 2 13.10.2005

Universitatea POLITEHNICA Bucureti

1. Elemente de structur hardware

Principial, un calculator personal simplu poate fi redus la urmtorul model:


Monitor Tastatur Unitate de floppy Controler Floppy Disk Hard Disk

CPU

Memorie

Controler Video

Controler Tastatur

Controler Hard Disk

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

Fiecare CPU are un set specific de instruciuni pe care le poate executa

Utilizarea Sistemelor de Operare

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)

Utilizarea Sistemelor de Operare

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

Utilizarea Sistemelor de Operare

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

Utilizarea Sistemelor de Operare

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

Utilizarea Sistemelor de Operare

Partajarea memoriei Se folosesc dou registre:


0xFFFFFFFF

Registru de baz (reine adres de nceput a textului programului) Registru limit (precizeaz ct de mari sunt textul programului i datele)

Programe i date ale utilizatorului

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

Baz 2 Limit 1 Cod surs Baz 1

Utilizarea Sistemelor de Operare

11

1.3 Dispozitivele de I/E

Principial sunt alctuite din dou blocuri:


Controler (comand nivelul fizic al dispozitivului) Dispozitivul propriu-zis (cu interfa standard pentru asigurarea compatibilitii cu controlerul)

Deoarece exist mai multe tipuri de controlere, sunt necesare programe diferite (drivere) care sa fac legtura ntre controler i SO.

Utilizarea Sistemelor de Operare

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)

Utilizarea Sistemelor de Operare

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

Se utilizeaz Direct Memory Access:


CPU precizeaz numrul de octei de transferat, dispozitivul i adresa implicate i sensul Transferul propriu-zis este controlat de ctre chipul de DMA, fr intervenia CPU La finalizarea transferului chipul de DMA genereaz o ntrerupere
Utilizarea Sistemelor de Operare 14

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

Utilizarea Sistemelor de Operare

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

Punte ctre magistrala PCI

Magistrala cu memoria

Memorie principal

Magistrala PCI Magistrala SCSI Magistrala USB Magistrala IDE

SCSI

USB

Punte ctre magistrala ISA

Disc IDE

Magistrala ISA

Modem

Plac de sunet

Imprimant

Utilizarea Sistemelor de Operare

16

Tipuri de magistrale Acest sistem are 8 magistrale:


Magistrala pentru memoria cache Magistrala local Magistrala pentru memorie Magistrala PCI (Peripheral Component Interconnect) Magistrala SCSI (Small Computer System Interface) Magistrala USB (Universal Serial Bus) Magistrala IDE (Integrated Drive Electronics) Magistrala ISA (Industry Standard Architecture)

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