46084 (665375), страница 2

Файл №665375 46084 (Планировщик и диспетчер процессов в системе разделения времени) 2 страница46084 (665375) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

5.3.1 Сначала происходит поиск решения, а потом его реализация, то есть сначала вызывается планировщик, а потом уже диспетчер. Также может вызываться только планировщик, а диспетчер – нет (например, когда требуется просто перенести процесс из очереди заблокированных процессов в очередь готовых, если он получил данные от ВУ). Алгоритмы работы планировщика и диспетчера процессов представлены в приложении А.

5.4 Правила коммуникации

5.4.1 Функции, обеспечивающие планировку процессов, обмениваются указателями на дескрипторы процессов. Функция, обеспечивающая переключение контекста, работает с указателями на контексты процессов.

5.5 Основные структуры данных

5.5.1 Дескриптор (представлен в таблице 4.1), контекст (представлен в таблице 4.2), список готовых процессов (организован по принципу алгоритма RR с относительными приоритетами), список заблокированных процессов (организован по принципу список списков, то есть внутри списка заблокированных процессов находятся списки процессов, ожидающих ответ от НЖМД, ожидающих ответ от НГМД, ожидающих определенный семафор, ожидающих определенную очередь сообщений, ожидающих определенного сигнала и т.д.).

5.5.2 Указатель на начало списка готовых процессов, указатель на конец списка готовых процессов.

5.5.3 Указатель на структуру-описатель списка списков заблокированных процессов. Данная структура хранит в себе информацию о начале и конце каждой очереди. В случае появления нового устройства в системе необходимо только создать новую очередь и добавить информацию об ее начале и конце в данную структуру.

6 Системные вызовы «Создать процесс» и «Удалить процесс»

6.1 Системный вызов «Создать процесс»

Системный возов «Создать процесс» служит для создания почти полной копии родительского процесса (процесса, в котором был инициирован системный вызов). Для создания почти полной копии вызывающего процесса ОС должна скопировать некоторые данные из процесса-родителя в процесс-потомок. Выполнение процессов разделяется после данного системного вызова. Имя системного вызова вызова: creat_proc. Входные данные: отсутствуют. Выходные данные: идентификатор процесса. Сам системный вызов реализован в ядре ОС, к которому обращается программа-заглушка в системной библиотеке (через прерывание). Перечень действий, совершаемым ядром ОС, представлен в таблице 6.1.

Таблица 6.1 – Системный вызов «Создать процесс»

№ этапа

Описание этапа

1

Проверить возможность создания нового процесса (кол-во процессов < 65535).

2

Выделить память в области ОС для дескриптора процесса.

3

Создать дескриптор для нового процесса.

4

Назначить новому процессу идентификатор.

5

Записать в поле «Идентификатор родительского процесса» идентификатор процесса-родителя.

6

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

7

Выделить память в области пользователя для процесса.

8

Выделить память в области ОС для контекста процесса.

9

Настроить содержимое контекста нового процесса.

10

Полностью скопировать образ памяти из процесса-родителя.

11

Обновить информацию у процесса-родителя о потомках.

12

Добавить указатель о новом процессе список готовых процессов.

6.2 Системный вызов «Удалить процесс»

Системный вызов «Удалить процесс» служит для удаления уже существующего процесса. Причем удаление совершается самим ядром в принудительном порядке. Имя системного вызова: kill_proc. Входные данные: идентификатор процесса. Выходные данные: отсутствуют. Сам системный вызов реализован в ядре ОС, к которому обращается программа-заглушка в системной библиотеке (через прерывание). Также программа-заглушка проверяет допустимость входного параметра. То есть идентификатор процесса должен быть беззнаковым 2-байтным целым числом. Перечень действий, совершаемым ядром ОС, представлен в таблице 6.2.

Таблица 6.2 – Системный вызов «Удалить процесс»

№ этапа

Описание этапа

1

Проверить существование данного идентификатора в таблице процессов.

2

Удалить информацию о текущем процессе из процесса-родителя.

№ этапа

Описание этапа

3

Удалить из всех очередей указатель на дескриптор текущего процесса.

4

Освободить память от дескриптора, контекста и ОП уровня пользователя текущего процесса.

5

Вызвать планировщик.

7 Заключение

7.1 В данном проекте была рассмотрена разработка программно-аппаратного комплекса «Планировщик и диспетчер процессов в системе разделения времени» с алгоритмом планирования RR и относительным приоритетом, а также некоторые системные вызовы. Проект показал, что программу планировщик надо разрабатывать очень тщательно, так как она является основой любой многозадачной ОС. В итоге получилось, что для нормальной работы планировщика и диспетчера процессов необходимо иметь в области ОП ОС как минимум дескриптор и контекст для каждого процесса, список готовых и заблокированных процессов. Также выяснилось, что переключение процессов – это длительная операция, так как приходится переключаться из режима пользователя в режим ядра, запускать процесс планировки, потом диспетчеризации, а потом снова переключаться обратно, на уровень пользователя. Системные вызовы создания и удаления процесса также требуют времени на обработку, так как им тоже нужно манипулировать данными в области ОЗУ ОС, для чего требуется также переключаться на уровень ядра.

Приложение А

Графические материалы

Рисунок А.1 – Блок-схема алгоритма работы планировщика

с очередью готовых процессов

Рисунок А.2 – Блок-схема алгоритма работы планировщика

с очередью заблокированных процессов

Рисунок А.3 – Блок-схема алгоритма работы планировщика

Рисунок А.4 – Блок-схема алгоритма диспетчеризации

Рисунок А.5 – Структурно-функциональная схема

планировщика и диспетчера процессов

Список литературы

Таненбаум Э.С. Современные операционные системы. 2-е изд. – М.: ПИТЕР, 2006.

Embedded X86 Programming: Protected Mode by Jean Gareau

Руководство по процессору Intel i80486.

http://www.brokensword.narod.ru/

http://asmdev.narod.ru/asmos/asmos.html

http://lowlevel.ru/

http://xkernel.excode.ru/

Исходный код ядра ОС Linux версии 0.01

http://www.citforum.ru/operating_systems/bach/contents.shtml

Для подготовки данной работы были использованы материалы с сайта http://referat.ru

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

Тип файла
Документ
Размер
274,69 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

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