Top Banner
Лекция Лекция 9 9 I/O I/O Управление и Управление и Disk Scheduling Disk Scheduling
70

Лекция 9 I/O Управление и Disk Scheduling. Roadmap I/O Devices Organization of the I/O Function Operating System Design Issues I/O Buffering

Mar 31, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Лекция Лекция 99

I/O I/O Управление иУправление и Disk Disk SchedulingScheduling

Page 2: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 3: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

I/O DevicesI/O Devices

Управлението на Управлението на I/O I/O е сложна задача на е сложна задача на

ОС. Необходимо е да е:ОС. Необходимо е да е:Разбираемо за потребителитеРазбираемо за потребителитеРАзбираемо за механизмите (х/с)РАзбираемо за механизмите (х/с)Комуникациите и преноса на информацияКомуникациите и преноса на информация

Page 4: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Устройства с които комуникираУстройства с които комуникирапотребителяпотребителя

Video displayVideo displayКлавиатураКлавиатураМишкаМишкаПринтериПринтериСкенериСкенериКамериКамериПлотериПлотери

Page 5: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

I/O I/O свързани не пряко с свързани не пряко с потребителяпотребителя

Свързани са с комуникацията с Свързани са с комуникацията с електроникатаелектрониката

Дискови драйвериДискови драйвериUSB USB драйвердрайверСензориСензориКонтролериКонтролери

Page 6: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

КомуникацияКомуникация

Използвате се за връзка с отдалечени Използвате се за връзка с отдалечени устройстваустройстваМодемиМодемиДрайвери свързани с комуникациитеДрайвери свързани с комуникациите

Page 7: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Разлики м/уРазлики м/у I/O I/O устройстваустройства

Различват се в различни областиРазличват се в различни областиСкорост на обмен на данни и информацияСкорост на обмен на данни и информацияПриложенияПриложенияСложност на управлението и контролаСложност на управлението и контролаЕдиници за трансфер/обменЕдиници за трансфер/обменПредставяне на даннитеПредставяне на даннитеУсловия за грешкиУсловия за грешки

Page 8: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Скорост на обмен на данниСкорост на обмен на данни

Page 9: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Необходими ПриложенияНеобходими Приложения

Софтуер за управление на файлове ако са Софтуер за управление на файлове ако са съхранявани на дадено устройствосъхранявани на дадено устройство

Диск използваДиск използванн за съхранение на за съхранение на виртуални страници памет се нуждае от виртуални страници памет се нуждае от специалспециаленен хардуер и софтуер, за да го хардуер и софтуер, за да го подподдържатдържат

Терминал използваТерминал използванн от системен от системен администратор може да има по-висок администратор може да има по-висок приоритетприоритет

Page 10: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Слойност на контролаСлойност на контрола

ППринтерринтерътът изисква сравнително прост изисква сравнително прост интерфейс за контрол интерфейс за контрол ..

Управлението на диска е с по-висока Управлението на диска е с по-висока сложностсложност..

Сложността на контрола на Сложността на контрола на устройството е в пряка зависимост от устройството е в пряка зависимост от неговата сложностнеговата сложност..

Page 11: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Единици на обменЕдиници на обмен

Данните се обменят чрез :Данните се обменят чрез :

Потоци от битове и символиПотоци от битове и символиПо-големи блокове паметПо-големи блокове памет

Page 12: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Представяне на даннитеПредставяне на данните

Различните системи предоставят Различните системи предоставят различни системи за енкодинг на различни системи за енкодинг на данните, както се поддържат и различни данните, както се поддържат и различни конвенцииконвенции

Page 13: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Условия на грешкаУсловия на грешка

Разглеждаме следните аспекти :Разглеждаме следните аспекти :

Начина по който се докладват самите Начина по който се докладват самите грешкигрешки

Последствията от тяхПоследствията от тяхНабор от мерки за реакция при грешкиНабор от мерки за реакция при грешки

Page 14: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 15: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Техники зТехники зaa представяне на представяне на I/OI/O

ПрограмираниПрограмирани I/O I/OПрекъсване – Продължение Прекъсване – Продължение I/O I/OДиректен достъп до паметтаДиректен достъп до паметта (DMA) (DMA)

Page 16: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Еволюция наЕволюция на I/O I/O функциифункции

1.1. ПроцесорПроцесорътът пряко контролира пряко контролира периферно устройствопериферно устройство

2.2. Добавят се контролери и Добавят се контролери и I/OI/O модули модули Процесор използва програмиран I / O, без Процесор използва програмиран I / O, без

да прекъсвада прекъсва Процесора не е необходимо да управлява Процесора не е необходимо да управлява

директно периферията (детайлите на директно периферията (детайлите на външните устройства)външните устройства)

Page 17: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

еволюцияеволюция…………

3.3. Контролери и Контролери и I/O I/O модули с модули с прекъсванияпрекъсванияПодобрява се бързодействиетоПодобрява се бързодействието

4.4. Директен достъп до паметтаДиректен достъп до паметтаБлок Блок отот данни се прехвърлят в паметта, без данни се прехвърлят в паметта, без

намесата на процесора намесата на процесора Процесорът се намесва в началото и в Процесорът се намесва в началото и в

края само при работа с края само при работа с I/OI/O

Page 18: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

еволюцияеволюция…………

5.5. I/O I/O модул се отделя от процесорамодул се отделя от процесора

6.6. I/O processorI/O processor I/O I/O модул има собствена локална паметмодул има собствена локална паметКонтрол на комуникациите чрез Контрол на комуникациите чрез

интерактивни терминалиинтерактивни терминали

Page 19: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Директен достъп до паметтаДиректен достъп до паметта

DMA DMA модула модула трансферира данните трансферира данните към и от паметтакъм и от паметта

Когато бъде завършенКогато бъде завършен трансфера трансфера DMA DMA модул изпраща сигнал модул изпраща сигнал за прекъсване на за прекъсване на процесорапроцесора

Page 20: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

DMA DMA конфигурацияконфигурация: : Single BusSingle Bus

• DMA може да се конфигурира по няколко начина

• Всички модули си поделят обща системна шина (Single system bus)

Page 21: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

DMA Configurations: DMA Configurations: Integrated DMA & I/OIntegrated DMA & I/O

• Direct Path between DMA and I/O modules• This substantially cuts the required bus cycles

Page 22: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

DMA DMA конфигурацияконфигурация: : I/O BusI/O Bus

• Намалява броя на I/O интерфейси в

DMA модула

Page 23: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 24: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Цели: ефективностЦели: ефективност

Устройствата са доста по-бавни от Устройствата са доста по-бавни от основната паметосновната памет

Многозадачността позволява да се Многозадачността позволява да се изчакват процесите и да се изпълняват изчакват процесите и да се изпълняват едни докато други извършват едни докато други извършват I/O I/O операцииоперации

I/O I/O не могат да поддържат скоростта на не могат да поддържат скоростта на процесорапроцесора

Размяната на процеси ускорява Размяната на процеси ускорява

Page 25: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Йерархичен дизайнЙерархичен дизайн

ОС е организирана на слоевеОС е организирана на слоевеВсеки слой се позовава на следващВсеки слой се позовава на следващияия

по-ниска слойпо-ниска слой,който,който изпълнява по- изпълнява по-примитивните функциипримитивните функции

Предоставя услуга на по-горен слойПредоставя услуга на по-горен слой..Промени на един слой не трябва да Промени на един слой не трябва да

налагат промени в другналагат промени в друг

Page 26: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Локално периферно устройствоЛокално периферно устройство

• Logical I/O:

• Устройството като логически ресурс

• Device I/O:– Преобразува операциите в

поредица от I/O инструкции

- Планиране и контрол• Реализира се действителния

контрол на операциите

Page 27: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Комуникационен портКомуникационен портПОдобен на предишния,но ПОдобен на предишния,но

логическия слой е заменен с логическия слой е заменен с комуникационенкомуникационенСъдържа няколко слояСъдържа няколко слоя..Пример Пример TCP/IP, TCP/IP,

Page 28: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Файлова системаФайлова системаУправление на директорииУправление на директории

В зависимост от потребителските В зависимост от потребителските операцииоперации

Файлова системаФайлова системаЛогическа структура и операцииЛогическа структура и операции

Физическа организацияФизическа организацияКонвертира логическите имена Конвертира логическите имена

във физически адресвъв физически адрес

Page 29: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 30: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

I/O I/O БуфериранеБуфериране

Процесите трябва да изчакват Процесите трябва да изчакват I/O I/O операцииоперацииЗа да се избегне За да се избегне мъртва хватка, мъртва хватка, някои някои

страници трябва да останат в основната страници трябва да останат в основната памет по време на I / Oпамет по време на I / O

Page 31: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Блоково Блоково буфериранебуфериране

Информацията се съхранява Информацията се съхранява във във фиксиранфиксиран размер блокове размер блокове

Използва се за дискове и USB Използва се за дискове и USB интерфейсинтерфейс

Page 32: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Буфериране на потоциБуфериране на потоци

Обменната информация е потоци данниОбменната информация е потоци данниИзползва се за терминали, принтери, Използва се за терминали, принтери,

комуникационни портове, мишккомуникационни портове, мишкии и други и други устройства,както и повечето други устройства,както и повечето други устройства, които не саустройства, които не са за за вторичн вторичноо съхранениесъхранение

Page 33: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Без буферБез буфер

ОС директно достъпва устройството от ОС директно достъпва устройството от което се нуждаекоето се нуждае

Page 34: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Единичен БуферЕдиничен Буфер

Операционна система възлага на буфер Операционна система възлага на буфер в основната памет за I / в основната памет за I / операцияоперация

Page 35: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Блоков единичен буферБлоков единичен буфер

БлокБлокътът се премества в потребителското се премества в потребителското пространство, когато е необходимопространство, когато е необходимо

Следващият блок се премества в Следващият блок се премества в буферабуфера

  най -чнай -често разумно предположение тъй есто разумно предположение тъй като данните са обикновено като данните са обикновено с с последователпоследователен ен достъпдостъп

Page 36: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Двоен БуферДвоен Буфер Използват се 2 системни буфера вместо единИзползват се 2 системни буфера вместо един Един процес може да трансферира данни към или от един Един процес може да трансферира данни към или от един

буфер, докато операционната система или изпразва запълва буфер, докато операционната система или изпразва запълва други буфердруги буфер

Page 37: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Кръгов буферКръгов буфер

Използват се повече от 2 буфераИзползват се повече от 2 буфера Всеки отделен буфер е една единица в кръговВсеки отделен буфер е една единица в кръговияия

буфербуфер Използва се когато при фходно изходна операция е Използва се когато при фходно изходна операция е

необходимо да се запази процесанеобходимо да се запази процеса

Page 38: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 39: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Параметри на Параметри на производителност на дискпроизводителност на диск

Параметрите зависят от много нещаПараметрите зависят от много нещаДиаграма на трансфер на данни при Диаграма на трансфер на данни при I/OI/O

Page 40: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Позициониране на главата Позициониране на главата при при R/WR/W

Когато Когато се извършва операция на се извършва операция на дискдискаа той той се върти с постоянна скорост се върти с постоянна скорост..

Page 41: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Параметри при дисковеПараметри при дискове

Времето за достъп е сума отВремето за достъп е сума от::Seek time: Seek time: Времето за позициониране на Времето за позициониране на

главата на дискаглавата на дискаЗабавяне при въртенеЗабавяне при въртене

Transfer TimeTransfer Time : време необходимо за : време необходимо за прехвърляне на данни прехвърляне на данни

Page 42: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

First-in, first-out (FIFO)First-in, first-out (FIFO)

Последователни процесиПоследователни процесиRandom schedulingRandom scheduling

Page 43: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Last-in, first-outLast-in, first-out

Добре е за системи за обработка на Добре е за системи за обработка на транзакции транзакции

Устройството се дава на най-новиУстройството се дава на най-новияя потребител, потребител,

Page 44: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Shortest ServiceShortest Service Time First Time First

ИзбИзбираира се заявкасе заявка, ко, кояято изисква най-то изисква най-малкото движение на малкото движение на главата наглавата на диск от диск от сегашната си позиция сегашната си позиция

Избира се мин. Време за търсенеИзбира се мин. Време за търсене

Page 45: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

SCANSCAN

Главата се движи само в една посока Главата се движи само в една посока докато не удовлетвори всички заявки и докато не удовлетвори всички заявки и после се връща обратнопосле се връща обратно

Page 46: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

C-SCANC-SCAN

Ограничава сканирането в 1 посокаОграничава сканирането в 1 посокаСлед като е посетена последната писта След като е посетена последната писта

от заявката, главата се връща в от заявката, главата се връща в началото.началото.

Page 47: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Performance ComparedPerformance Compared

Comparison of Disk Scheduling Algorithms

Page 48: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Disk Scheduling Disk Scheduling AlgorithmsAlgorithms

Page 49: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 50: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Множество дисковеМножество дискове

Води до увеличаване на Води до увеличаване на производителносттапроизводителността

Информацията може да бъде Информацията може да бъде възстановенавъзстановена

Page 51: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 52: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Диск КешДиск Кеш

Буфер в основната памет за дискови Буфер в основната памет за дискови секторисектори

Съдържа копие на някои сектори на Съдържа копие на някои сектори на дискадиска

Когато I / O искане Когато I / O искане е е за определен за определен секторсектор, , извършва извършва се се проверка за да се определи проверка за да се определи

дали е в сектора на дисковия кеш дали е в сектора на дисковия кеш . . съществуват редица начини да се съществуват редица начини да се

пренесат на кеш паметта пренесат на кеш паметта

Page 53: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 54: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Devices are FilesDevices are Files

Each I/O device is associated with a Each I/O device is associated with a special filespecial fileManaged by the file systemManaged by the file systemProvides a clean uniform interface to users Provides a clean uniform interface to users

and processes.and processes.To access a device, read and write To access a device, read and write

requests are made for the special file requests are made for the special file associated with the device.associated with the device.

Page 55: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

UNIX SVR4 I/OUNIX SVR4 I/O

Each individual device is associated with a Each individual device is associated with a special filespecial file

Two types of I/OTwo types of I/OBufferedBufferedUnbufferedUnbuffered

Page 56: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Buffer CacheBuffer Cache

Three lists are Three lists are maintainedmaintainedFree ListFree ListDevice ListDevice ListDriver I/O QueueDriver I/O Queue

Page 57: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Character CacheCharacter Cache

Used by character oriented devices Used by character oriented devices E.g. terminals and printersE.g. terminals and printers

Either written by the I/O device and read Either written by the I/O device and read by the process or vice versaby the process or vice versaProducer/consumer model usedProducer/consumer model used

Page 58: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Unbuffered I/OUnbuffered I/O

Unbuffered I/O is simply DMA between Unbuffered I/O is simply DMA between device and processdevice and processFastest methodFastest methodProcess is locked in main memory and can’t Process is locked in main memory and can’t

be swapped outbe swapped outDevice is tied to process and unavailable for Device is tied to process and unavailable for

other processesother processes

Page 59: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

I/O for Device TypesI/O for Device Types

Page 60: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 61: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Linux/Unix SimilaritiesLinux/Unix Similarities

Linux and Unix (e.g. SVR4) are very Linux and Unix (e.g. SVR4) are very similar in I/O termssimilar in I/O termsThe Linux kernel associates a special file with The Linux kernel associates a special file with

each I/O device driver. each I/O device driver. Block, character, and network devices are Block, character, and network devices are

recognized.recognized.

Page 62: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Deadline schedulerDeadline scheduler

Uses three queuesUses three queuesIncoming requestsIncoming requestsRead requests go to Read requests go to

the tail of a FIFO the tail of a FIFO queuequeue

Write requests go to Write requests go to the tail of a FIFO the tail of a FIFO queuequeue

Each request has Each request has an expiration timean expiration time

Page 63: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Linux Page CacheLinux Page Cache

Linux 2.4 and later, a single unified page Linux 2.4 and later, a single unified page cache for all traffic between disk and main cache for all traffic between disk and main memorymemory

Benefits:Benefits:Dirty pages can be collected and written out Dirty pages can be collected and written out

efficientlyefficientlyPages in the page cache are likely to be Pages in the page cache are likely to be

referenced again due to temporal localityreferenced again due to temporal locality

Page 64: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

RoadmapRoadmap I/O DevicesI/O DevicesOrganization of the I/O FunctionOrganization of the I/O FunctionOperating System Design IssuesOperating System Design Issues I/O BufferingI/O BufferingDisk SchedulingDisk SchedulingRaidRaidDisk CacheDisk CacheUNIX SVR4 I/OUNIX SVR4 I/OLINUX I/OLINUX I/OWindows I/OWindows I/O

Page 65: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Windows I/O ManagerWindows I/O Manager

The I/O manager is The I/O manager is responsible for all I/O responsible for all I/O for the operating for the operating system system

It provides a uniform It provides a uniform interface that all types interface that all types of drivers can call.of drivers can call.

Page 66: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Windows I/OWindows I/O

The I/O manager works closely with:The I/O manager works closely with:Cache manager – handles all file cachingCache manager – handles all file cachingFile system drivers - File system drivers - routes I/O requests for routes I/O requests for

file system volumes to the appropriate file system volumes to the appropriate software driver for that volume.software driver for that volume.

Network drivers - Network drivers - implemented as software implemented as software drivers rather than part of the Windows drivers rather than part of the Windows Executive.Executive.

Hardware device driversHardware device drivers

Page 67: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

Asynchronous and Asynchronous and Synchronous I/OSynchronous I/O

Windows offers two modes of I/O Windows offers two modes of I/O operation: operation: asynchronous and synchronous. asynchronous and synchronous.

Asynchronous mode is used whenever Asynchronous mode is used whenever possible to optimize application possible to optimize application performance.performance.

Page 68: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering

SSD

Page 69: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering
Page 70: Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering