Полезно за вас: Речник | Игри | Новини | Фирми | Рецепти | Обяви
Начало на реферати

Пищов тема 9 - Организация на подсистема за вход и изход


Информационни технологии | 2009-12-04 | 66 сваляния

9.1.Организация на подсистема за вход и изход.

Повечето комп. имат машинни команди за пряко управление на входа и изхода. Процесорът изпраща сигнали и данни които се интерпретират от контролер, който управлява у-вото. За да се синхронизира работа на процесора с по-бавните у-ва се използва механизма на буферирането. За да се изпълни вх./изх. операция, процесорът записва команда на съответния контролер. Когато командата се приеме, процесорът може да продължи работата си паралелно с вх./изх. операция. След като бъде изпълнена командата, контролерът изпраща, прекъсване към процесора. Друг начин за съгласуване работата на процесора, е вместо прекъсване, периодично да се проверяват флаговете на контролера. Предимството е, че обработка се извършва само когато процесорът е готов, но също така се губи и време за проверка когато няма заявки. Много контролери поддържат директен достъп до паметта (DMA). Използва се за освобождаване на процесора от работа по прехвърляне на данни м/у контролера и паметта. Процесора трябва да изпрати допълнителна информация адрес от паметта, където да се разположи блока от данни. При прехвърлянето на данни, контролерът заема системните шини, като изпраща сигнал към процесора, и поема управлението им. Контролерът може да заема шините до предаване на целия блок или след всеки предаден байт да връща управлението на шините на процесора и да ги заявява пак за следващия байт. В големите системи се използват канали за данни (входно изходни процесори), които се включват м/у процесора и контролерите. Каналът е програмируем процесор, изпълняващ канална програма. Някой канали могат да изпълняват едно-командни програми, а други да изпълняват последователност от команди. Тъй като процесор и канал се конкурират за достъп до паметта по-голям приоритет има канала. Когато канала може да обслужва само едно у-во., той се нарича селекторен и към него се включват бързите у-ва. Бавните се свързват към мултиплексорен канал, който може едновременно да обслужва повече у-ва. Блок-мултиплексорният канал съчетава принципите на горните два изпълнява едновременно няколко канални програми. За да се повиши гъвкавостта на използване на каналите и блоковете за управление, както и да се повиши сигурността, могат да се въведат алтернативни пътища към у-во, т.е. един контролер да се свърже с няколко канала, и едно у-во към няколко контролера.

9.2. Принципи за управление на устройствата.

Използват се три основни начина за управление и разпределение: -монополно използване (прикрепено у-во.), съвместно използване (делимо у-во) и виртуално използване на у-во. (виртуално у-во). Разделението на у-ва може да бъде статично (постоянно по време на изпълнение на процеса) или динамично (при всяка заявка). Обикновено се използва динамично. Функциите на входно-изходния супервайзор могат да се разпределят на три части: 1.Планиране на заявките за вход/изход. 2.Регистриране на информация за състоянието на входно/изходната апаратура. 3.Управление на работата на у-вата (драйвери).

Достъп до у-вата може да има само, когато те са свободни. Когато заявките са повече от достъпните пътища, необходимо е планиране на заявките, като се стремим да постигнем максимална скорост за предаване на данни. За да се определи дали у-во е достъпно, трябва да се провери съществува ли път към него. Когато има алтернативни пътища, трябва да се проверят всички и да се избере свободен. Това се изпълнява от входно-изходен контролер.

Всеки тип у-во има драйвер, който извършва динамично планиране на достъпа, управлява работата на у-вото и обработва прекъсванията (на 2-ро ниво) по вход/изход. Преди да се състави канална програма се прави проверка за правилността на заявката. След стартиране на каналната програма, драйверът се самоблокира до завършване на операцията.

9.3. Устройства и процеси.

Процес може да се използва за моделиране на у-во, а у-во за моделиране на процес. Вместо у-вото да се смята за процес, по удобно е в процеса да се включат програмите за управлението му. Такава организация на супервайзора дава възможност за независимост на у-вата и замяна на едно у-во с друго при минимални изменения на ОС. Друго важно свойство на третирането на у-ва, като процес е създаването на виртуални у-ва, разработката на програмно осигуряване за у-ва, които още не са готови. Важно приложение на виртуалните у-ва е спулингът.

9.4.Планоране на работата с диска. Данните в диска се разполагат в концентрични пътеки(писти).Пистите една над друга образуват цилиндър. Данните в цилиндрите се записват на блокове с постоянна или променлива дължина, наречени сектори. Секторът е най-малката физическа еденица, с която се работи при входно-изходните операции. За да се прехвърли блок от данни, той трябва да се адресира, като се зададе номер на пистата (цилиндъра), номер на глава (повърхност) и номер на сектор. За ОС, обаче, дискът е едномерен масив от блокове от данни(всели блок е един сектор). Бързодействието на работата с диска се определя от три фактора:времето за търсене на цилиндър (свързано с предвижването на главата до зададена писта); вревмето за очакване (докато началото на търсения сектор на застане под главата);времето за прехвърляне на блока от данни между диска и паметта. Драйвера, ако има номера на цилиндъра иномер на сектор и знаейки текущото положение на диска, може да се изчисли най-оптималният ход за действие (ред на изпълнение на заявките) с оглед на минимално задържане. Този процес се нарича планиране на работата с диска, но той е много скъп за това се прилага оптимизация само по намера на цилиндъра или само по номера на сектора, при което също се получават добри резултати.Критерии за оценка на бързодействието:1.Пропускателна възможност(броя обслужени заявки за еденица време). 2.Средно време за отговор. 3.Дисперсия на времето за отговор (дисперсията е мярка за отклонението на отделните елементи от средната стойност за тоьи елемент). 9.4.1.Оптимизация на търсенето на цилиндър. FCTS. Най-простия алгоритъм е FCTS-първата постъпка се обслужва първа. Този метод е справедлив, защото се обслужват по реда на пристигане. Тук се игнорират позиционните връзки между заявките и нищо не се оптимизира. Прилага се при малко натоварване на дисковото пространство, осигурява добра дисперсия, но това не носи полза на чакащата на опашката заявка, въпреки, че главата може да е преминала многократно през желания цилиндрия. SSTF. При планирането на принципа SSTF (Shortest-Seek-Time-First) първа се обслужва заявката с най-кратко търсене от текущото положение на главата.SSTF рязко дескриминира заявките, възможно е да се предизвика отлагане на заявка. Обръщенията към диска изявяват тннденция към концентрация (пристигат последователен набор от заявки разположени близо една до друга), което може да предизвика отлагане на обслужването в най-външните и най-вътрешни писти. SSTF осигурява по-добра пропускателна способност от FCTS и по-добро средно време за отговор при умерени натоварвания, но има увеличена дисперсия във връзка с дескриминирането на крайните писти. Приемлива при пакетни системи, но не и при интерактивни с времеделене. SKAN. За да отстрани дискреминацията на на крайните писти, подобно на SSTF се избира заявка с минимално време на търсене, но в дадено направление(навътре или навън). Главата се движи от единият край към другия, като обслужва всички заявки по пътя си като срешне необходимите писти. Главата на сменя посоката на движение докато на стигне края на диска. SCAN повишава пропускателната способност и намалява средното време за отговор, но за разлика от SSTF снижава дискриминацията на на крайните цилиндри и осигурява по-малка дисперсия. Разновидности на SCAN понякога са наричани LOOK са: 1. N-STEP-SCAN Представлява модификация на горния алгоритъм. Главите се движат в двете посоки, но обслужват само заявките пристигнали преди началото на движението. Заявките пристигнали по време на движението се записват и подреждат за да бъдат оптимално обслужени. Осигурява добри показатели на пропускателна възможност и средно време на отговор, както и по-малка дисперсия в сравнение с SSTF и SCAN. Изключва се възможността за безкрайно отлагане, което възниква при пристигане на поток от заявки към текущия цилиндър, респективно близък. 2.C-SCAN. Следващата модификация на SCAN е цикличното сканиране C-SKAN, което отстранява дискриминацията на крайните цилиндри. Както и при SCAN, главите се движат от външните цилиндри към вътрешните, обслужвайки заявките по най-краткото време за търсене. Когато правия ход завърши, те скокообразно се връщат към външния цилиндър( без да обслужват заявките по пътя си ) и започват да ги обслужват при правия ход на главата към вътрешния цилиндър. Тук се приема като в кръг, че последния цилиндър е съседен на първия. Тази стратегия избягва дескриминирането на крайните цилиндри. 9.4.2.Оптимизиране по време на очакване на сектор. Необходимостта от подобна оптимизация възниква при големи натоварвания. Освен това, с развитието на технологиите за производство на дисковете се намалява времето за търсене на цилиндър (което се приближава до времеот на на очакване), което показва важността на тази оптимизация. Оптимизация по време на очакване от дълго време се прилага при устройства с фиксирани глави, където няма движение на главите и избор на цилиндър. SLTF(Shortest-Latency-Time-First) съгласно, която първа е заявката с най-малко време за очакване на сектор. Когато главите се предвижват на определен цилиндър, оказва се че съществуват много заявки към различните писти на този цилиндър. Анализират се всички заявки и първа се обслужва заявката с минимално очакване на сектор. 9.4.3. Апаратурни възможности за оптимизация. Организацията на входно-изходната апаратура също оказва влияние върху бързодействието. Могат да се появят тесни места в някои от компонентите и канал, контролер, дискова памет. Тези места се откриват чрез програмни и апаратни монитори( за каналите и контролерите) и се отстраняват чрез реконфигурация на апаратните средства или чрез програмни средства. За да се намали вероятността за претоварване на каналите, в някои системи се включват средства за следене на положението на въртене на дисковете(RPS-Rotational Position Sensing). Когато постъпва заявка за достъп до блок от данни, RPS освобождава канала за изпълнение на други операции до момента на пристигане на сектора под главата( при някои операции, като движение на главите, каналът не е необходим той трябва например при четене и запис). Този механизъм позволява да се обработват няколко заявки, като се повишава коефициента на използване на апаратурата. Важна черта на контролерите е възможността за търсене ан цилиндър с припокриване- едновременно търсене в две и повече устройства. Много контролери могат да записват или да четат от едно устройство и всъщото време да извършват търсене с припокриване. Това е допълнителна възможност за намаляване на средното време на достъп( използвана особенно в малките машини ). Ако някои от устройствата бездействат, тъй като в момента се извършва трансфер на данни с друго, възможно е да се започне обслужването на следващите заявки към тях, като се издават команди за търсене на цилиндър. Някои контролери отиват по-нататък и организират запис в собствена памет (прозрачно за драйвера). Така трансфера между контролера и памет да се извърши от DMA ( или канал). 9.4.4. Избор на алгоритъм на планиране. Съществуването на голям брой планиращи алгоритми поставя въпроса за избор на подходящ алгоритъм. Натоварването на диска и разпределението на заявките зависят от степента на мултипрограмиране. Може да се окаже нецелесъобразно въвеждане на планиране в пакетни ОС с ниска степен на мултипрограмиране, където в опашката рядко има повече от 2,3 заявки. Разпределението на заявките силно се влияе от методите за разпределение на дисковото пространство. При непрекъснато разпр4еделение на дисковото пространство файлът се разполага в един цилиндър, респективно в съседни цилиндри. При работа с такъв файл (особенно ако е последователен) движевнието на главите ще бъде минимално. Напротив, при използването на индексен блок или на свързан списък за разпределение, движението ще бъде голямо. Логическата организация на файловете от данни има голямо влияние върху броя на заяявките. Файловете със сложна организация ( като индексно-последователните) могат да предизвикат голям брой заявки с дълги времена на търсене. Затова и местоположението на на справочниците и индексните блокове е важно. Те често се използват и тяхното разположение в средата на диска, вместо в края, може да намали движението на главите. Също така, някои системи предвиждат проверка на пистите и замяна на дефектите. Тези писти могат да се разполагат на различни места и да предизвикат допълнително движение.

Пищов тема 9 - Организация на подсистема за вход и изход

Добави своя коментар:



Тагове от реферата: , , , , , , ,

Изтегли в DOC | PDF | ZIP