
- •Огляд і характеристика операційних систем Узагальнена структура програмного забезпечення обчислювальних систем
- •Класифікація операційних систем
- •1. По призначенню ос діляться на:
- •2. По режиму обробки даних розрізняють:
- •3. За засобом взаємодії з обчислювальною системою ос діляться на:
- •4. За основним архітектурним принципом ос діляться на:
- •1. Принцип модульності
- •2. Принцип функціональної вибірковості
- •3. Принцип генерованості ос
- •4.Принцип функціональної надлишковості
- •5. Принцип віртуалізації
- •Принцип незалежності програм від зовнішніх пристроїв
- •Принцип сумісності
- •Принцип відкритої і нарощуваної ос
- •Принцип мобільності (переносимості)
- •10. Принцип забезпечення безпеки обчислень.
- •Планування процесів Дисципліни планування - вимоги, показники, класифікація
- •Базові дисципліни планування
- •Управління пам'яттю Віртуальна і реальна пам'ять
- •Фіксовані розділи
- •Односегментна модель
- •Багатосегментна модель
- •Сторінкова модель
- •Сегментно-сторінкова модель
- •Плоска модель пам'яті
- •Монопольно використовувані ресурси Властивості ресурсів і їх уявлення
- •Філософи, що обідають
- •Тупики: попередження, виявлення, розв'язка
- •Нескінченне відкладання
- •Файлові системи Структура магнітного диска
- •Файлова система fat
- •Структура завантажувального запису dos
- •Файлові системи vfat і fat32
- •Файлова система ntfs (New Technology File System)
- •Основні можливості файлової системи ntfs
- •Структура тому з файловою системою ntfs
- •Можливості файлової системи ntfs по обмеженню доступу до файлів і каталогів
- •Основні відмінності fat і ntfs
- •Файлові системи операційних систем класу Unix Структура файлової системи
- •Захист файлів
- •Системні засоби взаємодії процесів Дужки критичних секцій.
- •Віртуальні переривання або сигнали
- •Модель віртуальних комунікаційних портів
- •Загальні області пам'яті
- •Семафори
- •Програмні канали
- •Черги повідомлень
- •Література
- •Операційні системи
- •43018, Луцьк-18, вул. Львівська,75.
Філософи, що обідають
Класичною вже стала неформальна постановка завдання розподілу ресурсів, що носить назву "Проблеми філософів, що обідають," і показана на Малюнку 5.1.
|
П'ять філософів сидять за круглим столом, в центрі якого коштує блюдо з рисом. Між кожною парою філософів лежить паличка для їжі, паличок, отже, теж п'ять. Для того, щоб почати є, філософ повинен узяти дві палички - зліва і праворуч від себе. Таким чином, якщо один з філософів їсть, його сусіди справа і зліва позбавлені такої можливості, оскільки їм бракує палички. Кожен філософ "працює" по зацикленому алгоритму: спочатку він якийсь час думає, потім бере палички і їсть, потім знову думає і так далі Тимчасові інтервали мислення і їжі випадкові, дії філософів, отже, не синхронізовані. Нічого не мовиться в умові про те, яким чином філософ бере палички, - наше завдання якраз і полягає в тому, щоб забезпечити таку стратегію виділення паличок, яка б виключала безвихідь і нескінченне відкладання.
Якщо ми встановимо, що кожен філософ повинен узяти одну паличку і не випускати її з рук до тих пір, поки не візьме другу паличку, то ми можемо отримати ситуацію, показану на Ріс.5.1. (стрілка від філософа до палички означає, що філософ хоче узяти цю паличку, стрілка у зворотному напрямі - що цю паличку цей філософ вже узяв.) Кожен з філософів узяв паличку праворуч від себе, але не може узяти паличку зліва. Жоден з філософів не може ні є, ні думати. Ця ситуація і називається тупиками (deadlock).
Якщо ж ми встановимо, що філософ повинен узяти обидві палички відразу, то може виникнути ситуація, показана на Ріс.5.2. Філософ Чжуан хоче узяти палички, але виявляє, що його права паличка зайнята філософом Мо. Чжуан чекає. Тим часом філософ Мен бере свої палички і починає є. Мо є закінчує, але Чжуан не може почати є, оскільки тепер зайнята його ліва паличка. Якщо Мо і Мен їдять поперемінно, то Чжуан потрапляє в положення, яке називається голодуванням (starvation) або нескінченним відкладанням.
|
Переходячи від філософів до обчислювальних систем, ми можемо проілюструвати безвихідь таким прикладом. Процес A використовує магнітну стрічку, але для завершення йому потрібний ще і принтер. В цей час процес B утримує за собою принтер, але йому потрібна ще магнітна стрічка. Процеси A і B блокують один одного, тобто, знаходяться в тупиків. У системах з множинними ресурсами і з високим рівнем мультипрограмування тупикові ситуації можуть бути і не такими очевидними. Безвихідь може бути локальною і глобальною. Так, якщо у вищенаведеному прикладі рівень мультипрограмування вище 2, то процеси A і B знаходяться в локальній тупиків, інші процеси, яким не потрібні ресурси, зайняті процесами A і B, можуть виконуватися. Філософи ж на Ріс.5.1 знаходяться в глобальній тупиків.
Нескінченне відкладання - ситуація навіть більш загальна, властива управлінню будь-якими ресурсами, а не тільки монопольними. Так, при плануванні процесорного часу по статичних пріоритетах низькопріоритетний процес може відкладатися до безкінечності, якщо в систему постійно поступають процеси з вищими пріоритетами.
Безвихідь є ситуацією небезпечнішу, ніж нескінченне відкладання: процеси, що потрапили в безвихідь, утримують при цьому системні ресурси. Навіть якщо безвихідь не глобальна, система продовжує працювати із зменшеним об'ємом ресурсів, отже, із зниженою продуктивністю. Нескінченне ж відкладання одного або декількох процесів може і не вплинути на середню пропускну спроможність системи, але, звичайно ж, впливає на показники справедливості обслуговування.