Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
КІСіТ КНЕУ ім. В. Гетьмана
Самостійна робота №1
з предмету: "Методи та засоби комп’ютерних інформаційних технологій”
за ІІ семестр 2010-2011 н.р.
Тема: Структури даних для введення-виведення.
Київ-2010
Годинники і таймери Дані хронометричні пристрою в комп'ютерній системі зберігають інформацію про поточний час, що пройшов відрізку часу, установках таймера. Як правило, операційна система використовує програмовані інтервали часу для роботи з таймером. Таким чином в системі організовуються періодичні переривання з метою опитування пристроїв і диспетчеризації процесів. У системі UNIX роботу з годинником і таймером підтримує системний виклик і команда ioctl. Крім того, в системі є процес-демон cron, за допомогою якого в системі організуються події, що відбуваються в призначений час, - наприклад, автоматичне резервне копіювання всіх найбільш важливих файлових систем на стрічку.
Підсистема вводу-виводу в ядрі ОС Операційна система керує пристроями введення-виведення. ОС здійснює планування, включаючи впорядкування запитів на введення-виведення в чергах до кожного пристрою. ОС забезпечує буферизацію - запис даних в пам'ять в процесі передачі між пристроями. Мета буферизації: - балансування пристроїв з різними швидкостями;- згладжування невідповідності розміру даних для роботи з пристроєм;- підтримка "семантики копіювання".Для оптимізації роботи із зовнішніми пристроями організується кешування - використання швидкої пам'ять, в якій зберігається копія даних (фактично в ній зберігаються найбільш часто використовувані блоки). Слід, однак, мати на увазі, що вміст кеш-пам'яті - завжди тільки копія реальних даних, тому в деяких випадках доводиться синхронізувати вміст кешу з вмістом диска, щоб не допустити неузгодженості інформації. Кешування - ключ до підвищення продуктивності дискових пристроїв.Дуже важлива також така функція ОС, як буферизація висновку (spooling) - затримка виведення на пристрій, з метою підтримки цілісності інформації, що виводиться одним і тим же процесом. Типовий приклад - друк на принтер.ОС виконує також резервування пристрою - забезпечення монопольного доступу до нього. Є системні виклики для заняття та звільнення пристроїв монопольного доступу. ОС контролює відсутність тупиків (deadlocks), які можливі при монопольному використанні пристроїв.ОС виконує обробку помилок введення-виведення. Система підтримує відновлення інформації після читання з диска, недоступності пристрої, тимчасових збоїв при записі. У більшості випадків повертається номер (код) помилки, у випадку, якщо запит на введення-виведення завершується невдало. У системні журнали записується інформація про виявлені проблеми.
Структури даних для введення-виведення в ядрі ОСУ ядрі ОС зберігається інформація про стан для компонент введення-виведення, включаючи таблиці відкритих файлів, мережевих з'єднань, стан символьних пристроїв. Вона являє собою велику кількість складних структур даних (черг введення-виведення і таблиць пристроїв) для контролю буферів, розподілу пам'яті і ін. Реалізація багатьох з цих системних структур використовує об'єктно-орієнтовані методи і передачу повідомлень.Структура модулів вводу-виводу в системі UNIX зображена на рис. 1. Рис. 1. Структура модулів вводу-виводу в ядрі UNIX.
Життєвий цикл запиту на введення-виведенняРозглянемо більш детально процес читання з дискового файлу. Він складається з наступних етапів:• Визначається пристрій, на якому зберігається файл;• Виконується трансляція імені в уявлення пристрої;• Фізично зчитані дані з диска розміщуються в буфері;• Дані стають доступними для їх запитів процесу;• Управління повертається процесу.Життєвий цикл запиту на введення-виведення зображений на рис. 2. Рис. 2. Життєвий цикл запиту на введення-виведення.
Контрольні питання:1. Для чого використовуються години та лічильники?2. Які два методи організації введення-виведення використовуються в системах, з точки зору синхронізації процесу та ініційованого їм введення-виведення?3. Які основні функції виконує ОС для організації вводу-виводу?4. Що таке буферизація пристроїв?5. Що таке кешування пристроїв?6. Що таке планування пристроїв?7. Що таке резервування пристроїв?8. Що таке spooling?9. Як обробляється запит процесу на введення-виведення?10. Які фактори впливають на продуктивність вводу-виводу?
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!