WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

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

ГоловнаІнформатика, Компютерні науки → Планування ресурсу „центральний процесор” - Реферат

Планування ресурсу „центральний процесор” - Реферат

в собі властивості всіх розглянутих раніше. (мал..3)
Обслуговування не завершене
Обслужений запит
Новий запит
Квант обслуговування
Мал.11. Багаторівнева черга з оберненими зв'язками
Диспетчеризація без перерозподілу процесорного часу, або невиштовхуюча багатозадачність ( поп- preemptive, multitasking ) - це такий спосіб диспетчеризації процесів, при якому активний процес виконується до тих пір, поки він сам, що називається " по власній ініціативі ", не віддасть управління диспетчеру задач для вибору із черги другого, готового для виконання процесу або треда. Дисципліни обслуговування FCFS, SJN, SRT відносяться до не виштовхуючих.
Диспетчеризація з перерозподілом процесорного часу між задачами, або виштовхувана багатозадачність ( preemptive, multitasking ) - це такий спосіб, при якому рішення про переключення процесора з виконання одного процесу на виконання другого приймається диспетчером задач, а не самою активною задачею.
5. Переривання
Переривання - це примусова передача керування від виконуваної програми до системи (а через неї - до відповідної програми обробки переривання), що виникає при визначеній події. Переривання являють собою механізм, що дозволяє координувати стабільне функціонування окремих пристроїв обчислювальної системи і реагувати на особливі стани, що виникають при роботі процесора.
Механізм переривань реалізується апаратно-програмними засобами. Структури систем переривання (у залежності від апаратної архітектури) можуть бути різними, але усі вони мають одну загальну особливість - переривання неодмінне спричиняє зміну порядку виконання команд процесором.
Механізм обробки переривань незалежно від архітектури обчислювальної системи включає наступні елементи:
1 Встановлення факту переривання (прийом сигналу на переривання) і ідентифікація переривання (в ОС іноді здійснюється повторно, на кроці 4).
2. Запам'ятовування стану перерваного процесу. Стан процесу визначається насамперед значенням лічильника команд (адресою наступної команди, що, наприклад, у і80х86 визначається регістрами CS і IР - покажчиком команди), вмістом регістрів процесора і може включати також специфікацію режиму (наприклад, режим користувацький чи привілейований) і іншу інформацію.
3. Керування апаратно передається підпрограмі обробки переривання. У найпростішому випадку в лічильник команд заноситься початкова адреса підпрограми обробки переривань, а у відповідні регістри - інформація зі слова стану. У більш розвитих процесорах, наприклад у тім же і80286 і наступних 32-бітових мікропроцесорах, починаючи з і80386, здійснюється досить складна процедура визначення початкової адреси відповідної підпрограми обробки переривання і не менш складна процедура ініціалізації робочих регістрів процесора.
4. Збереження інформації про перервану програму, що не вдалося врятувати на кроці 2 за допомогою дій апаратури. У деяких обчислювальних системах передбачається запам'ятовування великого обсягу інформації про стан перерваного процесу.
5. Обробка переривання. Ця робота може бути виконана тією же підпрограмою, які було передане керування на кроці 3, але в ОС найчастіше вона реалізується шляхом наступного виклику відповідної підпрограми.
6. Відновлення інформації, що відноситься до перерваного процесу (етап, зворотний кроку 4).
7. Повернення в перервану програму.
Кроки 1-3 реалізуються апаратно, а кроки 4-7 - програмно.
На мал. 12 показано, що при виникненні запиту на переривання природний хід обчислень порушується і керування передається програмі обробки виниклого переривання. При цьому засобами апаратури зберігається (як правило, за допомогою механізмів стекової пам'яті) адреса тієї команди, з якою варто продовжити виконання перерваної програми. Після виконання програми обробки переривання керування повертається перерваній раніше програмі за допомогою занесення в покажчик команд збереженої адреси команди. Однак така схема використовується тільки в найпростіших програмних середовищах. У мультипрограмних ОС обробка переривань відбувається по більш складних схемах, про що буде більш докладно написано нижче.
Переривання
Програма обробки переривання
Рис.12 Обробка переривання
Отже, головні функції механізму переривань:
- розпізнавання класифікація переривань;
- передача керування відповідно оброблювачу переривань;
- коректне повернення до перерваної програми.
Перехід від програми, що переривається, до оброблювача і назад повинний виконуватися як можна швидше. Одним зі швидких методів є використання таблиці, що містить перелік усіх припустимих для комп'ютера переривань і адреси відповідних оброблювачів. Для коректного повернення до перерваної програми перед передачею керування оброблювачу переривань вміст регістрів процесора запам'ятовується або в пам'яті з прямим доступом, або в системному стеці - system stack.
5.1. Зовнішні та внутрішні переривання
Переривання, що виникають при роботі обчислювальної системи, можна розділити на два основні класи: зовнішні (їх іноді називають асинхронними) і внутрішні (синхронні).
Зовнішні переривання викликаються асинхронними подіями, що відбуваються поза процесом, що переривається, наприклад:
- переривання від таймера;
- переривання від зовнішніх пристроїв (переривання в/в);
- переривання від живленння;
- переривання з пульта оператора обчислювальної системи;
- переривання від іншого процесора або іншої обчислювальної системи.
Внутрішні переривання викликаються подіями, що зв'язані з роботою процесора і є синхронними з йогоопераціями. Прикладами є наступні запити на переривання:
- при порушенні адресації (в адресній частині виконуваної команди заборона доступу до неіснуючої адреси, звертання до відсутнього сегмента на сторінці при організації механізмів ВП);
- при наявності в поле коду операції незадіяної двійкової комбінації;
- при діленні на нуль;
- при переповненні або зникненні порядку;
- при виявленні помилок парності, помилок у роботі різних пристроїв апаратури засобами контролю.
5.2. Переривання за допомогою супервізора.
Можуть ще існувати переривання при звертанні до супервізора ОС - у деяких комп'ютерах частина команд може використовувати тільки ОС, а не користувачі. Відповідно в апаратурі передбачені різні режими роботи, і програми користувачів виконуються в режимі, у якому ці привілейовані команди не виконуються. При спробі використовувати команду, заборонену в даному режимі, відбувається внутрішнє переривання і керування передається супервізору ОС. До привілейованих команд відносяться і команди переключення режиму робота ЦП. Нарешті, існують власне програмні переривання. Ці переривання відбуваються по відповідній команді переривання, тобто по цій команді процесор здійснює практично ті ж дії, що і при звичайних внутрішніх перериваннях. Даний механізм, був спеціально введений для того, щоб переключення на системні програмні модулі відбувався не просто як перехід у підпрограму, а точно в такий же спосіб, як і звичайне переривання. Цим забезпечується автоматичне, переключення процесора в привілейований режим з можливістю виконання будь-яких
Loading...

 
 

Цікаве