Основные ресурсы и службы СОС. Способы управления ими

Содержание

Слайд 2

Определение процесса Процесс - абстракция, описывающая выполняющуюся программу. Для операционной системы

Определение процесса

Процесс - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс

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

Планирование процессов Планирование процессов включает в себя решение следующих задач: определение

Планирование процессов

Планирование процессов включает в себя решение следующих задач:
определение момента

времени для смены выполняемого процесса;
выбор процесса на выполнение из очереди готовых процессов;
переключение контекстов "старого" и "нового" процессов.
Слайд 4

Алгоритм Существует множество различных алгоритмов планирования процессов, по разному решающих вышеперечисленные

Алгоритм

Существует множество различных алгоритмов планирования процессов, по разному решающих вышеперечисленные задачи.

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

Смена активного процесса В соответствии с алгоритмами, основанными на квантовании, смена

Смена активного процесса

В соответствии с алгоритмами, основанными на квантовании, смена

активного процесса происходит, если:
процесс завершился и покинул систему;
произошла ошибка;
процесс перешел в состояние ожидания;
исчерпан квант процессорного времени, отведенный данному процессу.
Слайд 6

Процесс Процесс, который исчерпал свой квант, переводится в состояние готовность и

Процесс

Процесс, который исчерпал свой квант, переводится в состояние готовность и ожидает,

когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый процесс из очереди готовых. Таким образом, ни один процесс не занимает процессор надолго, поэтому квантование широко используется в системах разделения времени.
Слайд 7

Приоритетные алгоритмы Существует две разновидности приоритетных алгоритмов: алгоритмы, использующие относительные приоритеты,

Приоритетные алгоритмы

Существует две разновидности приоритетных алгоритмов: алгоритмы, использующие относительные приоритеты, и

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

Два основных типа процедур планирования процессов Non-preemptive multitasking - невытесняющая многозадачность

Два основных типа процедур планирования процессов

Non-preemptive multitasking - невытесняющая многозадачность -

это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс. Программист должен обеспечить "дружественное" отношение своей программы к другим выполняемым одновременно с ней программам, достаточно часто отдавая им управление. Крайним проявлением "недружественности" приложения является его зависание, которое приводит к общему краху системы. В системах с вытесняющей многозадачностью такие ситуации, как правило, исключены, так как центральный планирующий механизм снимет зависшую задачу с выполнения.
Preemptive multitasking - вытесняющая многозадачность - это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.
Слайд 9

Управление памятью Память, к которой может иметь доступ СОС может быть

Управление памятью

Память, к которой может иметь доступ СОС может быть локальной,

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

Виртуальная память Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям

Виртуальная память

Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать

программы, размер кода и данных которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи:
размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;
перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;
преобразует виртуальные адреса в физические.
Слайд 11

Управление вводом-выводом Одной из главных функций ОС является управление всеми устройствами

Управление вводом-выводом

Одной из главных функций ОС является управление всеми устройствами ввода-вывода

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