![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Процесс — это программный модуль, выполняемый в CPU. - программа, находящаяся в режиме выполнения. Для того чтобы операционная система могла управлять процессами, она должна располагать всей необходимой для этого информацией. С этой целью на каждый процесс заводится специальная информационная структура, называемая дескриптором процесса (описателем задачи, блоком управления задачей). С каждым процессом связывается его адресное пространство (программа, данные к проге, стек проги), из которого он может читать и в которое он может писать данные. С каждым процессом связывается набор регистров: с четчика команд (в процессоре) - регистр в котором содержится адрес следующей, стоящей в очереди на выполнение команды. После того как команда выбрана из памяти, счетчик команд корректируется и указатель переходит к следующей команде, указатель стека. Во многих операционных системах вся информация о каждом процессе, дополнительная к содержимому его собственного адресного пространства, хранится в таблице процессов операционной системы. В многозадачной системе реальный процессор переключается с процесса на процесс, но для упрощения модели рассматривается набор процессов, идущих параллельно (псевдопараллельно).
для одной программы могут быть созданы несколько процессов, в том случае, если с помощью одной программы в компьютере выполняется несколько несовпадающих последовательностей команд. За время существования процесс многократно изменяет свое состояние.
3 состояния процесса: Выполнение (занимает процессор) Готовность (процесс временно приостановлен, чтобы позволить выполняться другому процессу) Ожидание (процесс не может быть запущен по своим внутренним причинам, например, ожидая операции ввода/вывода)
Каждому процессу соответствует адресное пространство и одиночный поток исполняемых команд. В многопользовательских системах, при каждом обращении к одному и тому же сервису, приходится создавать новый процесс для обслуживания клиента. Это менее выгодно, чем создать квазипараллельный поток внутри этого процесса с одним адресным пространством. С каждым потоком связывается:
· Счетчик выполнения команд
· Регистры для текущих переменных
· Стек
· Состояние
Потоки делят между собой элементы своего процесса:
· Адресное пространство
· Глобальные переменные
· Открытые файлы
· Таймеры
· Семафоры
· Статистическую информацию.
«+»
· Упрощение программы в некоторых случаях, за счет использования общего адресного пространства.
· Быстрота создания потока, по сравнению с процессом, примерно в 100 раз.
· Повышение производительности самой программы, т.к. есть возможность одновременно выполнять вычисления на процессоре и операцию ввода/вывода. Пример: текстовый редактор с тремя потоками может одновременно взаимодействовать с пользователем, форматировать текст и записывать на диск резервную копию.
Дата публикования: 2015-10-09; Прочитано: 236 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!