Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры ос 1-50.docx
Скачиваний:
27
Добавлен:
20.04.2019
Размер:
135.15 Кб
Скачать

6 Понятие процесса. Состояния процесса.

Процесс – это абстрактное понятие, описывающее работу программы.Процесс – программа в момент выполнения, включая текущие значения, счетчики команд, регистров и переменных Состояния процесса: Зарождение(), готовность(также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса), выполнение(активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором), ожидание(пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса),готовность (завершение)

4Архитектурные особенности ОС с монолитным ядром, многоуровневых ОС, микроядерных ОС, гибридных ОС.Монолитное ядро – это такая схема операционной системы, при которой все ее компоненты являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путем непосредственного вызова процедур. Для монолитной операционной системы ядро совпадает со всей системой. Сервисные процедуры выполняются в привилегированном режиме, тогда как пользовательские программы – в непривилегированном. Для перехода с одного уровня привилегий на другой иногда может использоваться главная сервисная программа, определяющая, какой именно системный вызов был сделан, корректность входных данных для этого вызова и передающая управление соответствующей сервисной процедуре с переходом в привилегированный режим работы. Иногда выделяют также набор программных утилит, которые помогают выполнять сервисные процедуры. Многоуровневые системы. Слоеные системы хорошо реализуются. При использовании операций нижнего слоя не нужно знать, как они реализованы, нужно лишь понимать, что они делают. Слоеные системы хорошо тестируются. Отладка начинается с нижнего слоя и проводится послойно. При возникновении ошибки мы можем быть уверены, что она находится в тестируемом слое. Слоеные системы хорошо модифицируются. При необходимости можно заменить лишь один слой, не трогая остальные. Но слоеные системы сложны для разработки: тяжело правильно определить порядок слоев и что к какому слою относится. Слоеные системы менее эффективны, чем монолитные. Так, например, для выполнения операций ввода-вывода программе пользователя придется последовательно проходить все слои от верхнего до нижнего.Микроядерная архитектура. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.

3Основные понятия и концепции ОС: системные вызовы, прерывания, исключения, файлы, процессы.Системные вызовы– это интерфейс между операционной системой и пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых – процессы и файлы. Пользовательская программа запрашивает сервис у операционной системы, осуществляя системный вызов. В большинстве операционных систем системный вызов осуществляется командой программного прерывания (INT).Прерывание– это событие, генерируемое внешним устройством. Посредством аппаратных прерываний аппаратура либо информирует центральный процессор о том, что произошло какое-либо событие, требующее немедленной реакции,либо сообщает о завершении асинхронной операции ввода-вывода. Важный тип аппаратных прерыванийпрерывания таймера, которые генерируются периодически через фиксированный промежуток времени. Прерывания таймера используются операционной системой при планировании процессов. Каждый тип аппаратных прерываний имеет собственный номер, однозначно определяющий источник прерывания. Аппаратное прерывание – это асинхронное событие, то есть оно возникает вне зависимости от того, какой код исполняется процессором в данный момент. Обработка аппаратного прерывания не должна учитывать, какой процесс является текущим.Исключительная ситуация– событие, возникающее в результате попытки выполнения программой команды, которая по каким-то причинам не может быть выполнена до конца. Примерами таких команд могут быть попытки доступа к ресурсу при отсутствии достаточных привилегий. Исключительные ситуации, как и системные вызовы, являются синхронными событиями, возникающими в контексте текущей задачи. Исключительные ситуации можно разделить на исправимые и неисправимые. К исправимым относятся такие исключительные ситуации, как отсутствие нужной информации в оперативной памяти. После устранения причины исправимой исключительной ситуации программа может выполняться дальше. Возникновение в процессе работы операционной системы исправимых исключительных ситуаций считается нормальным явлением. Неисправимые исключительные ситуации чаще всего возникают в результате ошибок в программах (например, деление на ноль). Обычно в таких случаях операционная система реагирует завершением программы, вызвавшей исключительную ситуацию.Файлы предназначены для хранения информации на внешних носителях, то есть принято, что информация, записанная, например, на диске, должна находиться внутри файла. Обычно под файлом понимают именованную часть пространства на носителе информации. Главная задача файловой системы – скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств.

8Одноразовые и многоразовые операции над процессами.1. Создание процесса – операция одноразовая, состоит из:a. Создается информационная структура, описывающая процесс (контекст, дескриптор)b. Дескриптор включается в очередь готовых процессовc. Кодовый сегмент процесса загружается в ОП или область своппинга (виртуальная память).2. Приостановка процесса – многоразовая операция. Работа процесса приостанавливается в результате прерывания. Аппаратно сохраняется счетчик команд и 1 или несколько регистров в стеке исполняемого процесса. Управление передается по адресу обработки прерываний. Тогда ОС:a. Сохраняет динамическую часть системного и регистрового контекстов в PCB. b. Переводит исполняемый процесс в состояние готовностиc. Обрабатывает прерывание.3. Блокировка (разблокировка) процесса – переход из исполнения в ожидание и обратно; операция многоразовая, процесс не может продолжать работу, не дождавшись возникновения события. Генерируется системный вызов ОС, добавляющий процессы в очередь к устройству или очередь ожидания событий. Сохраняется динамическая часть контекста и процесс переходит в состояние ожидания. Разблокировка происходит при анализе Операционной Системой событий.4. Завершение процесса – операция одноразовая.Диспетчер поддерживает очередь исполняемых потоков для каждого уровня приоритета. Они известны как потоки готовые к работе. Когда процессор становится доступным, система выполняет переключение контекста. Шаги в переключении контекста:· Сохранить контекст потока, который только что закончил исполнять код.· Поместить поток, который только что закончил исполнять код, в конце очереди потоков с его приоритетом.· Найти самую высокоприоритетную очередь, которая содержит потоки готовые к работе.· Переместить поток в начало очереди, загрузить его контекст и исполнить его код.Наиболее обычные причины для переключения контекста:· Истек квант времени.· Поток с более высоким приоритетом стал готовым исполнить код ·Запущенный поток долженждать.

7Операции над процессами. PCB и контекст процесса.Процесс не может перейти из одного сост. в др. самостоятельно. Изменением сост-й процессов занимается ОС, совершая операции над ними. Кол-во таких операций совпадает с кол-вом стрелок на диаграмме состояний. Удобно соединить их в 3 пары:1)создание процесса - завершение процесса;2)приостановка (перевод из сост. «исполнение» в сост. «готовность») - запуск (из сост. «готовность» в сост. «исполнение»);3)блокир-ие процесса (перевод из сост. «исполнение» в сост. «ожидание») - разблокирование;Сущ-ет ещё 1 операция, не имеющая пару: изменение приоритета процесса. Операции создания и завершения процесса явл-сяодноразовыми, т. к. применяются к процессу не более 1 раза. Все остальные операции, связанные с изменением сост. процесса (запуск или блокировка), как правило, явл-сямногоразовыми. ОС выполняет операции над процессами след.образом.Чтобы ОС могла выполнять операции над процессам, каждый процесс представляется в ней некоторой структурой данных, содержащей информацию специф-ую д/данного процесса:1) состояние, в котором нах-ся процесс;2) программный счётчик процесса, т.е. адрес команды, кот.д.б. выполнена следующей;3) содержимое регистров в процессорах;4) данные, необходимые д./планирования использования процессора и управления памятью; (приоритет процесса, расположение адресного пространства и т.д.)5) учетные данные (id номер процесса, какой юзер инициировал процесс, общее время исполнения процесса данным процессором)6) сведения об устройствах вв/выв, связанных с процессом; состав этой структуры, ее строение зависят от конкретной ОС.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]