Sunteți pe pagina 1din 17

Utilizarea Sistemelor de Operare

Dispozitive de intrare iesire

- Curs 8 23.11.2005

Universitatea POLITEHNICA Bucureti

La ce ne referim?

dispozitive de intrare/iesire (I/O devices): tastatura, mouse, monitor, imprimanta, placa de retea, etc. controller-e de intrare/iesire comunicatia sistemului de operare cu dispozitivele de intrare/iesire = programare I/O(intreruperi/drivere) interfetele puse la dispozitia utilizatorului

Utilizarea Sistemelor de Operare

Ce este un dispozitiv I/O?

orice dispozitiv care permite introducerea sau extragerea de informatie din calculator dispozitive de intrare: tastatura, mouse, joystick; dispozitive de iesire: monitor, imprimanta, boxe; dispozitive de intrare & iesire: placa de retea, modem, harddisk, floppy disk, USB stick (dispozitive de stocare) clasificarea se realizeaza din punct de vedere al calculatorului

Utilizarea Sistemelor de Operare

Controller-e I/O

de obicei, un I/O device este alcatuit dintr-o componenta mecanica si una electrica (de exemplu la harddisk, floppy disk, imprimanta) pentru un design modular, componenta electrica se considera separata si se numeste controller (adapter) conectarea dispozitivului fizic la controller se realizeaza prin intermediul unui conector (conectori)

Utilizarea Sistemelor de Operare

Controller-e I/O (2)

Utilizarea Sistemelor de Operare

Controller-e I/O (3)

un controller este o interfata a dispozitivului periferic vazuta de sistemul de operare; programarea dispozitivului se realizeaza prin intermediul controller-ului asociat; rolul controller-ului este de a transforma comanda primita de la procesor in informatie specifica dispozitivului; tipuri de controller-e: SCSI, RAID, keyboard controller, disk controller, graphics controller;

Utilizarea Sistemelor de Operare

Controller-e I/O (4)

un controller detine un set de registre utilizate pentru comunicatia cu procesorul prin scrierea in aceste registre sistemul de operare poate comanda dispozitivul sa transmita informatie, sa citeasca informatie, sau orice alta actiune majoritatea dispozitivelor detin un buffer intern unde se stocheaza informatia (de exemplu video RAM)

Utilizarea Sistemelor de Operare

Direct I/O
cum se acceseaza un registru al unui controller? se asociaza fiecarui registru un port (numar pe 8 sau 16 biti) pentru scrierea informatiei in registru in reg, port pentru citirea informatie din registru out port, reg spatiile de adresa pentru memorie si I/O sunt distincte

Utilizarea Sistemelor de Operare

Memory mapped I/O


se mapeaza registrele de control in spatiul de memorie <=> fiecarui registru de control i se asociaza o adresa de memorie care nu este utilizata avantajul folosirii memory mapped I/O -> forma de adresare universala atat a variabilelor cat si a registrelor, nu este nevoie de mecanism de protectie pentru o viteza mai mare se foloseste o magistrala speciala (bus) pentru comunicatia intre procesor si memorie
Utilizarea Sistemelor de Operare 9

Intreruperi

o prima varianta la comunicatia procesorului cu dispozitivele I/O este polling <=> procesorul interogheaza periodic dispozitivul; dezavantaj -> timp pierdut alternativa este folosirea intreruperilor: de cate ori un dispozitiv poate transmite sau a primit informatie, lanseaza o intrerupere catre procesor intrerupere -> semnal transmis pe o linie rezervata catre controller-ul de intreruperi

Utilizarea Sistemelor de Operare

10

Intreruperi (2)

Utilizarea Sistemelor de Operare

11

Intreruperi (3)
o intrerupere este detectata de controller-ul de intreruperi controller-ul asociaza are un set de prioritati pentru tipurile de intreruperi in cazul a doua cereri de intreruperi simultane, cea mai prioritara va fi transmisa catre procesor procesorul isi intrerupe activitatea si executa o actiune asociata (interrupt handler) tratarea unei intreruperi este precedata de salvarea contextului curent de rulare
Utilizarea Sistemelor de Operare 12

Ierarhia sistemului I/O

Utilizarea Sistemelor de Operare

13

Driver-e de dispozitiv

de obicei numite device drivers fiecare dispozitiv are asociata o bucata de cod (un program specific) pentru controlul acestuia -> device driver de obicei sunt scrise de producatorii dispozitivului de obicei sunt parte a kernel-ului (a nucleului sistemului de operare) un device driver controleaza un tip de dispozitiv sau o clasa de dispozitive

Utilizarea Sistemelor de Operare

14

Driver-e de dispozitiv (2)

Utilizarea Sistemelor de Operare

15

Driver-e de dispozitiv (3)

device driver-e de tip bloc


- lucreaza cu blocuri de date - cd-rom, hard disk, floppy disk, usb stick

device driver-e de tip caracter


- lucreaza cu datele la nivel de caracter (octet) - tastatura, mouse

Utilizarea Sistemelor de Operare

16

Discuri

discuri magnetice: hard disk, floppy disk arrays of disks: RAID discuri optice: CD-ROM, DVD

Utilizarea Sistemelor de Operare

17

Discuri magnetice
cele mai incete dispozitive ale calculatorului (cea mai slaba evolutie) organizate in platane -> cilindre -> piste -> sectoare discurile IDE (Integrated Drive Electronics) contin un controller care functioneaza la fel ca un controller obisnuit magistrale pentru accesul informatiei: ATA (Advanced Technology Attachment), SCSI (Small Computer System Interface), USB, Fibre Channel
Utilizarea Sistemelor de Operare 18

Discuri magnetice (2)


structura unui hard disk (figura 1) zonele externe au o suprafata mai mare hard disk-urile moderne contin numar diferit de sectoare per zona (figura 2) cele interne contin mai putine sectoare

Utilizarea Sistemelor de Operare

19

Discuri magnetice (3)

Caracteristici
capacitate (GigaBytes) dimensiune (fizica) 3.5 pentru desktop; 2.5 pentru laptop rata de transfer (40 MB/s - 120 MB/s) random acces time (5ms 15 ms) dimensiunea buffer-ului (caching) marketing capacity vs. true capacity (GB vs. GiB) un hard disk precizat la 200 GB are de fapt 186.26 GB)

Utilizarea Sistemelor de Operare

20

10

RAID
Redundant Array of Inexpensive Disks aplicarea prelucrarii paralele in domeniul I/O ce se intampla? se inlocuieste controller-ul de disc pentru un calculator cu un controller RAID, se copiaza informatia pe RAID si se continua un sistem RAID contine un controller RAID SCSI si un set de discuri SCSI (setul apare insa sistemului de operare ca un singur disc) sistemele RAID au datele distribuite in cadrul dispozitivelor posibilitate de prelucrare paralela
Utilizarea Sistemelor de Operare 21

RAID (2)

Utilizarea Sistemelor de Operare

22

11

RAID (3)
6 scheme de distributie a datelor: RAID level 0 RAID level 5 RAID 0 nu are o redundanta a datelor RAID 1 dubleaza performanta la citire RAID 2 lucreaza la nivel de octet foloseste un cod de detectie si corectie a erorilor (Hamming) RAID 3 versiune simplicficata a lui RAID 2 RAID 4,5 lucreaza cu blocuri de informatie, plus o parte de detectie si corectie de erori mai exista RAID 6, RAID 10, RAID 50, RAID0+1
Utilizarea Sistemelor de Operare 23

RAID (4)

Utilizarea Sistemelor de Operare

24

12

Get perpendicular

http://www.hitachigst.com/hdd/research/recording_head/pr/index.html

Utilizarea Sistemelor de Operare

25

CD-ROM
discuri optice densitate mai mare de inregistrare a datelor decat discurile magnetice un laser cu infrarosii creaza gauri intr-un disc metalic cu invelis de sticla scrierea unui CD pentru citire se foloseste o dioda laser de intensitate redusa de obicei se foloseste tranzitia dintr-o zona adanca intr-o zona plata ca si 1 logic si cealalta tranzitie ca si 0 logic
Utilizarea Sistemelor de Operare 26

13

CD-ROM (2)

zona cu pits (bumps) si lands caracteristica pentru structura unui CD

Utilizarea Sistemelor de Operare

27

DVD (1)

initial Digital Video Disk actualmente Digital Versatile Disk aceleasi materiale ca la CD deosebiri fata de CD gauri mai mici, spirale mai grupate, folosirea unui laser rosu capacitate 4.7 GB viteza de lucru 1.4 MB/s (fata de 150 KB/s la CD)

Utilizarea Sistemelor de Operare

28

14

DVD (2)

Tipuri single-sided, single-layer 4.7 GB single-sided, dual-layer 8.5 GB double-sided, single-layer 9.4 GB double-sided, double-layer 17 GB

Utilizarea Sistemelor de Operare

29

DVD (3)

Utilizarea Sistemelor de Operare

30

15

Formatarea unui disc (2)

dupa formatare, discul este partitionat din punct de vedere logic, o partitie este un disc separat pe unele sisteme (cum sunt si Intel, AMD) sectorul 0 contine MBR (master boot record) care contine bucati de cod si tabela de partitii tabela de partitii contine sectorul de start si dimensiunea fiecarei partitii

Utilizarea Sistemelor de Operare

31

Formatarea unui disc

hard disk: stiva de platane de aluminiu sau sticla inainte de utilizare fiecare platan trebuie sa primeasca o formatare low level din software low level format crearea unor piste concentrice si a unor sectoare pe fiecare pista un sector contine un preambul, un spatiu de date si cativa octeti folositi pentru detectia si corectia erorilor low level format -> capacitatea se reduce

Utilizarea Sistemelor de Operare

32

16

Formatarea unui disc (3)

ultimul disc este formatarea de nivel inalt (highlevel format) separat pentru fiecare partitie la high-level format se creeaza un bloc de boot, un director de baza si un sistem de fisiere gol se adauga in tabela de partitii tipul de sistem de fisiere utilizat secventa de rulat la pornirea sistemului: BIOS, MBR, sectorul de boot al partitiei active, (bootloader, ) sistemul de operare

Utilizarea Sistemelor de Operare

33

17