Реферат: Системне програмне забезпечення
при наявності в поле коду операції незадіяної двійкової комбінації;
при діленні на нуль;
при переповненні або зникненні порядку;
при виявленні помилок парності, помилок у роботі різних пристроїв апаратури засобами контролю.
Нарешті, існують власне програмні переривання. Ці переривання відбуваються по відповідній команді переривання, тобто по цій команді процесор здійснює практично ті ж дії, що і при звичайних внутрішніх перериваннях.
Сигнали, що викликають переривання, формуються поза процесором чи у самому процесорі, можуть виникати одночасно. Вибір одного з них для обробки здійснюється на основі пріоритетів, приписаних кожному типу переривання.
Зовнішні
пристрої
Рис.2. Розподіл переривань по рівнях пріоритету
Програмне керування спеціальними регістрами маски (маскування сигналів переривання) дозволяє реалізувати різні дисципліни обслуговування переривань :
з відносними пріоритетами, тобто обслуговування не переривається навіть при наявності запитів з більш високими пріоритетами. Після закінчення обслуговування даного запиту обслуговується запит з найвищим пріоритетом. Для організації такої дисципліни необхідно в програмі обслуговування даного запиту накласти маски на всі інші сигнали переривання або просто відключити систему переривань;
з абсолютними пріоритетами, тобто завжди обслуговується переривання з найвищим пріоритетом. Для реалізації цього режиму необхідно на час обробки переривання замаскувати всі запити з більш низьким пріоритетом. При цьому можливе багаторівневе переривання, тобто переривання програм обробки переривань. Число рівнів переривання в цьому режимі змінюється і залежить від пріоритету запиту;
за принципом стека, чи, як іноді говорять, по дисципліні LCFS (1аst соme first served — останнім прийшов — першим обслугований), тобто запити з більш низьким пріоритетом можуть переривати обробку переривання з більш високим пріоритетом. Для цього необхідно не накладати маски ні на один сигнал переривання і не виключати систему переривань.
У багатьох операційних системах перші секції підпрограм обробки переривань виділяються в спеціальний системний програмний модуль, називаний супервізором переривань.
Супервізор переривань насамперед зберігає в дескрипторі поточної задачі робочі регістри процесору, що визначають контекст обчислювального процесу, що переривається. Далі він визначає ту підпрограму, що повинна виконати дії, зв'язані з обслуговуванням поточного запиту на переривання. Нарешті, перед тим як передати керування цій підпрограмі, супервізор переривань установлює необхідний режим обробки переривання. Після виконання підпрограми обробки переривання керування знову передається супервізору, цього разу уже на той модуль, що займається диспетчеризацією задач. І уже диспетчер задач, у свою чергу, відповідно до прийнятого режиму розподілу процесорного часу (між процесами, що виконуються,) відновить контекст тієї задачі, якій буде вирішено виділити процесор. Розглянута нами схема проілюстрована на мал.3
Рис. 3. Обробка переривання при участі супервізорів ОС
4. Способи виділення пам’яті під новий розділ. Їх переваги і недоліки
Загальноприйнята в даний час концепція віртуальної пам'яті з'явилася досить давно. Вона дозволила вирішити цілий ряд актуальних питань організації обчислень. Насамперед до числа таких питань відноситься забезпечення надійного функціонування мультипрограмних систем.
У будь-який момент часу комп'ютер виконує безліч процесів чи задач, кожна з яких має свій власний адресний простір. Тому необхідний механізм поділу невеликої фізичної пам'яті між різними задачами. Віртуальна пам'ять є одним зі способів реалізації такої можливості. Вона поділяє фізичну пам'ять на блоки і розподіляє їх між різними задачами. При цьому вона передбачає також деяку схему захисту, що обмежує задачу тими блоками, що їй належать.
Крім того, віртуальна пам'ять спрощує також завантаження програм, забезпечуючи механізм автоматичного переміщення програм, що дозволяє виконувати ту саму програму в довільному місці фізичної пам'яті.
З іншого боку існує поняття фізичної оперативної пам’яті, власне з якою і працює процесор, витягаючи з неї команди і дані і поміщаючи в неї результати обчислень.
Фізична пам’ять – це впорядкована множина комірок, що пронумеровані, тобто до кожної з них можна звернутись, вказавши її адресу. При цьому кількість комірок фізичної пам’яті обмежена і фіксована.
Системне програмне забезпечення повинно зв’язувати кожне ім’я, що вказане користувачем, з фізичною коміркою, тобто здійснювати відображення імен на фізичну пам’ять комп’ютера.
| |
Простір імен програми
|
Рис.1. Пам’ять і відображення
В загальному випадку відображення відбувається в два етапи: спочатку системою програмування, після чого операційною системою (використовуючи спеціальні модулі управління пам’яттю і відповідні засоби обчислювальної системи.) Між цими етапами звертання до пам’яті мають форму віртуальної або логічної адреси. При цьому можна сказати, що множина всіх допустимих значень віртуальної адреси для деякої програми визначають її віртуальний адресний простір або віртуальну пам’ять. Віртуальний адресний простір насамперед залежить від архітектури процесора і від системи програмування, при цьому практично не залежить від реального об’єму фізичної пам’яті комп’ютера.
Термін віртуальна пам’ять фактично відноситься до систем, які зберігають віртуальні адреси під час виконання. Так як друге відображення здійснюється в процесі виконання задачі, то адреси фізичних комірок можуть змінюватися.
Просте неперервне розподіленння і
розподілення з перекриттям (оверлейні структури)
Просте неперервне розприділенння - це найпростіша схема, відповідно до якої вся памя’ть умовно може бути розділена на три частини: