пользователей: 21211
предметов: 10450
вопросов: 177346
Конспект-online
зарегистрируйся или войди через vk.com чтобы оставить конспект.
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Функциональные компоненты операционной системы. Управление процессами.

 

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

1) Ядро операционной системы
2) Модули расширения

Базовые функции модуля ядра:

  1. Управление процессами
  2. Управление памятью
  3. Управление устройствами I/O

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

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

Резидент части ядра - постоянно находящиеся в оперативной  памяти модули ядра для высокой производительности.

Нерезидент - часть модуля ядра, которую можно выгрузить из основной памяти виртуальную.

Модули расширения - системные программные модули, которые выполняют полезные, но необязательные функции.

Пример: модуль, выполняющий дефрагментацию диска

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

Модули расширения можно разделить на три категории:

  1. Утилиты - программы, решающие отдельные задачи вычислительной системы.
  2. Программы предоставляющие пользователю дополнительные услуги
  3. Библиотеки процедур реального назначения

 

Подсистема управления процессами и потоками

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

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

Простейший случай - процесс состоит из одного потока. 

Пример Word:     

1. Набор текста и редактирование

2. Вывод на печать

3. Сохранение

4. ОРФО

 

Цель потоков - повысить эффективность за счет распарал. процессов

Основные задачи реализуемые подсистемой управления процессами и потоками.

Основные задачи управления процессами и потоками. 

  1. Создание и уничтожение процессов и потоков.
  2. Обеспечение процессов необходимыми ресурсами.
  3. Поддержа взаимодействия между процессами и потоками
  4. Синхронизация потоков 
  5. Распределение процессорного времени между потоками

Создание и уничтожение процессов и потоков

Создать процесс - в первую очередь создать дескриптор (описатель) процесса.

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

Состав дескриптора, как правило включает 

  • идентификатор процессов, уникальный номер
  • данные о местоположении в памяти исполняемого кода (Карта памяти процесса)
  • информация о привилегиях процесса ( приоритет процесса, права доступа процесса) 

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

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

В разных операционных системах используются разлличные методы создания процессов и потоков. 

В Windows NT  create thread
unix fork()

Уничтожение процессов

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

Синхронизация потоков 

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

Состояние процессов и потоков

Однозадачная операционная система:    
1) Рождение
2) Выполнение (активность)
3) Завершение 

 

 


14.06.2014; 13:54
хиты: 299
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2016. All Rights Reserved. помощь