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

Sis_prog_zabezpechennya

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

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

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

Еволюція операційних систем

Еволюція ОС тісно зв’язана з режимами доступу та режимами роботи ЕОМ, які поступово змінювались у процесі еволюції ЕОМ (рис. 3). Саме ОС і реалізує ці режими.

1.Режим безпосереднього доступу до ЕОМ, коли користувач сам запускає свою програму і веде з нею діалог у процесі роботи. Цей режим використовувався в ЕОМ першого та другого поколінь (без ОС) і в персональних комп’ютерах нині, на другому витку спіралі еволюції ЕОМ. Він забезпечує найвищу продуктивність праці користувачів за рахунок неповного використання потужності ЕОМ.

2.Пакетний режим. Завдання користувачів формуються в пакети, які пропускає оператор ЕОМ. Спілкування користувача

зЕОМ відбувається періодично (від двох годин до доби). У пакетному режимі краще завантажується обладнання ЕОМ за рахунок автоматизації процесу запуску-завершення задач. Продуктивність користувача тим нижча, чим триваліший період постановки задач у пакет (2–24 години).

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

21

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

Рис. 3. Еволюція операційних систем

22

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

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

Мультипрограмування забезпечує найвищу продуктивність обладнання ЕОМ.

4. Режим розподілу часу. ЕОМ працює в режимі мультипрограмування, користувач спілкується з ЕОМ за допомогою індивідуального терміналу. Є два типи систем розподілу часу: мультидоступ (колективне користування) та реальний час.

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

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

Щоб забезпечити режими мультипрограмування та розподілу часу, усі процеси в ЕОМ були зроблені асинхронними — введення та виведення інформації в ЕОМ виконувалось асинхронно до їх використання в програмах, для чого використовувалась буфе-

23

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

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

Архітектура ЕОМ типу центральний процесор із каналами була характерна для ЕОМ IBM 360–370 та сумісних з ними ЄС ЕОМ. Такі ЕОМ одержали назву «мейнфреймів». Паралельно успіх на ринку мали міні-ЕОМ, основним призначенням яких було використання їх як керуючих ЕОМ. Вони мали, як правило, центральний процесор меншої обчислювальної потужності, ніж у мейнфреймів, меншу оперативну пам’ять та невелику кількість зовнішніх пристроїв. Явно виражених каналів у них не було, їх роль виконували контролери зовнішніх пристроїв. МініЕОМ успішно реалізували режим реального часу, а також, за необхідності, мультидоступ із невеликим числом користувачів (2–4). З часом їх потужність стала зростати, наздоганяючи потужність мейнфреймів. Саме для міні-ЕОМ була створена мультизадачна ОС UNIX.

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

24

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

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

Еволюція програмних модулів у процесі їх розробки

У разі розробки програм широко використовується модульний принцип програмування, де кожна програма є модулем. Кілька модулів можуть бути об’єднані і скласти більший модуль, крім того, модулі можуть викликати один одного динамічно (рис. 4).

Програма, записана будь-якою мовою програмування, називається початковим модулем (ПМ). Початковий модуль перетворюється відповідним транслятором в об’єктний модуль (ОМ) — модуль в проміжному форматі, спільному для всіх трансляторів. Об’єктний модуль ще не призначений для безпосереднього виконання, оскільки крім тексту програми (ще не зовсім готового для виконання на ЕОМ) містить додаткову інформацію про організацію зв’язків між програмними модулями та про налагодження програми на конкретне місце в оперативній пам’яті під час її завантажування. ОМ повинен пройти ще один етап обробки — редагування. На цьому етапі він обробляється системною програмою «Редактор зв’язків». У результаті з’являється програма, готова до завантаження її в ОП з настроюванням на конкретні адреси. Така програма називається завантажувальним модулем (ЗМ). ПМ, ОМ та ЗМ є переміщуваними модулями, не пов’язаними з конкретними адресами пам’яті ЕОМ. Після завантаження в ОП спеціальною програмою-заван- тажником і настроювання на певні адреси модуль стає непереміщуваним (абсолютним).

Нині ситуація в ПК така, що кожний розробник трансляторів орієнтується на своє специфічне операційне середовище, тому етап редагування або взагалі не передбачається, або передбачається в урізаному варіанті (тільки для «своїх» модулів), і заван-

25

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

Рис. 4. Схема перетворення модулів

тажувальні модулі виготовляються безпосередньо транслятором.

Об’єктний модуль складається з тексту програми в машинному коді та двох словників — словника зовнішніх імен та словника переміщень.

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

Завантажувальний модуль, крім тексту програми, має словник переміщень, який містить внутрішні адресні посилання, типовим прикладом яких є адресні константи. Це константи, у яких з певних причин довелось вказати на конкретні адреси і під час переміщення такого модуля з одного на інше місце в ОП або під час завантаження ці константи повинні бути відповідним чином змінені. Це, наприклад, адреси для передавання управління в інший програмний сегмент (JMP FAR) або виклик програми, завантаженої в інший сегмент (CALL FAR), повернення в материнську програму з підпрограми (RET, IRET) та ін.

Електронна таблиця

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

26

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

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

Захист від вірусів

1. Використання загальних засобів захисту інформації:

періодичне архівування інформації;

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

2. Профілактичні заходи:

копіювати програми тільки з оригіналів виробника;

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

3. Використання спеціалізованих (антивірусних) програм:

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

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

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

програми-лікарі (фаги) — «лікують» заражені програми або диски, «викушуючи» з них тіла вірусів, тобто відновлюючи

27

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

їх до початкового стану (їх краще застосовувати тільки тоді, коли правильної копії зараженої програми немає в архіві);

програми-вакцини (імунізатори) — модифікують програми

ідиски таким чином, що це не відображається на їх роботі, але вірус, проти якого виконується вакцинація, вважає ці програми

ідиски вже зараженими.

Захист інформації

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

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

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

28

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

такого виду є організаційні заходи, що спираються на відповідні законодавчі акти.

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

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

загородження.

Обмеження доступу є основним засобом боротьби з несанкціо-

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

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

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

Захист пам’яті

За умов знаходження в пам’яті ЕОМ кількох програм, деякі з них можуть через помилки в програмі «незаконно» змінювати вміст пам’яті, відведеної для інших програм. Ці ж дії можуть

29

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

виконуватись і зловмисно. Тому ОС повинна забезпечити захист програм від взаємного впливу. Найчастіше використовуються такі методи захисту:

1.Захист регістрами. Кожній програмі відводиться деякий адресний простір у пам’яті і граничні адреси цього простору заносяться у два регістри захисту, пов’язані з цією програмою. Якщо програма генерує адресу, яка виходить за встановлені межі, виробляється сигнал переривання типу «порушення захисту пам’яті».

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

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

3.Посегментний захист. Кожна програма одержує у своє розпорядження кілька сегментів. Інформація про кожен сегмент відображається в дескрипторі відповідного сегмента. Програма може звертатись тільки до сегментів пам’яті, які відображені в дескрипторних таблицях для конкретної програми.

Інкапсуляція даних в Інтернеті

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

30

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