Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bilety_1-52_Os.doc
Скачиваний:
271
Добавлен:
18.02.2017
Размер:
1.8 Mб
Скачать

№3 Концепция процесса. Состояния процесса.

Процесс – программа во время исполнения или объект, которому выделяются ресурсы ВС (процессор, память и..)

Процесс – динамический объект

Процесс характеризует: 1.Набор исполняемых команд 2.Выделенная для исполнения память (адресное пространство) 3.Адрес и состояние стеков 4.Используемые файлы 5.Устройства ввода-вывода 6.Значения регистров 7.Программный счетчик 8.Значение переменных

Состояния процесса: 1.Порождение – создаются условия для первого запуска 2.Готовность – у процесса есть все необходимые ресурсы, кроме ЦП 3.Активное – выделение процессора 4.Ожидание – (блокировка) нужный ресурс занят, процесс ждет его освобождения 5.Завершение – штатное или аварийное окончание работы программы

№4 Описание процесса в ос. Операции над процессами.

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

Текущее состояние процесса описывается в системе с помощью PCB (Process Control Block)

PCB –хранит информацию:

      • Уникальный идентификатор процесса, пользователь

      • Состояние в котором находится процесс

      • Текущий приоритет

      • Программный счетчик процесса - IP (адрес команды которая должна быть выполнена для него следующей)

      • Содержимое регистров процесса

      • Адресное пространство (и стеки)

      • Связанные устройства ввода-вывода (файлы)

      • Область хранения регистров (для рестарта)

Операции над процессами: 1.Создание(образование процесса) 1)Присваивание имени процесса, включение этого имени в список имён известных системе 2)Опр-ние начального приоретета процесса 3) Формирование PCB 4)выделение процессу начальных ресурсов.

2.Уничтожение процесса

3.Возобновление процесса - Подготовка процесса к зупуску с той точки, на котором он был остановлен

4.Изменение приоретета

5.Блокирование

6.Разблокировка

7.Запуск

№5 Граф состояний процесса. Управление переходами.

№6 Процессы и потоки.

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

С одной стороны, процесс можно рассматривать как способ объединения родственных ресурсов в одну группу.

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

Различия потоков и процессов:

  • Различные потоки выполняются в одном адресном пространстве.

  • Различные процессы выполняются в разных адресных пространствах.

  • Потоки имеют «собственный» стек и набор регистров. Глобальные данные являются общими.

  • Как локальные, так и глобальные переменные процессов являются «собственными».

Любой поток состоит из двух компонентов:

1)объекта ядра, через который операционная система управляет потоком. Там же хранится статистическая информация о потоке(дополнительные потоки создаются также ядром); 2)стека потока, который содержит параметры всех функций и локальные переменные, необходимые потоку для выполнения кода.

 Поток (thread) определяет последовательность исполнения кода в процессе.

 Процесс ничего не исполняет, он просто служит контейнером потоков.

 Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах.

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

Соседние файлы в предмете Операционные системы