Особливості організації обробки переривань процесора в ОС Linux
Переривання як механізм, що дозволяє координувати паралельне функціонування окремих пристроїв комп’ютерної системи, реагувати на стани, що виникають при роботі процесора. Використання слів стану програми в реалізації технології перемикання контексту.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | доклад |
Язык | украинский |
Дата добавления | 02.10.2014 |
Размер файла | 7,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
В обчислювальній техніці під перериванням розуміють подію, при якій міняється нормальна послідовність виконання команд, що визначена програмою. Переривання, є механізмом, що дозволяє координувати паралельне функціонування окремих пристроїв комп'ютерної системи та реагувати на особливі стани, що виникають при роботі процесора. Тобто, переривання, це примусова передача керування від програми, що виконується, до ОС, а через неї до відповідної програми обробки переривань. Ця передача відбувається при виникненні певної події.
Механізм переривань реалізується апаратно програмним забезпеченням. Структура систем переривань може бути різноманітною (в залежності від архітектури апаратного забезпечення), але всі вони реалізують одну ідею - переривається звичайний порядок виконання команд процесором.
Перехід від перерваної програми до обробника переривань повинен виконуватися якомога швидше. Одним з методів, що реалізуються цей механізм переходу, є організація таблиць, що містять всі допустимі в системі переривання та адреси їх обробників.
Для коректного повернення з переривання до перерваної програми перед передачею керування обробнику система запам'ятовує вміст регістрів процесора або у пам'яті з прямим доступом, або у системному стеку (system stack).
Таким чином, якщо відбулося переривання:
1. Керування передається ОС;
2. ОС запам'ятовує стан перерваного процесу, як правило, ця інформація запам'ятовується в його блоці керування процесом (PCB);
3. ОС аналізує тип переривання та передає керування відповідному обробнику.
Переривання, що виникають при роботі обчислювальної системи, можна поділити на такі основні групи:
1. Зовнішні (або асинхронні). Викликаються асинхронними подіями, які відбуваються поза процесом, що виконується і відповідно переривається:
- переривання від таймера;
- переривання від зовнішніх пристроїв;
- переривання при збоях у живлення;
- переривання з пульта оператора обчислювальної системи;
- переривання від іншого процесора або обчислювальної системи.
2. Внутрішні. Викликаються подіями, що пов'язані з роботою процесу, що виконується і є синхронними з його операціями. Такі переривання виникають:
- при неправильній адресації (в адресній частині команди вказано заборонену або неіснуючу адресу, звертання до відсутнього сегменту або сторінки віртуальної пам'яті);
- при наявності в полі коду операції, неіснуючої команди;
- при діленні на нуль;
- при переповненні, або пропаданні порядку в числах з плаваючою крапкою;
- при виявленні порушення паритету парності, а також помилок в роботі різних пристроїв апаратури комп'ютера засобами контролю;
- переривання за звертаннями до супервізора. У деяких комп'ютерах існують привілейовані команди, які може виконувати тільки ОС, а не програми користувачів. Відповідно в апаратурі передбачено різні режими роботи. При спробі виконати таку команду заборонену в даному режимі, відбувається внутрішнє переривання і керування передається супервізору ОС. переривання процесор комп'ютерний
3. Програмні переривання. Викликаються відповідними командами переривання. За такими командами процесор виконує практично такі самі дії, що й при внутрішній перериваннях.
За рінями пріоритету переривання розподіляються наступним чином:
Оскільки переривання виникають у довільні моменти часу та при їх виникненні вже можуть існувати декілька сигналів переривань, що повинні оброблятися тільки послідовно, то щоби обробити їх в деякому логічному порядку перериванням присвоюють пріоритети. Переривання з більш високим пріоритетом обробляється позачергово, обробка інших переривань відкладається. Отже переривання з високим пріоритетом може перервати обробку переривання з нижчим пріоритетом.
Перемикання контексту. Для обробки кожного з видів переривань в складі ОС передбачені програми, що називаються обробниками переривань (IH - Interrupt Handler). Коли відбувається переривання, ОС запам'ятовує стан перерваних процесів та передає керування відповідним обробникам переривань. Ця процедура називається перемиканням контексту. При її реалізації використовуються слова стану програми (Program Status Word, PSW), які керують напрямком виконання команд і містять різну інформацію про відносно стану процесу.
Існує три типи PSW: біжуче, нове та старе.
Адреса наступної команди, що має виконуватися, міститься в біжучому PSW, у ньому вказані також типи переривань, що дозволені заборонені на даний час.
CPU реагує на дозволені переривання. Обробка заборонених переривань або відкладається, або ігнорується. Процесору не можна заборонити реагувати на переривання супервізора, з рестарту та на деякі види програмних переривань.
В одно процесорній машині є тільки одне біжуче PSW, але N нових та N старих (по одному на кожен тип переривань).
Нове PSW для переривання біжучого типу містить постійну адресу, за якою резидентно міститься обробник переривань цього типу. Коли відбувається переривання і якщо процесору не заборонено обробляти переривання цього типу, відбувається автоматичне (виконується апаратурою) перемикання PSW за схемою:
1) Біжуче PSW стає старим PSW для переривань цього типу;
2) Нове PSW для переривань цього типу стає біжучим PSW.
Коли обробку переривання завершено, ЦП починає обслуговувати або той процес, який виконувався в момент переривання, або готовий процес з найвищим пріоритетом. Це залежить від того, чи дозволяє перерваний процес перехоплення ЦП, чи ні. Якщо ні, то перерваний процес знову отримує у своє розпорядження ЦП. Якщо дозволяє, то він отримає доступ до ЦП тільки у випадку, якщо нема інших процесів готових до виконання.
Размещено на Allbest.ru
...Подобные документы
Архітектурні особливості процесора ARM9E. Набори інструкцій ARM i Thumb. Порівняння компіляторів за швидкістю роботи та обсягом згенерованого коду. Операційні системи, які підтримує процесор ARM9E. Розміри коду підпрограм для ARM та Thumb станів.
курсовая работа [522,6 K], добавлен 08.09.2011Реалізація програми на мові асемблера для процесора i8086. Регістрова структура процесора. Використання сегментних регістрів для апаратної підтримки найпростішої моделі сегментованої пам'яті. Формування арифметичних прапорців. Система команд процесора.
контрольная работа [240,5 K], добавлен 27.02.2013Значення операційної системи - програми, яка завантажується при включенні комп'ютера. Компоненти Windows, передача параметрів у мові С++. Системні ресурси та принципи їх роботи. Розробка алгоритму програми емуляції роботи командного процесора ОС.
курсовая работа [37,5 K], добавлен 18.06.2010Функціонування мікрокомп’ютерів з шинною організацією. Системні локальні шини. Організація та структура пам’яті. Базова система введення-виведення. Режими роботи процесора I80286. Програмна модель процесора. Регістри процесора та умови програмування.
курсовая работа [326,1 K], добавлен 06.06.2013Обчислення середньої трудомісткості потоку заявок. Визначення мінімальної швидкодії процесора. Дослідження безпріоритетної дисципліни обслуговування. Навантаження на обчислювальну систему. Програма моделювання комп’ютерної системи та програмний код.
курсовая работа [1,2 M], добавлен 15.03.2014Арифметичні основи, на яких ґрунтується функціонування комп'ютерної техніки. Основні поняття дискретної обробки інформації. Системи числення, форми подання чисел у комп'ютерах. Арифметичні операції, що виконуються над числами, подані у двійковому коді.
учебное пособие [903,6 K], добавлен 18.12.2010Позначення і назва програми, забезпечення, необхідне для її функціонування. Опис логічної структури, алгоритм, структура. Типи комп'ютерів і пристроїв, що використовуються при роботі програми. Формат, описання та спосіб кодування вхідних і вихідних даних.
курсовая работа [163,6 K], добавлен 01.04.2016Основні особливості операційної системи Linux, її системні та програмні характеристики. Файли, каталоги та посилання ОС. Робота зі з'ємними носіями інформації. Архівування даних. Особливості роботи в мережі, додатки, текстовий режим функціонування в ОС.
курсовая работа [2,5 M], добавлен 07.07.2013Схема суперскалярної організації процесора. Вплив залежності між даними на роботу суперскалярного процесора. Апаратний паралелізм – це міра здатності процесора отримувати переваги із паралелізму на рівні команд. Запуск команд у суперскалярному процесорі.
реферат [34,9 K], добавлен 08.09.2011Отримання показників процесора за допомогою програми EVEREST Ultimate 2006. Приклад отриманих характеристик: властивості ЦП, виробник та завантаження. Набори команд та інструкцій, з якими працює процесор. Властивості та виробник графічного процесора.
лабораторная работа [19,5 K], добавлен 16.12.2010Позначення та назва програми, технічне забезпечення, необхідне для функціонування. Призначення програми, функціональні обмеження на застосування. Опис логічної структури, алгоритм. Типи комп'ютерів та пристроїв, що використовуються при роботі програми.
курсовая работа [284,0 K], добавлен 01.04.2016Алгоритм реалізації та функціонування програми, яка імітує команду DOS dir. Засоби мови Assembler, що використовуються в програмі: команди, директиви, переривання. Функціонування програми; інтерфейс, який застосовується при спілкуванні з користувачем.
курсовая работа [27,9 K], добавлен 18.01.2013Експонентний розвиток комп'ютерної техніки. Будова сучасного комп'ютера, призначення основних елементів. Будова центрального процесора. Оперативная пам'ять та материнська плата. Будова звукової карти. Характеристика жорсткого диска. Склад чипсету.
презентация [1,4 M], добавлен 25.02.2010Паралельність розвитку комп’ютерної архітектури, принципові способи її введення. Шина даних процесора, її сутність і розрядність. Архітектура подвійної незалежної шини, корпуса та гнізда мікропроцесорів. Характеристика технологій MMX, 3Dnow, Enhanced.
контрольная работа [39,6 K], добавлен 21.10.2009Методи та елементи, що використовуються для реалізації алгоритму програми. Структура додатку з описом функцій складових частин і зв'язків між ними. Типи комп'ютерів та пристроїв, що використовуються при роботі програми. Організація вхідних даних.
курсовая работа [363,2 K], добавлен 01.04.2016Взаємодія шин в типовому комп'ютері на базі процесора Pentium. Основні блоки набору мікросхем системної логіки: North Bridge, South Bridge та Super I/O. Набори мікросхем системної інформації для різних поколінь процесорів та їх технічні характеристики.
реферат [297,1 K], добавлен 19.06.2010Поняття та класифікація комп’ютерних ігор. Відтворення гри "Морський бій" у вигляді комп’ютерної програми. Компоненти програмного середовища Delphi, що були використані під час її створення. Алгоритм реалізації ігрового процесу та скріншоти з програми.
дипломная работа [418,2 K], добавлен 12.07.2013Структура та галузі застосування систем цифрової обробки сигналів. Дискретне перетворення Фур’є. Швидкі алгоритми ортогональних тригонометричних перетворень. Особливості структурної організації пам’яті комп’ютерних систем цифрової обробки сигналів.
лекция [924,7 K], добавлен 20.03.2011Класифікація систем комп’ютерної графіки, її різновиди та сфери використання. Міні-комп’ютери як зменшена версія магістральних. Загальна структура і функції комп’ютерної графіки. Растрова графіка, класифікація, призначення і функції її прикладних систем.
контрольная работа [12,5 K], добавлен 12.10.2010Характеристика основних методів сучасного викладання фізики. Моделювання як процес дослідження об’єктів пізнання за допомогою їх моделей. Розгляд особливостей використання табличного процесора EXCEL для обробки результатів лабораторних робіт з фізики.
лабораторная работа [1,6 M], добавлен 22.12.2012