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:

CPU

Memorie

Monitor

Tastatur

Unitate
de
floppy

Hard
Disk

Controler
Video

Controler
Tastatur

Controler
Floppy
Disk

Controler
Hard
Disk

Magistral
Utilizarea Sistemelor de Operare

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

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

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)

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

Programe i date
ale utilizatorului

Limit
Programe i date
ale utilizatorului

Baz

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

15

Utilizarea Sistemelor de Operare

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:
Magistrala pentru
memoria cache

Cache de
nivel 2

CPU

Magistrala
local

Punte ctre
magistrala PCI

Magistrala cu
memoria

Memorie
principal

Magistrala
PCI
Magistrala SCSI

SCSI

Magistrala USB

USB

Punte ctre
magistrala ISA

Magistrala
IDE

Disc IDE

Magistrala
ISA

Modem

Utilizarea Sistemelor de Operare

Plac de
sunet

Imprimant

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

S-ar putea să vă placă și