Процессы. Процессы. Модель процесса
Скачать 1.1 Mb.
|
Ташкентский университет информационных технологий имени Мухаммада аль-ХоразмийПодготовил: Студент группы 041-18 СКИр Узаков Д.Д. Тема лекции: Процессы. Модель процесса. ПроцессПроцесс (Process) – абстракция, описывающая выполняющуюся программу. Операционная система называется многозадачной, если в ней реализована возможность параллельной (псевдопараллельной) обработки нескольких процессов. Реальная многозадачность возможна только в распределенной вычислительной системе. Типы многозадачностиСуществует 2 типа многозадачности:
Модель процессаПроцесс – это экземпляр выполняемой программы, включая текущие значения счетчика команд*, регистров и переменных. Концептуально у каждого процесса есть свой виртуальный процессор, но, на самом деле, реальный ЦП постоянно переключается между программами. Это постоянное переключение между процессами называется мультипрограммированием или многозадачным режимом работы. * - регистр процессора, содержащий адрес текущей выполняемой команды. В зависимости от архитектуры содержит либо адрес инструкции, которая будет выполняться, либо той, которая выполняется в данный. Модель процессаа - четыре программы, работающие в многозадачном режиме; б - концептуальная модель четырех независимых друг от друга процессов; в – в отдельно взятый момент времени активна только одна программа. Создание процессаСуществует 4 основных события, приводящих к созданию процессов:
Завершение процессаНаиболее частые причины завершения процесса:
Иерархии процессовВ некоторых системах, когда процесс порождает другой процесс, родительский и дочерний процессы продолжают оставаться определенным образом связанными. Дочерний процесс может и сам создавать какие-нибудь процессы, формируя иерархию процессов. В Unix процесс, все его дочерние процессы и более отдаленные потомки образуют группу процессов. В загрузочном образе UNIX присутствует специальный процесс, называемый init. В начале своей работы init считывает файл, содержащий сведения о количестве терминалов*. Затем он разветвляется, порождая по одном процессу на каждый терминал. Эти процессы ждут, пока кто-нибудь не зарегистрируется в системе. * - ОС предоставляет пользователю специальный интерфейс – терминал (командную строку), через которую пользователи получают персональную рабочую среду. Несмотря на то, что в современных UNIX-системах широко используются графические пользовательские интерфейсы, командная строка остаётся основным рабочим инструментом администратора системы. Если регистрация проходит успешно, то процесс регистрации порождает оболочку для приема команд. Эти команды могут породить другие процессы и т.д. Таким образом, все процессы в UNIX образуют дерево с корнем в init. * - команды интерпретируются и выполняются специальной программой – командной оболочкой (или «shell», по-английски). Через командную оболочку производится управление пользовательскими процессами. Состояния процессовПроцесс может находиться в трех состояниях:
Состояния процессовНа рисунке представлен граф состояний процесса ПланировщикСамый низший уровень структурированной в виде процессов операционной системы. Он обрабатывает прерывания и планирует выполнение процессов. Над этим уровнем находятся последовательные процессы. Моделирование процесса многозадачностиВремя задействования центрального процессора = ПотокиВ традиционных операционных системах у каждого процесса есть адресное пространство и единственный поток управления. Фактически это почти что определение процесса. Тем не менее нередко возникают ситуации, когда неплохо было бы иметь в одном и том же адресном пространстве несколько потоков управления, выполняемых квазипараллельно, как будто они являются чуть ли не обособленными процессами (за исключением общего адресного пространства). Классическая модель потоковУ всех потоков одно адресное пространство, а значит, они так же совместно используют одни и те же глобальные переменные. |