Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
всі білети.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
696 Кб
Скачать
☆

Логічна організація файлових систем. Загальні відомості про файлові операції. Файлові операції posix.

Загальні відомості про файлові операції

Назвемо основні файлові операції, які звичайно надає операційна система для використання у прикладних програмах.

Відкриття файла. Після відкриття файла процес може із ним працювати (наприклад, робити читання і записування). Відкриття файла зазвичай передбачає завантаження в оперативну пам'ять спеціальної структури даних - дескриптора файла, який визначає його атрибути та місце розташування на диску. Наступні виклики використовуватимуть цю структуру для доступу до файла.

Закриття файла. Після завершення роботи із файлом його треба закрити. При цьому структуру даних, створену під час його відкриття, вилучають із пам'яті. Усі дотепер не збережені зміни записують на диск.

Створення файла. Ця операція спричиняє створення на диску нового файла нульової довжини. Після створення файл автоматично відкривають.

4- Вилучення файла. Ця операція спричиняє вилучення файла і вивільнення зайнятого ним дискового простору. Вона зазвичай недопустима для відкритих файлів.

Читання з файла. Ця операція звичайно зводиться до пересилання певної кількості байтів із файла, починаючи із поточної позиції, у заздалегідь виділений для цього буфер пам'яті режиму користувача.

Записування у файл. Здійснюють із поточної позиції, дані записують у файл із заздалегідь виділеного буфера. Якщо на цій позиції вже є дані, вони будуть перезаписані. Ця операція може змінити розмір файла.

Переміщення покажчика поточної позиції. Перед операціями читання і записування слід визначити, де у файлі перебувають потрібні дані або куди треба їх записати, задавши за допомогою цієї операції поточну позицію у файлі. Зазначимо, що якщо перемістити покажчик файла за його кінець, а потім виконати операцію записування, довжина файла збільшиться.

Отримання і задания атрибутів файла. Ці дві операції дають змогу зчитувати поточні значення всіх або деяких атрибутів файла або задавати для них нові значення.

Усі UNIX-системи реалізують доступ до файлів за допомогою компактного набо­

ру системних викликів, визначеного стандартом POSIX, який відповідає набору

файлових операцій, наведених у попередньому розділі.

Відкриття і створення файлів

Для відкриття файла використовують системний виклик ореп(), першим пара­

метром якого є шлях до файла.

#і псіude <fcntl,h>

int open(const char *pathname. int flags[. mode_t mode]); Закриття файла

Файл закривають за допомогою системного виклику close(), що приймає файло­

вий дескриптор:

closetfdl);

Читання і записування даних

Для читання даних із відкритого файла використовують системний виклик readO:

ssizet read(int fdl, void *buf, size_t count);

ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 3

Основні концепції операційних систем. Історія розвитку операційних систем. Класифікація сучасних операційних систем.

Перші операційні системи з'явилися в 50-ті роки і були системами пакетної обробки. Такі системи забезпечували послідовне виконання програм у пакетному режимі (без можливості взаємодії з користувачем). У певний момент часу в пам'яті могла перебувати тільки одна програма (системи були однозадачними), усі програми виконувалися на процесорі від початку до кінця. Наступним етапом стала підтримка багатозадачності. У багатозадачних системах у пам'ять комп'ютера стали завантажувати кілька програм, які виконувалися на процесорі навперемінно. При цьому розвивалися два напрями: багатозадачна пакетна обробка і розподіл часу. У багатозадачній пакетній обробці завантажені програми, як і раніше, виконувалися в пакетному режимі. У режимі розподілу часу із системою могли працювати одночасно кілька користувачів, кожному з яких надавався діалоговий термінал (пристрій, що складається із клавіатури і дисплея). Підтримка багатозадачності потребувала реалізації в ОС засобів координації задач. Можна виділити три складові частини такої координації.

Захист критичних даних задачі від випадкового або навмисного доступу інших задач.

Забезпечення обміну даними між задачами.

Надання задачам справедливої частки ресурсів (пам'яті, процесора, дискового простору тощо).

Ще одним етапом стала поява ОС персональних комп'ютерів. Спочатку ці системи, як і ОС першого етапу, були однозадачними й надавали базовий набір стандартних служб (на цьому етапі важливим було впровадження графічного інтерфейсу користувача). Подальший розвиток апаратного забезпечення дав змогу викори­стати в таких системах засоби, розроблені для більших систем, насамперед багатозадачність і, як наслідок, координацію задач. Класифікація сучасних операційних систем

Розглянемо класифікацію сучасних операційних систем залежно від області їхнього застосування. Насамперед відзначимо ОС великих ЕОМ (мейнфреймів). Основною характеристикою апаратного забезпечення, для якого їх розробляють, є продуктивність введення-виведення: великі ЕОМ оснащують значною кількістю периферійних пристроїв (дисків, терміналів, принтерів тощо). Такі комп'ютерні системи використовують для надійної обробки значних обсягів даних, при цьому ОС має ефективно підтримувати цю обробку (в пакетному режимі або в режимі розподілу часу). Прикладом ОС такого класу може бути OS/390 фірми IBM. До наступної категорії можна віднести серверні ОС. Головна характеристика таких ОС — здатність обслуговувати велику кількість запитів користувачів до спільно використовуваних ресурсів. Важливу роль для них відіграє мережна підтримка. Є спеціалізовані серверні ОС, з яких виключені елементи, не пов'язані з виконанням їхніх основних функцій (наприклад, підтримка застосувань користувача). Нині для реалізації серверів частіше застосовують універсальні ОС (UNIX або системи лінії Windows ХР).

Наймасовіша категорія - персональні ОС. Деякі ОС цієї категорії розробляли з розрахунком на непрофесійного користувача (лінія Windows 95/98/Ме фірми Microsoft, яку далі називатимемо Consumer Windows), інші є спрощеними вер­сіями універсальних ОС. Особлива увага в персональних ОС приділяється підтримці графічного інтерфейсу користувача і мультимедіа-технологій. Виділяють також ОС реального часу. У такій системі кожна операція має бути гарантовано виконана в заданому часовому діапазоні. ОС реального часу можуть керувати польотом космічного корабля, технологічним процесом або демонстрацією відеороликів. Існують спеціалізовані ОС реального часу, такі як QNX [1, 7, 11] і VxWorks.

Ще однією категорією є вбудовані ОС. До них належать керуючі програми для різноманітних мікропроцесорних систем, які використовують у військовій техніці, системах побутової електроніки, смарт-картах та інших пристроях. До таких систем ставлять особливі вимоги: розміщення в малому обсязі пам'яті, підтримка спеціалізованих засобів введення-виведення, можливість прошивання в постійному запам'ятовувальному пристрої. Часто вбудовані ОС розробляються під конкретний пристрій; до універсальних систем належать Embedded Linux [68] і Windows СЕ [49].