11. Организация на входа и изхода и планиране (разписание) на диска

11.1. I/O устройства
- Human-readable - видео-дисплей терминали, принтери
- Mashine-readable - дискове, ленти, контролери
- Communication - мрежови карти и модеми
Различия при различните I/O устройства:
 -- скорост на работа с данните
 -- приложения
 -- сложнаст на управление
 -- единица пренасяни данни
 -- представяне на данните
 -- състояния при грешки
Примери на I/O устройства:

Device Purpose Partner Data Rate (kilobytes/s)
Keyboard Input Human         0.01
Mouse Input Human         0.02
Voice input Input Human         0.02
Scanner Input Human  200
Voice output  Output Human         0.6
Line printer Output Human        1
Laser printer Output Human    100
Graphics display Output Human 30000
CPU to frame buffer Output Human    200
Network-terminal Input or output Machine        0.05
Network-LAN Input or output Machine   200
Optical disk Storage Machine   500
Magnetic type Storage Machine  2000
Magnetic disk Storage Machine  2000

11.2. Организация на функциите на I/O
 Програмирани I/O,  I/O основани на прекъсвания,  пряк достъп до паметта
** Еволюция на функциите на I/O
  1. Процесорът пряко управлява периферията;
  2. Контролер или I/O модул, управление без прекъсвания
  3. Контролер или I/O модул, управление с прекъсвания
  4. DMA - процесорът участва само в началото и в края на предаване на данните
  5. I/O модула е отделен процесор, който работи директно с паметта без CPU
  6. I/O модула е отделен процесор със собствена памет
** Пряк достъп до паметта (DMA)
--- FIGURE 11.1 ---
--- FIGURE 11.2 ---
--- FIGURE 11.3 ---



11.3. Проектиране и организация на I/O в ОП
** Цели
** Логическа структура на I/O функциите
--- FIGURE 11.4 ---


11.4. Буфериране на входа и изхода
--- FIGURE 11.5 ---
** Единичен буфер
** Двоен буфер
** Кръгов буфер


11.5. Разписание на диска
** Параметри на работа на диска
--- FIGURE 11.6 ---
 -- Време за търсене (Seek Time)
 -- Закъснение при въртене (Rotational Delay)
 -- Време за прехвърляне (Transfer Time)
 -- Сравнения
Пример: Диск с:
    - рекламирана скорост на търсене (seek time) 20 ms;
    - скорост на пренасяне (transfer rate) 1MB/s;
    - 512-байтови сектори (sectors) с 32 сектора в пътечка (track).
  Заявка за четене на файл от 128K байта, значи 256 сектора.
А. Предполагаме, че файлът е разположен на последователни сектори.
За първата пътечка имаме:
Време за достъп  20 ms
Закъснение при въртене  8.3 ms
Четене на 32 сектора 16.7  ms
Общо 45 ms
За следващите пътечки имаме:
Закъснение при въртене  8.3 ms
Четене на 32 сектора 16.7  ms
Общо 25 ms
Получаваме всичко 45 + 7x25 = 220 ms = 0.22 s
Б. Предполагаме, че файлът е разположен на случайни сектори на диска.
За всеки сектор имаме:
Време за достъп  20 ms
Закъснение при въртене  8.3 ms
Четене на 1 сектор 0.5  ms
Общо 28.8 ms
Получаваме всичко 256x28.8 = 7373 ms =7.37 s
    Разположението на секторите на файла върху диска има страхотен ефект за скоростта на достъп до файла.
** Политика при разписания на диска
FIFO 
(starting at track 100)
SSTF
(starting at track 100)
SCAN(starting at track 100, forward) C-SCAN(starting at track 100, forward)
 
Next track accessed Number of tracks trasfered
55
58
39
18
90
160
150
38
184
45
3
19
21
72
70
10
112
146
Average seek length 55.3
 
Next track accessed Number of tracks trasfered
90
58
55
39
38
18
150
160
184
10
32
3
16
1
20
132
10
24
Average seek length 27.5
 
Next track accessed Number of tracks trasfered
150
160
184
90
58
55
39
38
18
50
10
24
94
32
3
16
1
20
Average seek length 27.8
 
Next track accessed Number of tracks trasfered
150
160
184
18
38
39
55
58
90
50
10
24
166
20
1
16
3
32
Average seek length 35.8

  -- Приоритет
  -- Последен влязъл, пръв излязъл (LIFO)
  -- Най-малко време за обслужване (Shortest Service Time First)
  -- SCAN
  -- C-SCAN
  -- N стъпки SCAN и FSCAN



11.6. RAID (Redundant Array of Independent Disks)
--- FIGURE 11.9 ---



11.7. Дисков кеш
--- FIGURE 11.10 ---