Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sis_prog_zabezpechennya

.pdf
Скачиваний:
60
Добавлен:
17.03.2016
Размер:
832.88 Кб
Скачать

Енциклопедичне видання

Управління взаємодією процесів

Під процесом в ОС розуміють виконання однієї програми. Процеси можуть взаємодіяти один з одним. Взаємодіяти можуть або конкуруючі процеси, або процеси, які спільно виконують якусь роботу. Прикладом процесів першого типу може бути програма обробки відсутності сторінок в ОП та система введення/виведення. Кожна з цих програм додає запит на читання/запис із конкретного диска в список запитів на введення/виведення. Прикладом процесів другого типу може бути пара програм «виробник — споживач». Наприклад, виробник може подавати запити на обслуговування з терміналу, а споживач — виконувати їх обробку, причому обидва процеси ідуть приблизно з однаковою швидкістю. Щоб згладити різницю в швидкостях, виробник і споживач спільно використовують буфер, який вміщує записані виробником, але ще не оброблені споживачем запити. Через непередбачуваність відносних швидкостей взаємодіючих процесів, непередбачуваним є і вплив, який чинять одна на іншу взаємодіючі програми. Тут можуть мати місце різноманітні помилки типу втрати запиту або подвійна обробка одного і того ж запиту. Щоб забезпечити правильну взаємодію конкуруючих процесів, застосовується взаємне виключення процесів, яке не дозволяє двом процесам одночасно звертатись до розподілюваних змінних (які є представниками тих чи інших ресурсів). Для сумісного виконання спільної роботи необхідні засоби синхронізації процесів.

Управління відновленням після збоїв

Однією з особливостей ЕОМ є те, що для неї поряд із відмовою

— повною або частковою втратою системою (елементом) працездатності внаслідок виходу з установлених допусків значень одного або кількох основних параметрів — є характерним явище збою. Збоєм називають короткочасне порушення нормальної роботи ЕОМ внаслідок неправильного спрацювання одного або кількох елементів, після чого працездатність охоплених збоєм елементів

111

Системне програмне забезпечення

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

Для автоматизації ліквідації наслідків збоїв в апаратурі ЕОМ використовуються як апаратні, так і програмні засоби. Ці засоби призначені, з одного боку, для збільшення достовірності функціонування ЕОМ і, з іншого боку, для локалізації наслідків збоїв та забезпечення можливості використання результатів роботи ЕОМ, одержаних до виникнення збою. Коли схеми оперативного апаратного контролю виявляють помилку в операціях ЕОМ і ця помилка не замаскована, відбувається переривання відповідного типу й управління передається програмі управління відновленням. У процесі виконання цього переривання апаратні засоби записують інформацію про логічний стан обладнання ЕОМ в момент виявлення помилки в спеціальний діагностичний розділ пам’яті. Цю інформацію використовують програми відновлення для запису про помилку в системний журнал та спроби відновлення обчислювального процесу. Записи системного журналу використовують для збору статистики та аналізу перед виконанням контрольно-профілактичних робіт.

Відновлення нормальної роботи ЕОМ може мати місце на одному з чотирьох рівнів:

1.Функціональне відновлення — відновлення роботи перерваної програми в точці, де була зафіксована помилка. Апаратні засоби або програмні засоби відновлення виправляють помилку, повторюють виконану з помилкою команду процесора або операцію введення/виведення.

2.Системне відновлення — аварійне припинення програми, яка зазнала впливу помилки, що дозволяє продовжити роботу системи з виконання решти наявних в ЕОМ програм, неушкоджених збоєм.

112

Енциклопедичне видання

3.Системнозабезпечуваний рестарт — повторне завантаження системи з використанням системної черги завдань та даних, збережених засобами системного рестарту.

4.Ремонт системи — загальна зупинка системи для ручного ремонту з використанням записів системного журналу.

Управління доступом

Повноваження, які має користувач відносно деякого файлу, залежать як від файлу, так і від користувача.

У цілому можна виділити такі класи користувачів:

власник (укладач) файлу, який має всі права і може передавати права іншим;

партнери, які використовують файл поряд із власником;

призначені користувачі, яким передані певні права;

рядові користувачі.

Користувачі різних класів мають різні права доступу:ніяких прав, аж до права знати про існування файлу;знання про наявність файлів, тобто право перегляду каталогу;виконання — можна викликати програму для виконання, але

без права копіювання;читання — виклик із будь-якою метою, включаючи копіювання;

доповнення (дозапис даних тільки в кінець файлу);модифікація, включаючи початковий запис, перезапис повністю або частини, переміщення всіх або частини даних (диференційоване право);зміна захисту — право користування може бути передане

власником своїм партнерам (диференційоване право);знищення файлу в системі.

Це типова ієрархія, але може бути й інша. Наприклад, в ОС360 є такий вид прав доступу: користувач може дописувати файл, але не має права його читати (щоб студенти не мали змоги прочитати відповідь на запитання).

113

Системне програмне забезпечення

Управління доступом може бути реалізоване за допомогою паролів. Для різних прав доступу використовуються різні паролі (пароль для читання, запису, пароль власника). Система захисту з паролями працює успішно доти, поки не розголошені паролі.

Управління пам’яттю

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

Частину ОП займає ядро ОС, програми, які повинні постійно (резидентно) бути присутніми в ОП і забезпечувати функціонування всієї системи без невиправданих затримок.

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

У різних ОС використовуються як неперервний, так і розривний розподіл пам’яті. У разі неперервного розподілу пам’яті програма користувача одержує неперервну ділянку ОП потрібного їй розміру.

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

Тут використовуються поняття: відображення програми на фізичну пам’ять, віртуальна (уявна, незалежна) адреса, віртуальна пам’ять. Програміст, пишучи програму, уявляє, що він оперує неперервною ОП необмеженого розміру. Транслятор генерує програму машинною мовою у відносних адресах, які по суті є віртуальними, оскільки адресація починається з нульової адреси, а сюди програма користувача завантаженою бути не може —

114

Енциклопедичне видання

це службові комірки пам’яті ОС. У випадку розподілу пам’яті неперервними розділами після завантаження програми віртуальна адреса втрачається і доступ виконується безпосередньо до фізичних комірок пам’яті. Більш гнучкий розподіл досягається, коли транслятор виробляє в ролі віртуальної адреси відносну адресу та інформацію про адресу початку модуля, а ОС виконує відображення не один раз під час початкового завантаження, а також кожного звертання до адреси. Термін «віртуальна пам’ять» фактично відноситься до систем, які зберігають віртуальну адресу під час виконання програми, водночас фізичні адреси можуть змінюватись.

Основні методи організації віртуальної пам’яті — сегментний, сторінковий, сегментно-сторінковий.

Утиліти

Утиліти — обслуговуючі програми, які надають користувачам часто використовувані ними послуги, реалізація яких вимагала б розробки спеціальних програм.

Утиліти забезпечують реалізацію таких (основних) функцій:обслуговування дисків (форматування, відновлення помилково втраченої інформації, надійне затирання конфідеційної інформації тощо);обслуговування файлів і каталогів (детальніше, ніж в оболонках);створення та обновлення архівів;

шифрування інформації;роздруковування вмісту файлів;захист від комп’ютерних вірусів;моделювання «калькулятора»;

видачу деякої адміністративної інформації тощо.

115

Системне програмне забезпечення

Файл

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

Як правило, час існування файлу перевищує час виконання програми чи сеансу роботи з ЕОМ. У ролі постійного носія для файлів виступає зовнішня пам’ять. Файл є об’єктом. У нього є ім’я, яке дає можливість його позначити, він також наділений функціями доступу, тобто операціями, які дозволяють перевіряти, використовувати або змінювати інформацію, що знаходиться в файлі. Користувач організовує інформацію у файлі відповідно до своїх потреб, формуючи певну структуру (організацію), яку називають логічною. Функції доступу визначаються цією структурою. Представлення файлів у зовнішній пам’яті (адреси розміщення, кодування) визначає їх фізичну організацію. Представлення логічної організації файлів за допомогою їх фізичної організації (зберігання файлів, реалізація функцій доступу) є функціями системи управління файлами.

Файли, як правило, складаються із записів, які, у свою чергу, поділяються на поля. Кожне поле містить значення деякої величини. Значення полів одного запису, як правило, пов’язані між собою і складають деяку єдину сутність. Найчастіше програму обробки інформації файлу пишуть для обробки одного запису і використовують циклічно. Винятком є файли, які містять тексти програм і фактично є одиним записом. Єдиною функцією, що застосовується до такого файлу, є функція ВИКОНАТИ, тобто завантажити в ОП і передати управління на першу команду програми. Іншим граничним випадком є текстовий файл, який обробляється посимвольно і тому записом вважається кожен символ. Наприклад, у файлі, що містить інформацію про персонал деякої фірми, кожному співробітнику відводиться один запис. Полями цього запису є: прізвище, ім’я, по-батькові, дата народження, соціальний стан, фах і т. п.

116

Енциклопедичне видання

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

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

До функцій, що виконуються на вимогу користувача, належать насамперед ПРОЧИТАТИ і ЗАПИСАТИ. Особливим випадком записування є функція МОДИФІКУВАТИ, яка додає або вставляє нову інформацію в файл, або перезаписує її. Ця функція створює мітку (дескриптор) файлу, для розміщення в ній характеристик файлу, а також відводить місце в зовнішній пам’яті. Оберненою до утворення є функція ЗНИЩИТИ файл. Для організації кожного сеансу роботи з файлом його треба ВІДКРИТИ. Ця функція зчитує дескриптор файлу в ОП. Копія дескриптора файлу знаходиться в ОП доти, поки не буде знищена функцією ЗАКРИТИ файл. Таким чином, функції ВІДКРИТИ та ЗАКРИТИ виконуються в контексті процесу і мають відношення до доступності файлу до певного процесу. Функція ПЕРЕІМЕНУВАТИ надає можливість використання файлу під різни-

117

Системне програмне забезпечення

ми іменами в різних програмах, виключаючи при цьому конфлікти під час посилання програм на один і той же файл з різними іменами, або на різні файли з одним і тим же іменем. Для обміну інформацією між файлами використовуються функції КОПІЮВАТИ та ПЕРЕПИСАТИ. Друга з цих функцій знищує інформацію у файлі, у якому вона була до початку операції, перша — залишає незмінною.

Функція розстановки

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

двохбуковністю (тобто можливим є всього N2 імен). Тоді можна створити такі таблиці. У першій таблиці, довжиною N, у рядку, що відповідає певній букві алфавіту вказується адреса таблиці, довжиною N, других букв алфавіту для даної першої букви. У кожному рядку таблиці другого рангу вказується адреса призначення (результат пошуку) для конкретного двохбуковного імені. Тепер для пошуку адреси інформації, пов’язаної з певним іме-

нем, достатньо двох звертань до таблиць замість N2/4 (у серед-

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

Цифровий підпис

Узв’язку з переходом до безпаперової електронної технології

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

118

Енциклопедичне видання

Це може бути рядок символів, який супроводжує документ. Якби проставлюваний підпис був один і той же кожного разу, його легко підробити шляхом копіювання цього рядка. Отже, кожен новий підпис повинен відрізнятися від попереднього. Такий підпис легко одержати, якщо він є деякою функцією підписаного ним повідомлення. Крім того, щоб підпис кожної особи, що підписує (підписанта), відрізнявся від підписів інших осіб і був стійким проти підробки, він повинен бути функцією деякого секретного параметра, індивідуального для кожного підписанта.

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

У загальному випадку процедура електронного підпису має такий вигляд. Відправник А готує своє повідомлення М до підписування за допомогою спеціальної кеш-функції. Результатом роботи цієї програми буде короткий (наприклад, 128 біт) рядок

— сигнатура, зміст якої повністю кореспондується зі змістом повідомлення М: Х=Н (М). Кеш-функція (стандартна, їх багато) вибрана таким чином, щоб найменші зміни в повідомленні М спричиняли до значних змін у сигнатурі. Сигнатура шифрується секретним ключем DA відправника, у результаті чого одержують

електронний підпис SA, тобто SA=DA (X). Одержаний електрон-

ний підпис приєднується до повідомлення М і передається по каналу зв’язку. Прийнявши повідомлення М` з електронним підписом S`A, одержувач може встановити справжність повідом-

лення та підпису так: спочатку він обчислює кеш-значення X`=H (M`) прийнятого повідомлення M`, потім, знаючи відкри-

119

Системне програмне забезпечення

тий ключ ЕА відправника А, визначає з прийнятого підпису

X``=EA (S`A). Очевидно, що якщо M` дійсно відправлене відправ-

ником А, тобто не було змінене (M`=М), і саме відправник А підписав повідомлення, оскільки тільки він міг сформувати значення SA, знаючи DA, то X``=X`, у противному випадку (X`` X`) або

відбулась модифікація повідомлення М, або не відправник А підписав його, або те й інше разом.

Цілісність даних

Дані можуть псуватись як через незаконне вторгнення користувача, так і через помилки системи або стихійні явища. Метод боротьби за цілісність даних — періодичне копіювання (архівація).

Використовуються три варіанти архівації.

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

2.Краще використовувати періодичне копіювання даних, вміст яких змінився після останнього копіювання. Для цього вводиться спеціальна ознака для файлу — дата останньої модифікації. У цьому випадку відновлення файлу за необхідності виконується в зворотному до архівації порядку.

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

3.Підтримувати три покоління файлу — поточний (синівський), батьківський і дідівський, щоб у будь-який момент мати хоча б одну копію. Це використовується в системах із підвищеною надійністю.

120

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]