Операційні системи, лекція 13


Чтобы посмотреть презентацию с картинками, оформлением и слайдами, скачайте ее файл и откройте в PowerPoint на своем компьютере.
Текстовое содержимое слайдов презентации:

Операційні системи РОЗДІЛ 4Роль файлів в операційній системіЛЕКЦІЯ 4.3Система управління уведенням-виведенням План 1. Фізичні принципи організації уведення-виведення1.1 Загальні відомості про архітектуру комп'ютера 1.2 Структура контролера пристрою 1.3 Опит пристроїв і переривання. Виняткові ситуації і системні виклики 1.4 Прямий доступ до пам'яті (Direct Memory Access – DMA)2. Логічні принципи організації уведення-виведення 2.1 Структура системи уведення-виведення2.2 Систематизація зовнішніх пристроїв і інтерфейс між базовою підсистемою уведення-виведення і драйверами 2.3 Функції базової підсистеми уведення-виведення 2.4 Алгоритми планування запитів до жорсткого диска Загальні відомості про архітектуру комп'ютера шина даних, що складається з ліній даних і що служить для передачі інформації між процесором і пам'яттю, процесором і пристроями уведення-виведення, пам'яттю і зовнішніми пристроями; адресна шина, що складається з ліній адреси і що служить для завдання адреси елемента пам'яті або вказівки пристрою уведення-виведення, що бере участь в обміні інформацією; шина управління, що складається з ліній управління локальною магістраллю і ліній її стану, що визначають поведінку локальної магістралі. В деяких архітектурних рішеннях лінії стани виносяться з цієї шини в окрему шину стану. Порядок передачі інформації з процесора в пам'ять На адресній шині процесор повинен виставити сигнали, відповідні адресі елемента пам'яті, в яку здійснюватиметься передача інформації. На шину даних процесор повинен виставити сигнали, відповідні інформації, яка повинна бути записана в пам'ять. Після виконання дій 1 і 2 на шину управління виставляються сигнали, відповідні операції запису і роботі з пам'яттю, що приведе до занесення необхідної інформації за потрібною адресою. Передача даних в порт На адресній шині процесор повинен виставити сигнали, відповідні адресі порту, в який здійснюватиметься передача інформації, в адресному просторі уведення-виведення. На шину даних процесор повинен виставити сигнали, відповідні інформації, яка повинна бути передана в порт. Після виконання дій 1 і 2 на шину управління виставляються сигнали, відповідні операції запису і роботі з пристроями уведення-виведення, що приведе до передачі необхідної інформації в потрібний порт. Ключові моменти сучасної обчислювальної системи Пристрої уведення-виведення підключаються до системи через порти. Можуть існувати два адресні простори: простір пам'яті і простір уведення-виведення. Порти, як правило, відображаються в адресний простір уведення-виведення і іноді – безпосередньо в адресний простір пам'яті. Використовування того або іншого адресного простору визначається типом команди, виконуваної процесором, або типом її операндів. Фізичним управлінням пристроєм уведення-виведення, передачею інформації через порт і виставлянням деяких сигналів на магістралі займається контролер пристрою. Структура контролера пристрою Регістр стану містить біти, значення яких визначається станом пристрою уведення-виведення і які доступні тільки для читання обчислювальною системою. Регістр управління одержує дані, які записуються обчислювальною системою для ініціалізації пристрою уведення-виведення або виконання чергової команди, а також зміни режиму роботи пристрою. Регістр вихідних даних служить для розміщення в нього даних для читання обчислювальною системою, а регістр вхідних даних призначений для розміщення в нього інформації, яка повинна бути виведена на пристрій. Співпраця процесора і контролера Процесор в циклі читає інформацію з порту регістра станів і перевіряє значення біта зайнятості. Процесор записує код команди виводу в порт регістра управління. Процесор записує дані в порт регістра вхідних даних. Процесор встановлює біт готовності команди. В наступних кроках процесор не задіяний. Коли контролер помічає, що біт готовності команди встановлений, він встановлює біт зайнятості. Контролер аналізує код команди в регістрі управління і знаходить, що це команда виводу. Він бере дані з регістра вхідних даних і ініціює виконання команди. Після завершення операції контролер обнуляє біт готовності команди. При успішному завершенні операції контролер обнуляє біт помилки в регістрі стану, при невдалому завершенні команди – встановлює його. Контролер скидає біт зайнятості. Альтернативний варіант співпраці (шина переривань) Лінія переривань сполучає процесор і пристрої уведення-виведення Після закінчення виконання операції зовнішній пристрій виставляє на цю лінію спеціальний сигнал, по якому процесор після виконання чергової команди змінює свою поведінку. Замість виконання чергової команди з потоку команд він зберігає вміст своїх регістрів і переходить на виконання програми обробки переривання.За наявності тільки однієї лінії переривань процесор при виконанні цієї програми повинен опитати стан всіх пристроїв уведення-виведення, щоб визначити, від якого саме пристрої прийшло переривання, виконати необхідні дії і повідомити пристрій, що переривання оброблено (зняти переривання). NMI – Non-Maskable Interrupt При наявності критичних секцій виникає необхідність заборони переривань.Для заборони переривань (несприйнятливості процесора до них) існують спеціальні команди, які можуть маскувати переривання пристроїв уведення-виведення.Але певні критичні ситуації в обчислювальній системі вимагають її негайної реакції.Такі ситуації викликають переривання, які неможливо замаскувати і які поступають в процесор по спеціальній лінії шини переривань. Memory Access – DMA При прямому доступі до пам'яті процесор і контролер DMA по черзі управляють локальною магістраллю. Це дещо знижує продуктивність процесора, оскільки при виконанні деяких команд або при читанні чергової порції команд у внутрішній кеш він повинен чекати звільнень магістралі, але в цілому продуктивність обчислювальної системи істотно зростає.При підключенні до системи нового пристрою, який уміє використовувати DMA, звичайно необхідно програмно або апаратно задати номер каналу DMA, до якого буде приписаний пристрій. Напрями, за якими різняться зовнішні пристрої системи Швидкість обміну інформацією може варіюватися в діапазоні від декількох байтів в секунду (клавіатура) до декількох гігабайтів в секунду (мережні карти). Одні пристрої можуть використовуватися декількома процесами паралельно (є тими, що розділяються), тоді як інші вимагають монопольного захоплення процесом. Пристрої можуть запам'ятовувати виведену інформацію для її подальшого введення або не володіти цією функцією. Пристрої, що запам'ятовують інформацію, можуть диференціюватися по формах доступу до збереженої інформації: забезпечувати до неї послідовний доступ в жорстко заданому порядку або уміти знаходити і передавати тільки необхідну порцію даних. Частина пристроїв уміє передавати дані тільки по одному байту послідовно (символьні пристрої), а частина пристроїв уміє передавати блок байтів як єдине ціле (блокові пристрої). Існують пристрої, призначені тільки для введення інформації, пристрої, призначені тільки для виведення інформації, і пристрої, які можуть виконувати і введення, і виведення. Структура системи уведення-виведення Розподіл пристроїв за інтерфейсами символьні (клавіатура, модем, термінал і т. п.); блокові (магнітні і оптичні диски і стрічки, і т. д.); мережні (мережні карти); всі інші (таймери, графічні дисплеї, телевізійні пристрої, відеокамери і т. п.); Розподіл пристроїв за інтерфейсами До символьних пристроїв відносять пристрої введення інформації, які спонтанно генерують вхідні дані: клавіатура, миша, модем, джойстик. До них же відносяться і пристрої виведення інформації, для яких характерне представлення даних у вигляді лінійного потоку: принтери, звукові карти і т.д. Символьні пристрої звичайно уміють скоювати дві загальні операції: ввести символ (байт) і вивести символ (байт) – get і put.Для блокових пристроїв, таких як магнітні і оптичні диски, стрічки і т.п. природними є операції читання і запису блоку інформації – read і write, а також, для пристроїв прямого доступу, операція пошуку необхідного блоку інформації – seek. Загальні функції інтерфейсів Функція ініціалізації або повторної ініціалізації роботи драйвера і пристрою – open. Функція тимчасового завершення роботи з пристроєм (може, наприклад, викликати відключення пристрою) – close. Функція опитування стану пристрою– poll. Функція зупинки драйвера, яка викликається при зупинці операційної системи або вивантаженні драйвера з пам'яті, halt. Функції базової підсистеми уведення-виведення (системні виклики) Системні виклики, що блокуються. Вживання такого виклику приводить до блокування процесу, що ініціював його. Типовим для вживання такого системного виклику є випадок, коли процесу необхідно одержати від пристрою строго певну кількість даних, без яких він не може виконувати роботу далі. Системні виклики, що не блокуються. Процес, що застосував виклик, не переводиться в стан очікування взагалі. Системний виклик повертається негайно, виконавши операції уведення-виведення, що наказані йому, повністю, частково або не виконавши зовсім, залежно від поточної ситуації (стани пристрою, наявність даних і т. д.). Типовим випадком вживання системного виклику, що не блокується, може бути періодична перевірка на надходження інформації з клавіатури при виконанні трудомістких розрахунків. Асинхронні системні виклики. Процес, що використав виклик, ніколи в ньому не блокується. Системний виклик ініціює виконання необхідних операцій уведення-виведення і негайно повертається, після чого процес продовжує свою регулярну діяльність. Функції базової підсистеми уведення-виведення (буферизація) Буфер - деяка область пам'яті для запам'ятовування інформації при обміні даних між двома пристроями, двома процесами або процесом і пристроєм. Різні швидкості прийому і передачі інформації, якими володіють учасники обміну. Різні об'єми даних, які можуть бути прийняті або одержані учасниками обміну одноразово. Візьмемо інший приклад. Необхідність копіювання інформації з додатків, що здійснюють уведення-виведення, в буфер ядра операційної системи і назад. Функції базової підсистеми уведення-виведення (spooling ) Принтер не може друкувати інформацію, що поступає одночасно від декількох процесівАле може виявитися бажаним дозволити процесам здійснювати вивід на принтер паралельно. Для цього операційна система замість передачі інформації напряму на принтер накопичує дані, що виводяться, в буферах на диску, організованих у вигляді окремого spool-файлу для кожного процесу.Після завершення деякого процесу відповідний йому spool-файл ставиться в чергу для реального друку. Будова жорсткого диску Алгоритми планування запитів до жорсткого диска First Come First Served (FCFS) – Всі запити організовуються в чергу FIFO і обслуговуються в порядку надходження. Алгоритм простий в реалізації, але може приводити до достатньо довгого загального часу обслуговування запитів. Short Seek Time First (SSTF) – короткий час пошуку першим. Для чергового обслуговування вибиратимемо запит, дані для якого лежать найбільш близько до поточного положення магнітних головок.SCAN – головки постійно переміщаються від одного краю диска до іншого, по ходу справи обслуговуючи всі запити, що зустрічаються. Після досягнення іншого краю напрям руху міняється, і все повторюється знову.

Приложенные файлы

  • ppt 19646802
    Размер файла: 176 kB Загрузок: 0

Добавить комментарий