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

Лекция 2

.docx
Скачиваний:
5
Добавлен:
25.03.2023
Размер:
3.42 Mб
Скачать

19.11.2021

Безусловный переход = go to. Команда процессора.

Есть условный переход. Переход, который происходит при условии на флагах.

Ядро ОС – некий реакционный механизм (реагирует только на запросы, иначе находится в бездействии)

Запросы оборудования – прерывания.

Запросы делают пользовательские приложения.

Ядро ОС по сути и есть ОС.

2 основных вида ядра: микроядро и монолитное ядро. Монолитное ядро по сути единая программа, все функции ОС выполняет она.

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

Большинство Ос имеют гибридные ядра: где-то между монолитом и микроядром.

Пример монолита: ms dos, free bsd, чистый линукс

Микроядра: match, minix. Больше для встраиваемых систем они (проекторы, автомобили).

Гибридные: виндовс, мак ос, Linux mint (любой расширенный линукс).

Гибрид: есть монолитное ядро, и куча дополнительных программ-приложений, Которые входят в пакет ОС.

Привилегированный и пользовательский режим работы процессора (не ОС, есть ещё и такой): в пользовательском недоступны часть команд. Иногда можно перевести в привилегированный режим. Даются доп команды ассемблера.

ОС создаётся под каждую архитектуру в отдельности.

Часть компонентов ОС работает в пользовательском, часть в привилегированном режиме процессора. ОС может обращаться к привилегированному режиму. Она также защищает, чтобы пользователь не мог получить доступ к этому режиму.

О прерываниях.

Их обеспечивает наша ОС.

Нужны, чтобы обеспечить взаимодействие и доступ к ресурсам для тех или иных программ или устройств. Если бы не было прерываний, то необходимо бы было ждать завершения каждой запущенной программы. Что, возможно, привело бы к зависаниям. И худшему отклику пользователю. Прерывания позволяют работать части программ в фоновом режиме.

Чтобы не было потерь данных (например, при работе с сетью) данные программы сохраняются в озу или типа того.

Аппаратные вызываются аппаратным обеспечением. Например, сетевая карта сообщает о том, что её память заполнена – нужно прерывание. Если человек нажимает на кнопку W, то клавиатура вызывает прерывание, сообщая о нажатии кнопки. Клавиатура тоже прерывается, так как иначе бы на время зажатия кнопки программа бы зависла.

Программные прерывания вызываются самой ОС.

Прерывания таймера. В ОС встроен внутренний таймер, считающий такты процессора и синхронизирующий их со временем. На материнской плате есть аппаратные часты, работающие даже при выключенном ПК.

Исключения. Ошибки. Возникла ошибка, конфликт 2х подпрограмм, возникла ошибка, что программа попала в зацикливание. Ошибки нужно выявлять и делается прерывание, чтобы завершить программу.

Ещё про прерывания по таймеру.

Если программа заканчивается нормально, счётчик сбрасывается. Если происходит так, что таймер не сбросил числа и достиг определённого значения – сторожевой таймер делает прерывание и завершает программу, а также сбрасывает счётчик. Так ОС отслеживает бесконечные циклы. После прерывания сторожевой таймер может заново вызвать программу, возможно она включится на том же месте.

Фризы, тормоза пк – знак, что какая-то программа непрерывно входит в рекурсию, она прерывается, потом опять запускается и т.д.

Без этого механизма ПК бы просто зависал.

Прерывания нужны не только для обработки ошибок, работе с клавиатурой, они ещё также ускоряют работу системы и процессора.

Наш процессор работает намного быстрее, чем ОЗУ и SSD, поэтому узкое место при вычислениях – обращение процессора к памяти. Ему приходится ждать.

Для исправления ситуации бездействия процессора используются прерывания, чтобы процессор выполнял полезные вычисления почти всё время.

В итоге общее время работы выглядит так:

Этим тоже занимается ОС. Для организации всего этого. Для прерывания используется программное прерывание.

Бывает маскируемое прерывание и не маскируемое. Маскируемое можно спрятать и отменить. Относится больше к прерыванию программному. Немаскируемое – явное прерывание, которое ОС или процессор игнорировать не может.

Соседние файлы в предмете Современные операционные системы