- •Системи програмування та операційні системи Викладач Дроб’язко і.П
- •1)Розкрити зміст визначення «Операційні системи як розширена машина»
- •2) Основні сучасні вимоги до ос
- •3)Поняття операційної системи (ос). Призначення,функції,Компоненти ос.
- •4)Визначити типові архітектури операційних систем. Навести приклад.
- •5)Управління процесами і потоками.Основні завдання.
- •6)Дати визначення файлової системи.Вказати основні її функції.
- •7)Вказати основні способи організації розривної пам’яті.
- •8)Визначте поняття віртуальної пам’яті і особливості її реалізації в сучасних системах
- •9)Програмний інтерфейс і інтерфейс користувача. Призначення,види. Навести приклад.
- •10)Пояснити принцип багаторівневості підсистем введення-виведення. Назвати типові рівні.
5)Управління процесами і потоками.Основні завдання.
Однією з найважливіших функцій ОС є виконання прикладних програм. Код і дані прикладних програм зберігаються в комп'ютерній системі на диску в спеціальних виконуваних файлах. Після того як користувач або ОС вирішать запустити на виконання такий файл, у системі буде створено базову одиницю обчислювальної роботи, що називається процесом (process).
Можна дати таке означення: процес - це програма під час її виконання.
Операційна система розподіляє ресурси між процесами. До таких ресурсів належать процесорний час, пам'ять, пристрої введення-виведення, дисковий простір у вигляді файлів. При розподілі пам'яті з кожним процесом пов'язується його адресний простір — набір адрес пам'яті, до яких йому дозволено доступ. В адресному просторі зберігаються код і дані процесу. При розподілі дискового простору для кожного процесу формується список відкритих файлів, аналогічним чином розподіляють пристрої введення-виведення.
Процеси забезпечують захист ресурсів, якими вони володіють: Наприклад, до адресного простору процесу неможливо безпосередньо звернутися з інших процесів (він є захищеним).
Розподіл процесорного часу між процесами необхідний через те, що процесор виконує інструкції одну за одною (тобто в конкретний момент часу на ньому може фізично виконуватися тільки один процес), а для користувача процеси мають виглядати як послідовності інструкцій, виконувані паралельно. Щоб домогтися такого ефекту, ОС надає процесор кожному процесу на деякий короткий час, після чого перемикає процесор на інший процес; при цьому виконання процесів відновлюється з того місця, де їх було перервано. У багатопроцесорній системі процеси можуть виконуватися паралельно на різних процесорах.
Сучасні ОС крім багатозадачності можуть підтримувати багато потоковість (multithreading), яка передбачає в рамках процесу наявність кількох послідовностей інструкцій (потоків, threads), які для користувача виконуються паралельно, подібно до самих процесів в ОС. На відміну від процесів потоки не забезпечують захисту ресурсів (наприклад, вони спільно використовують адресний простір свого процесу). Створення багатопотокових процесів вимагає ретельного попереднього аналізу з тим, аби належним чином скоординувати дії операційної системи і інших програмних компонентів
6)Дати визначення файлової системи.Вказати основні її функції.
Файл — це пойменована область зовнішньої пам'яті, в яку можна записувати і з якої можна зчитувати дані, логічна одиниця збереження інформації на носієві. Файли об'єднуються в групи — каталоги, що можуть містити підкаталоги утворюючи ієрархічну деревоподібну структуру з одним коренем .
Файлова система — це спосіб організації файлів на диску.
Основні функції файлової системи можна розділити на дві групи:
-
Функції для роботи з файлами (створення, видалення, перейменування файлів і т.д.)
-
Функції для роботи з даними, які зберігаються у файлах (запис, читання, пошук даних і т.д.)
Файлова система - це частина операційної системи, призначення якої полягає у забезпеченні:
-
зручного інтерфейсу для користувача при роботі з даними, що зберігаються на диску;
2)спільного використання файлів кількома користувачами і процесами.
У широкому розумінні поняття "файлова система" включає:
1) сукупність усіх файлів на диску;
2) набори структур даних, використовуваних для управління файлами: каталоги файлів, дескриптори файлів, таблиці розподілу вільного і зайнятого простору на диску;
3) комплекс системних програмних засобів, що реалізують функції управління файлами, зокрема: створення, вилучення, читання, запису, іменування, пошуку та інше.
Прикладне програмне забезпечення не звертається безпосередньо до фізичного рівня, а робота з накопичувачем відбувається за допомогою виклику функцій файлової системи, що забезпечують виконання операцій високого рівня, таких як відкриття файлу, запис, зчитування даних та інше. Несумісність різних операційних систем при роботі з однотипними носіями визначається саме різними принципами логічної організації та збереження даних — файловою системою.
Логічна організація даних підтримується операційною системою за допомогою спеціальних програм і структур даних, що дозволяє зберігати дані у вигляді файлів.
Способи збереження інформації різні в різних системах. Частина інформації може зберігатися в головному записі, пов'язаному з файлом. Це знижує кількість інформації в каталозі, внаслідок чого каталог може бути цілком завантажений в основну пам'ять (і, відповідно, при цьому різко виростає швидкість роботи з ним). Природно, що деякі ключові елементи повинні зберігатися в каталозі. Звичайно до таким відносяться ім'я, адреса, розмір і організація.
Найпростішою структурою каталогу є список записів, по одному для кожного файлу. Цю структуру можна представити у вигляді простого послідовного файлу, у якому ключовим полем є ім'я файлу. У деяких ранніх однокористувацьких системах використовувалася саме така технологія, але вона не підходить ні для багатокористувацької системи, ні навіть для окремих користувачів з багатьма файлами.
Щоб зрозуміти вимоги, пропоновані до файлової структури, корисно розглянути типи операцій, що можуть бути виконані над каталогом.
• Пошук. При звертанні користувача чи додатка до файлу потрібно виконати пошук запису про цей файл у каталозі.
• Створення файлу. При створенні нового файлу необхідно додати відповідний елемент у каталог.
• Видалення файлу. При видаленні файлу з каталогу повинний бути вилучений відповідний елемент.
• Список файлів у каталозі. При роботі може бути необхідний запит усього вмісту каталогу (чи його частини). Звичайно на цей запит користувача повертається список усіх файлів, що належать даному користувачеві, а також деякі атрибути кожного файлу (наприклад, його тип, інформація про доступ, інформація про використання).
• Оновлення каталогу. Оскільки в каталозі зберігаються деякі атрибути файлу, зміна хоча б одного з них вимагає внесення зміни у відповідний елемент каталогу.
Для кожної ОС, відповідно до виконуваних задач, існують "свої"" реалізації логічного рівня для роботи з даними, що розрізняються способами організації структур даних, призначених для збереження даних. Розглянемо види файлових систем:
FAT (File Allocation Table) або FAT16 — файлова система операційної системи Dos.
Розділ (volume) FAT займає цілу дискету або розділ жорсткого диску.
Fat32 — модифікована версія FAT 16, для операційних систем сімейства Windows 9х/МЕ.
NTFS файлова система для Windows NT, розроблялася як надійна, стійка до апаратних помилок файлова системи. UFS (Unix File System) — перша файлова система для операційної системи UNIX, всі сучасні версії походять від неї.