Date post: | 03-May-2019 |
Category: |
Documents |
Upload: | truongdien |
View: | 230 times |
Download: | 0 times |
1
Universitatea POLITEHNICA Bucureşti
Dispozitive de intrare iesire
Utilizarea Sistemelor de Operare
- Curs 8 -
23.11.2005
2Utilizarea Sistemelor de Operare
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
2
3Utilizarea 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
4Utilizarea 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)
3
5Utilizarea Sistemelor de Operare
Controller-e I/O (2)
6Utilizarea 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;
4
7Utilizarea 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)
8Utilizarea 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
5
9Utilizarea 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
10Utilizarea Sistemelor de Operare
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
6
11Utilizarea Sistemelor de Operare
Intreruperi (2)
12Utilizarea Sistemelor de Operare
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
7
13Utilizarea Sistemelor de Operare
Ierarhia sistemului I/O
14Utilizarea Sistemelor de Operare
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
8
15Utilizarea Sistemelor de Operare
Driver-e de dispozitiv (2)
16Utilizarea Sistemelor de Operare
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
9
17Utilizarea Sistemelor de Operare
Discuri
• discuri magnetice: hard disk, floppy disk
• arrays of disks: RAID
• discuri optice: CD-ROM, DVD
18Utilizarea Sistemelor de Operare
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
10
19Utilizarea Sistemelor de Operare
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
20Utilizarea Sistemelor de Operare
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)
11
21Utilizarea Sistemelor de Operare
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
22Utilizarea Sistemelor de Operare
RAID (2)
12
23Utilizarea Sistemelor de Operare
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
24Utilizarea Sistemelor de Operare
RAID (4)
13
25Utilizarea Sistemelor de Operare
Get perpendicular
• http://www.hitachigst.com/hdd/research/recording_head/pr/index.html
26Utilizarea Sistemelor de Operare
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
14
27Utilizarea Sistemelor de Operare
CD-ROM (2)
• zona cu “pits” (bumps) si “lands”
• caracteristica pentru structura unui CD
28Utilizarea Sistemelor de Operare
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)
15
29Utilizarea Sistemelor de Operare
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
30Utilizarea Sistemelor de Operare
DVD (3)
16
31Utilizarea Sistemelor de Operare
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
32Utilizarea Sistemelor de Operare
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
17
33Utilizarea Sistemelor de Operare
Formatarea unui disc (3)
• ultimul disc este formatarea de nivel inalt (high-level 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