- •Еволюція спз.
- •Призначення та склад операційних систем.
- •Системне програмування.
- •Загальна схема трансляції
- •Основні принципи розробки системного програмного забезпечення.
- •Умови зміни станів процесу (з Рис.1.)
- •Властивості та класифікація процесу.
- •Визначення ресурсу та класифікації.
- •2. Дисципліни диспетчеризації.
- •3. Алгоритми в диспетчеризації з витісненням та без.
- •4. Способи забезпечення гарантованого обслуговування процесів.
- •5. Критерії порівняння алгоритмів диспетчеризації.
- •6. Вплив планування на ефективність обчислювальних систем.
- •7. Використання динамічних пріоритетів.
- •2. Види задач синхронізації паралельних процесів.
- •3. Синхронізація за допомогою блокування пам’яті.
- •4. Алгоритм Деккера.
- •5. Команда “перевірка” та “встановлення”.
- •6. Використання семафорів для синхронізації та впорядкування паралельних процесів.
- •7. Монітороподібні засоби синхронізації паралельних процесів.
- •8. Поштові ящики.
- •9. Конвеєри.
- •10. Черги повідомлень.
- •Неперервний розподіл оперативної пам’яті.
- •Розподіл з перекриттям.
- •Статичний розподіл пам’яті.
- •Динамічний розподіл пам’яті.
- •Розділи пам’яті з фіксованими розмірами.
- •Розділи пам’яті зі змінними розмірами.
- •Сегментна схема організації віртуальної пам’яті.
- •Сторінкова схема організації віртуальної пам’яті.
- •Сегментно - сторінкова схема організації віртуальної пам’яті..
- •Тема 7. Архітектурні особливості мікропроцесорів Intel 80x86.
- •Мал. 3.1 Схема визначення фізичної адреси для процесора 8086.
- •2. Нові системні регістри мікропроцесорів і80x86.
- •Мал. 7.2 Основні системні регістри мікропроцесорів і80x86.
- •3. Підтримка сегментного способу організації віртуальної пам'яті.
- •Мал. 7.3 Дескриптор сегменту.
- •Мал. 7.4. Селектор сегменту.
- •Мал. 7.5 Сегмент стану задачі (tss).
- •Мал. 7.6 Процес отримання лінійної адреси команди.
- •4. Підтримка сторінкового способу організації віртуальної пам'яті.
- •Мал. 7.7 Дескриптор сторінки.
- •Мал. 7.8 Трансляція лінійної адреси в мікропроцесорах і80x86.
- •5. Режим віртуальних машин для виконання додатків реального режиму.
- •6. Захист адресного простору задач.
- •Якщо цільовий сегмент є сегментом стека, то правило перевірки має вид
- •7. Механізм шлюзів для передачі керування на сегменти коду з іншими рівнями привілеїв.
- •Мал. 7.9 Механізм шлюзів для переходу на другий рівень привілеїв.
- •Мал. 7.10 Перехід на сегмент більш привілейованого коду.
- •Мал. 7.11 Формат дескриптора шлюзу.
- •Тема 8. Організація системи переривань 32-розрядних мікропроцесорів i80х80.
- •2. Типи переривань.
- •4. Узагальнена процедура обробки переривання.
- •5. Робота системи переривань у захищеному режимі роботи процесора.
- •Обробка переривань у контексті поточної задачі.
- •7. Обробка переривань з переключенням на нову задачу.
- •Тема 9. Керування вводом/виводом даних.
- •2. Режими керування вводом/виводом.
- •3. Закріплення пристроїв, загальні пристрої вводу/виводу.
- •4. Основні системні таблиці вводу/виводу.
- •Синхронний і асинхронний ввід/вивід.
- •6. Кешування операцій вводу/виводу при роботі з накопичувачами на магнітних дисках.
- •Тема 10.Організація файлових систем.
- •Тема 11. Файлові системи fat, vfat, fat32, hpfs.
- •Тема 12.Файлова система ntfs (Mew Technology File System)
- •Можливості файлової системи ntfs по обмеженню доступу до файлів і каталогів.
- •Інтерфейс прикладного програмування арі.
- •Реалізація функцій арі на рівні операційної системи.
- •Реалізація функцій арі на рівні системи програмування.
- •Реалізація функцій арі за допомогою зовнішніх бібліотек.
- •Posix інтерфейс.
- •Віртуальна машина.
- •Типи та інтерфейс користувачів.
- •Команди та командний інтерпретатор.
- •Процеси та їх виконання.
- •Підсистема вводу/виводу.
- •Структура файлової системи.
- •Засоби захисту файлів і даних.
- •Сигнали і семафори.
- •Програмні канали та черги повідомлень.
- •Розділювана пам’ять та виклики віддалених процедур.
Умови зміни станів процесу (з Рис.1.)
2 – активізація процесу програмою – диспетчером або ОС;
3 – диспетчеризація процес;
4 – виникнення переривань;
5 – запитом процесом певної системної функції в складі ОС (можливе створення певного процесу);
6 – запитом процесом певної системної функції (вводу/виводу);
7 – завершення виконання системної функції;
8 – зупинка виконання процесу;
1 – завершення виконання процесу.
В загальному випадку процес складається з:
коду процесу;
підсистеми керуванням процесу;
підсистеми даних.
Код процесу – це його ідентифікаційний номер для його ідентифікації в ОС.
Підсистема керування процесом – містить наступну інформацію:
символічний ідентифікатор процесу – це символічне ім’я процесу, яке присвоюється йому системою – планувальником і виконується для визначення стану процесу;
пріоритет процесу – встановлюється як системним планувальником так і користувачем, може бути змінений диспетчером процесів функціонування;
посилання на попередній процес в черзі процесу і на наступний;
ідентифікатор поточного стану процесу;
квант процесорного часу наданий даному процесу.
Стек процесу може бути розміщений як в підсистемі керування процесу, так і підсистемі даних. В будь–якому випадку адреса вершини стеку на його місткість відомі з метою збереження поточного стану процесу при перериванні його виконання.
Підсистема даних – містить вказівники на зовнішні змінні (семафори, прапорці, зовнішні буфери вводу/виводу), внутрішні змінні, опис спеціалізованих пристроїв, які можуть бути використані даним процесом.
Властивості та класифікація процесу.
Процеси
По приналежності до ЦП
|
|
До ОС
|
|
По генеологічному типу
|
|
По результативності
|
|
По динамічному типу
|
|
По зв’язності
|
|
Процеси реального часу - це процеси, які потребують такого планування щоб гарантувати закінчення процесу до певного моменту часу.
Інтерактивні – це процеси, час існування яких повинен бути не більший ніж інтервал часу допустимої реакції ЕОМ на запити користувачів.
Породжуючі – це процеси, які можуть породжувати існування інших процесів.
Процеси, які починають існувати в результаті існування іншого процесу називаються породженими. Коли процеси породжуючі і породжені, то вони називаються комбіновані.
Траса – це тривалість і порядок перебування процесу в допустимих станах на інтервалі існування.
Два процеси, які мають один і той же результат обробки даних в одній і тій же програмі на одному і тому ж, або на різних процесорах називаються еквівалентними. Траси еквівалентних процесів не співпадають. Якщо в кожному з еквівалентних процесів обробка даних проходить в одній і тій же програмі, але траси не співпадають, то такі процеи називаються тотожними. При співпаданні трас тотожних процесів їх називають рівними. Якщо інтервали двох процесів не пересікаються в часі, то такі процеси називаються послідовними. Якщо на певному інтервалі часу існують одночасно два процеси, то вони називаються паралельними. Якщо на певному інтервалі знайдеться хоча б одна точка в якій існує процес, але не існує інший і хоча б одна точка в якій ці два процеси існують одночасно, то ці процеси називаються комбінованими.
В операційних системах прийнято розрізняти не тільки час існування процесу, але й час його народження. Такою точкою відліку прийнято вважати ЦП. Процеси виконані на ньому називаються програмним або внутрішніми.
Зовнішні процеси – це процеси, розвиток яких проходить під контролем не ЦП, а інших.
Програмні процеси – поділяються на системні і користувацькі. При розвитку системного процесу виконується програма із складу операційної системи. При розвитку користувацького – програма користувача. Два процеси називаються взаємозв’язаними якщо між ними створюються зв’язки за допомогою системи управління процесів. В іншому випадку вони називаються ізольованими. Якщо два взаємозв’язані процеси використовують одні і ті ж ресурси, але не обмінюються між собою інформацією, то вони називаються інформаційно – незалежними. Якщо між двома процесами є інформаційні зв’язки, то вони називаються взаємодіючими.