Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гл.1,2 ОС буклет.doc
Скачиваний:
9
Добавлен:
11.11.2018
Размер:
373.25 Кб
Скачать

1.4. Функциональные компоненты операционных систем

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

1.4.1. Управление процессами и потоками

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

Можно дать такое определение: процесс - это программа во время ее выполнения.

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

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

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

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

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

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

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

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