Концепция потоков
Процесс – выполняемая программа (программа в стадии выполнения); целенаправленный акт обработки данных.
При выполнении программ различают следующие состояния процесса:
· Порождение → подготавливаются условия для первого выполнения на процессоре;
· Готовность → программа исполняется, все ресурсы предоставлены, кроме одного – процессорного времени;
· Активное → программа выполняется;
· Ожидание → программа не выполняется на процессоре по причине занятости какого-либо требуемого ресурса;
· Окончание → нормальное или аварийное окончание программы;
После окончания ни процессорное время, ни ресурсы не предоставляются.
С каждым процессом связывается его адресное пространство, содержащее саму программу и данные к ней. С помощью набора процессов мы будем представлять функционирование ПО.
Располагая одними и теми же аппаратными ресурсами, но управляя разными ОС, компьютер работает с разной эффективностью. Наибольшие сложности в управлении возникают в отношении ресурсов в мультипрограммных режимах.
Мультипрограммный режим (мультипрограммность, мультиздачность) – такой способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняется несколько программ. Чтобы поддерживать мультипрограммирование, ОС должна определить внутренние единицы работы, между которыми будет разделяться процессорное время и другие ресурсы.
Принято выделять три типа единиц работы:
1. крупные работы (процесс или задача)
2. менее крупные работы (поток или нить)
3. более крупные работы (задание или Job) - наборы из одного или нескольких процессов, управляемые как единое целое.
В частности с каждым заданием ассоциированы квоты и лимиты ресурсов. Квоты и лимиты включают себя:
‒ максимальное количество процессов;
‒ суммарное время центрального процессора и задания;
‒ максимальное количество используемой памяти для процесса и всего задания.
Процессы рассматриваются ОС как контейнеры для всех видов ресурсов кроме процессорного времени. Процессорное время распределяется между другими единицами – потоками. Потоки представляют собой последовательности команд. Каждый процесс начинается с одного потока, а новые потоки могут порождаться динамическим процессом. В простейшем случае процесс состоит из одного пока. Процесс завершается по завершению последнего активного его потока.
Дата добавления: 2015-08-14; просмотров: 935;