Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
всі білети.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
696 Кб
Скачать
☆

Архітектура операційних систем. Операційна система та її оточення. Взаємодія ос і апаратного забезпечення

ОС повинна реалізувати засоби взаємодії з апаратним забезпеченням та арх. комп. Потрібно проектувати з урахуванням того що на ньому буде функціонувати ОС. Інтерфейс апаратного забезпечення має бути схований від прикладних програм та користувачів, роботу з ним здійснює ОС. Сучасні архітектури комп’ютерів реалізують базові засоби підтримка ОС. Система переривань – основний механізм що забезпечує роботу ОС(за допомогою них процесор отримує інфу про події). Переривання є апаратні і програмі. Апаратне – сигнал що передається процесору від апаратного пристрою(перериваня ввведеня – виведення, переривання пов’язані з апаратними в програмними помилками). Програмні переривання генерує прикладна програма виконуючи інструкцію переривання. Якщо перериваня відбулося то процесор передає керування процедурі – оброблювачеві переривання. Тут є переривання для відмов та для пасток. За встановлення оброблювачів переривань відповідає ОС. Механізм трансляції адрес забезпечує перетворення адрес пам’яті в адреси фізичної пам’яті. Захист пам’яті – перевіряє права доступу до пам’яті під час кожної спроби його отримати. BIOS(базова система введення - виведення) – службовий програмний код що зберігається в ПЗП і призначений для ізоляції ОС від конкретного програмного забезпечення.

Керування процесами і потоками. Керування потоками у Windows. Складові елементи потоку.

Потік у Windows ХР складається з таких елементів:

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

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

локальної пам'яті потоку (TLS);

4- унікального ідентифікатора потоку (thread id, tid), який вибирають із того самого простору імен, що й ідентифікатори процесів. Сукупність стану процесора, стеків і локальної пам'яті потоку становить контекст потоку. Кожний потік має власний контекст. Усі інші ресурси процесу спільно використовуються потоками. Розрізняють два види потоків: потоки користувача і потоки ядра, які у Windows ХР називають системними робочими потоками — system worker threads. Перші з них створюють у режимі користувача й тільки за необхідності перемикають у режим ядра. Інші створюють в ядрі під час його ініціалізації і виконують у режимі ядра протягом усього часу їхнього існування.

Структури даних потоку

Для виконавчої системи Windows ХР кожен потік відображається об'єктом-потоком виконавчої системи, який також називають керуючим блоком потоку (ETHREAD). Для ядра системи потік відображається об'єктом-потоком ядра, який також називають блоком потоку ядра (KTHREAD). У режимі користувача доступним є блок оточення потоку (ТЕВ), який перебуває в адресному просторі процесу, що створив потік. Неважко помітити, що кожній структурі даних потоку відповідає структура даних процесу (EPROCESS, KPR0CESS і РЕВ).

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

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

Блок оточення потоку містить інформацію про потік, доступну для застосувань режиму користувача. До неї належать:ідентифікатор потоку, покажчик на стек режиму користувача, покажчик на блок оточення процесу, до якого належить потік, покажчик на локальну пам'ять потоку.