Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОССО тема 2.docx
Скачиваний:
4
Добавлен:
17.09.2019
Размер:
26.77 Кб
Скачать

Организация вычислительного процесса Лекция 1

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

( В первых задачах выполнением задачи называлось непосредственно само выполнение ее. Задача пропускалась через центральный процессор. Раньше выполняться могла только одна задача, тк это была одна монолитная структура. Теперь же несколько задач могут проходить и выполняться через центральный процессор, некие операции объединены и одновременно сегментированы. Разбиение целого на части приводит к повышению эффективности управляемости.

Новый смысл приобрело слово "задание"(microsoft). Раньше под этим словом понималась одна программа. Теперь же это означает, что множество разнородных программ работает на выполнение одной задачи. То есть несколько процессов, объединены единым планом для решения каких-либо задач. )

Процесс - выполняемая программа, включающая текущее значение счетчика команд, регистров и переменных. Каждый процесс имеет свое адресное пространство, содержащее код программы, данные к ней и ее стек. Стек - определенным образом построенная очередь (стек - структура данных, в которой доступ к элементам организован по принципу LIFO (last in - firstout, "последним пришел - первым вышел"))

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

В классической структуре ОС обычно выделяют четыре таблицы ресурсов:

- памяти

- устройств ввода-вывода

- файлов

- процессов

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

Мультипрограммирование(многозадачность) - способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняется несколько программ. Для поддержки мультипрограммирования ОС должна работать с внутренними единицами процессов, называемыми потоками. Именно между потоками разделяется время центрального процессора и другие ресурсы.

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

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

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

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