Лекция 9 I/O Управление и Disk Scheduling. Roadmap I/O Devices Organization of...

Preview:

Citation preview

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

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

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

I/O DevicesI/O Devices

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DMA модула

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

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

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

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

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

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

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

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

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

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

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

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

• Logical I/O:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Shortest ServiceShortest Service Time First Time First

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

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

SCANSCAN

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

C-SCANC-SCAN

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

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

Performance ComparedPerformance Compared

Comparison of Disk Scheduling Algorithms

Disk Scheduling Disk Scheduling AlgorithmsAlgorithms

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

Buffer CacheBuffer Cache

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

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

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

I/O for Device TypesI/O for Device Types

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

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.

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

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

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

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.

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

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.

SSD

Recommended