Главная » Просмотр файлов » В. Столлингс - Операционные системы

В. Столлингс - Операционные системы (1114679), страница 29

Файл №1114679 В. Столлингс - Операционные системы (В. Столлингс - Операционные системы) 29 страницаВ. Столлингс - Операционные системы (1114679) страница 292019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 29)

Программы, Работакпцие в режиме ядра, обладают полным контролем над процессором и всеми его командами и регистрами, а также имеют доступ ко всем ячейкам па- мл™ Такой уровень привилегий пользовательским программам не нужен, по- ~тому.. исходя из соображений безопасности, лучше сделать его недоступным для пользовательских программ. В связи с этим возникают два вопроса: каким образом процессор может опреде* в каком режиме должна выполняться данная программа, и как происходит пе ереключение из одного режима в другой7 Что касается ответа на первый вопрос, то з сл адове ~остояния программы имеется бит, в котором указывается режим выполне- внл тт При некоторых событиях происходит изменение этого бита.

Например, если полна (обыч, ~ьзователь вызывает службу операционной системы, устанавливается режим ядра честзе ~чн® это происходит в результате выполнения команд изменения режима). В ка- дят пе тзе примера приведем команду СЬалде Моде (СНМ), с помощью которой происхопереключение режима на машинах УАХ. Когда пользователь вызывает службу опер Рационной системы или когда в результате прерывания управление переходит к цроце дуре операционной системы, эта процедура выполняет команду СНМ, чтобы ючить более привилегированный режим. Перед тем как вернуть управление ьзовательскому процессу, она снова выполняет эту комаццу, переводя процессор 172 Часп 2. П а З.

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

Ознакомившись со структурами данных, связанными с проц г опишем вкратце этапы создания этих процессов. Если операционная система по какой-либо причине (см. табл. 3.1) пр ' решение создать процесс, она может сделать это следующим образом. 1. Присвоить новому процессу уникальный идентификатор. На этом э ' первичную таблицу процессов вносится новая запись.

2. Выделить пространство для процесса. Сюда включаются все элементы процесса. Операционная система должна знать, сколько места нужно для=, зовательского адресного пространства (для программ и данных) и для по тельского стека. Эти значения могут назначаться по умолчанию исходя, процесса, или могут быть установлены на основе запроса пользователя дании задания. Если процесс порождается другим процессом, родите процесс может передать операционной системе необходимые величины, тив их в запрос на создание процесса Если вновь создающийся процесс': использовать какую-то часть адресного пространства совместно с др цессами, необходимо установить соответствующие связи.

И, наконец, Уф выделить место для управляющего блока процесса. 3. Инициализировать управляющий блок процесса. Информация о про держит его идентификатор, а также некоторые другие идентификато пример идентификатор родительского процесса. Информация о состо цессора обычно инициализируется нулевыми значениями, за исклю счетчика команд (который содержит точку входа в программу) и системного стека (задающие границы стека процесса).

Инициализация ляющей информации происходит на основе значений, установленных по',-' чанию„с учетом атрибутов из запроса на создание процесса. НапримеР, ние процесса обычно инициализируется значением "готов" или "'готов и тановлен*'. Что касается приоритета, то по умолчанию он может ' установлен минимальным, если не поступил явный запрос на установку' высокого приоритета. Поначалу процесс может не владеть никакими (типа устройств ввода-вывода или файлов), если не сделан явный з если эти ресурсы не были переданы по наследству от родительского про 4. Установить необходимые связи.

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

В табл. 3.8 перечислены возможные причины, по которым управление может перейти к операционной системе. ' 'Габлнца 3.8. Механизмы прерывания процесса Механизм Причина Использует Отклик на внешнее асинхрон- ное событие Внешняя по отношению к вы- полнению текущей команды Связана с выполнением текущей команды Ловушка Обработку ошибки нля нсключзтельной ситуации Вызов Функции операционной системы Вызов супервизора Запрос приложения Во-первых, рассмотрим системные прерывания.

Фактически имеются системные прерывания двух видов. Первый вид — обычные прерывания, а втоРой — ловушки ($гар). Прерывания первого вида происходят из-за событий опРеделенного типа, не связанных с выполняющимся процессом и являющихся ~вешними по отношению к нему (таким событием может быть, например, завершение операции ввода-вывода).

Ловушки связаны с ошибкой или исключительной ситуацией, возникшей в результате выполнения текущего процесса. В качестве примера можно привестй попытку получения незаконного доступа к файлу. При обычном прерывании управление передается обработчику прерывая"". который осуществляет некоторые подготовительные действия, а затем— функции операционной системы, отвечающей за прерывания данного вида. Приведем конкретные примеры прерываний.

Прерывание таймера. Операционная система определяет, что текущий процесс выполняется в течение максимально разрешенного промежутка времени- Если это так, то данный процесс нужно переключить в состояние готовности и передать управление другому процессу. ПРеРывание ввода-выводи. Операционная система определяет, что именно произошло, и если это то событие, которого ожидают один или несколько процессов, операционная система переводит все соответствующие блокированные процессы в состояние готовности (соответственно, блокированные , Переключение процессов Казалось бы, Функция переключения процессов проста и понятна.

В какой омент времени выполняющийся процесс прерывается и операционная систе. ма переводит в состояние выполнения другой процесс, передавая ему управлеОднако здесь возникают некоторые вопросы, касающиеся архитектуры операц ионной системы. Во-первых, какие события должны приводить к переключен„„> процессов.

Во-вторых, как установить различие между переключением ямов работы и переключением процессов. И наконец, что нужно делать опеационной системе с различными структурами данных, находящимися под ее управ. ением чтобы переключить процесс. Часть 2. П ,.: ~1ава 3. Описание процессов и управление ими приостановленные процессы она переводит в состояние готовых пр новленных процессов). Затем операционная система должна принять ние: возобновить выполнение текущего процесса или передать управл готовому к выполнению процессу с более высоким приоритетом. Ошибка отсутствия блока в памяти.

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

После загрузки нужного блока ' процесс переходит в состояние готовности. В случае возникновения ловушки (Фгар) операционная система определяет~. гтся ли ошибка или исключительная ситуация фатальной. Если это так, ц(,',:: зняющийся в данный момент процесс переходит в состояние завершающе Равление переходит к другому процессу. В противном случае действия опе $ системы будут зависеть от характера происшедшей ошибки, а также от "' <ции самой операционной системы. Может быть предпринята попытка вы ютановительные процедуры или просто поставить пользователя в известнбр энсшедшей ошибке. Операционная система при этом может как выполнить ючение процессов, так и продолжить выполнение текущего процесса. Наконец, операпнонная система может быть активизирована в результате: ~а супервизора (виреглвог саП), который исходит от выполняемой про пример, пусть в ходе работы пользовательского процесса нужно выполнитв'; аду, для которой требуется операция ввода-вывода, например открытие :сой вызов приведет к тому, что управление перейдет к процедуре, являю :тью кода операционной системы.

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

Если же имеются необ е прерывания, то процессор выполняет следующие действия. .. Сохраняет контекст текущей программы. ~. Устанавливает в счетчике команд начальный адрес программы — об чика прерываний. ° Переключается из пользовательского режима в режим ядра, чтобы м, было выполнять привилегированные команды, содержащиеся в коде ботки прерывания После этого процессор переходит к циклу выборки и выбирает первую ко программы обработки прерываний, обслуживающей данное прерывание. Может возникнуть вопрос; что входит в состав сохраняемого контекста? т контекст должен содержать информацию, которая может быть изменена в этот к процес цессе работы обработчика прерываний и которая необходима для возобновления Б я выполнения прерванной программы. Таким образом, должна быть сохранена часть ть управляющего блока процесса с информацией о состоянии процессора.

В нее в е входит содержимое счетчика команд и других регистров процессора, а также инФормация 0 стеках Нужно ли сделать что-нибудь еще? Это зависит от дальнейших событий. Обычобработчик прерываний является короткой программой, которая выполняет неолько базовых действий, связанных с прерыванием. Например, эта программа востанавлнвает состояние Флага, сигнализирующего о наличии прерываний. Она мо,цет послать подтверждение о получении прерывания тому элементу аппаратного беспечения, который сгенерировал это прерывание (например, контроллеру ввода- вывода).

Характеристики

Тип файла
DJVU-файл
Размер
34,99 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее