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

Sis_prog_zabezpechennya

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

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

полегшує редагування зв’язків для міжсегментних посилань за рахунок використання динамічного редагування (кожен модуль або підпрограма оголошується новим сегментом). Можливе спільне використання реентерабельних модулів кількома користувачами одночасно.

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

Сегментно-сторінкова організація віртуальної пам’яті

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

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

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

81

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

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

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

Число пар (s, p) може бути досить великим навіть у однієї роботи, тоді як використання асоціативної пам’яті буде доцільним, коли асоціативна пам’ять має 8-16-32-64 комірки. Як правило, у реальних програмах звертання до пам’яті концентрується на невеликій кількості часто використовуваних сторінок, чиї елементи осідають в асоціативній пам’яті. Завдяки цьому сегмент- но-сторінкова організація віртуальної пам’яті зараз є домінуючою.

Семирівнева модель управління процесами глобальних мереж

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

82

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

багаторівневою схемою, розробленою і рекомендованою Міжнародною організацією стандартів ISO (рис. 19).

Фізичний зв’язок між процесами забезпечує середовище передавання (провідний зв’язок, оптоволоконні кабелі, радіозв’язок, супутниковий зв’язок).

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

Модель OSI має сім рівнів: фізичний, канальний, мережевий, транспортний, сеансовий, представлення даних і прикладний. Апаратно реалізуються два перших рівні, а верхні п’ять реалізуються програмно. Графічно схема взаємодії систем зображена на рис. 19.

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

Рис. 19. Семирівнева модель управління процесами мереж

83

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

двостороній взаємодії двох станцій — тільки з аналогічним рівнем іншої сторони.

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

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

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

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

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

Цей рівень призначений для формування кадрів конкретної мережі (Ethernet, FDDI, Token Ring, ArcNet), контролю помилок, управління доступом до середовища передавання, фізичної адресації.

Прикладами протоколів цього рівня є протокол канального рівня глобальних мереж HDLC, протоколи канального рівня, реалізовані в мережевих адаптерах.

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

84

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

ють на даному рівні — маршрутизатори. Приклади реалізацій цього рівня — протоколи X25, IPX, IP.

Рівні 1–3 організують базову мережу передавання даних, як систему, яка забезпечує надійну передачу даних між абонентами мережі.

Транспортний (рівень 4) забезпечує інтерфейс між МПД та трьома верхніми рівнями, надаючи користувачу факультативні можливості одержання сервісу визначеної якості й вартості від самої мережі та відділяючи користувача від фізичних і функціональних аспектів мережі (шляхом організації віртуальних каналів). Гарантується доставка даних (пакетів) у правильній послідовності, а також фрагментація блоків даних. На цьому рівні також забезпечується наскрізна звітність мережі. Приклади транспортних протоколів — SPX, TCP.

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

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

нормальне або прискорене передавання даних.

Сеансовий рівень організує сеанси зв’язку на період взаємодії процесів. На цьому рівні створюються порти для прийому й передавання повідомлень та організуються з’єднання — логічні канали. На цьому рівні функціонують протоколи SPX, TCP (частково).

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

85

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

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

Прикладний (рівень 7) забезпечує підтримку програмного процесу кінцевого користувача. Він має справу із семантикою даних, його сервісні елементи залежать від призначення мережі. Приклади: обмін фінансовими даними, обмін текстами на мовах програмування, обмін діловими даними та інше. Для кожного з цих різновидів прикладних процесів використовуються свої спеціалізовані пакети програм. Прикладний рівень також підтримує концепцію віртуального терміналу та віртуального файлу. Приклади: HTTP/HTTPS, FTP, Telnet тощо.

Сервісні системи

Сервісні системи — програмні системи, призначені для розширення користувацького і, частково, програмного інтерфейсів операційної системи ЕОМ.

За функціональним призначенням сервісні системи ділять на:інтерфейсні системи, в основному — графічного типу, які підтримують графічний користувацький інтерфейс в тому сенсі, що користувач у разі роботи з ними маніпулює образами, а не символами, причому з використанням «мишки»;

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

Симптоми вірусної атаки

Як симптоми вірусної атаки можуть слугувати такі події:

збільшилось число файлів на диску;

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

зменшилась кількість вільної оперативної пам’яті;

86

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

у файлу змінився параметр «дата-час»;

збільшився розмір виконуваної програми;

на диску з’явились збійні кластери;

програма завантажується або виконується довше, ніж звичайно;

помітно зріс час доступу до жорсткого диска;

система не завантажується з жорсткого диска;

інші підозрілі події.

Синхронізація процесів

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

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

У цьому випадку операції P (S) та V (S) (див. Взаємне виключення) слід визначити так:

87

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

P (S): S:=S+1; */породити новий підпроцес */ V (S): S:=S-1;

ЯКЩО S>0, ТО БЛОКУВАТИ процес, що очікує S ІНАКШЕ ДЕБЛОКУВАТИ процес, що очікує S

Зокрема, у Windows NT для синхронізації деякої задачі із сукупністю своїх підзадач можна послуговуватись функцією

WaitForMultipleObject, параметрами якої є:

кількість ідентифікаторів задач у масиві;

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

тип очікування (усі задачі завершились або хоч одна з них);

максимальний час очікування (тайм-аут).

У Windows NT передбачена також можливість синхронізації з певними подіями в контрольованих підзадачах. Для цього основна задача створює об’єкт-подію за допомогою функції CreateEvent і встановлює його початкове значення. Якщо подія повинна відбуватися в задачі, незалежній стосовно нашої основної задачі, то під час створення об’єкта-події необхідно вказати його ім’я, щоб цим вибраним іменем могла скористатись згадана задача незалежного процесу для налагодження міжпрограмного зв’язку. Потім, викликаючи функції WaitForSingleObject або WaitForMultipleObject, задача може очікувати моменту, коли об’єкт-подія змінить свій початковий стан. Після цього в зручний для неї момент основна задача ліквідує створений об’єктподію за допомогою функції CloseHandle. У контрольованих підзадачах стан об’єкта-події можна змінити за допомогою функцій

SetEvent, ResetEvent або PulseEvent, вказавши параметром заголовок (Handle) об’єкта-події. Якщо контрольована задача є незалежною відносно основної задачі, то вона повинна попередньо відкрити об’єкт-подію за допомогою функції OpenEvent, вказавши в ролі параметра згадуване вище вибране ім’я об’єкта-події.

Система переривань

ЕОМ — цифровий автомат, який функціонує відповідно до програми, що знаходиться в його ОП. Програміст у своїй програ-

88

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

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

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

Переривання бувають п’яти типів:

1.Зовнішні переривання (клавіатура, таймер, лінії зв’язку).

2.Виклик супервізора із програми користувача для виконання якоїсь з його функцій (поява в програмі команди INT).

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

4.Переривання через збій ЕОМ (від схем оперативного контролю ЕОМ).

5.Переривання від пристроїв уведення/виведення.

Система программування

Система программування — сукупність мови програмування і комплексу програм, які забезпечують реалізацію даної мови програмування засобами машинної мови кокнретної ЕОМ. У цей

89

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

програмний комплекс входять: транслятор, бібліотека стандартних програм, компонувальник (редактор зв’язків), наладжувальник та інші засоби.

Системи штучного інтелекту

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

обробка розмовних мов і моделювання діалогу;

експертні системи (системи прийняття експертних рішень);

автоматичне доведення теорем;

робототехніка;

розпізнавання образів тощо.

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

Системне програмне забезпечення (СПЗ) — комплекс програмних засобів, які призначені для підвищення ефективності використання потужностей ЕОМ, полегшення її експлуатації, зниження трудомісткості роботи з проектування та виконання програмних продуктів, надання користувачу ЕОМ різноманітних послуг. Без СПЗ ЕОМ позбавлена життя.

Структура СПЗ ЕОМ, яка відображає його класифікацію за функціональною ознакою, наведена на рис 20.

До складу СПЗ ЕОМ входять:

операційні системи — невід’ємна обов’язкова компонента ЕОМ, яка організує виконання програм та взаємодію користувача з комп’ютером;

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

90

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