Главная страница
Навигация по странице:

  • Процесс

  • Типы многозадачности

  • Поточная многозадачность

  • Моделирование процесса многозадачности

  • Классическая модель потоков

  • Процессы. Процессы. Модель процесса


    Скачать 1.1 Mb.
    НазваниеПроцессы. Модель процесса
    АнкорПроцессы
    Дата15.01.2021
    Размер1.1 Mb.
    Формат файлаpptx
    Имя файлаПроцессы.pptx
    ТипЛекции
    #168505

    Ташкентский университет информационных технологий имени Мухаммада аль-Хоразмий


    Подготовил: Студент группы 041-18 СКИр Узаков Д.Д.

    Тема лекции:

    Процессы. Модель процесса.

    Процесс


    Процесс (Process) – абстракция, описывающая выполняющуюся программу.

    Операционная система называется многозадачной, если в ней реализована возможность параллельной (псевдопараллельной) обработки нескольких процессов. Реальная многозадачность возможна только в распределенной вычислительной системе.

    Типы многозадачности


    Существует 2 типа многозадачности:
    • Процессорная многозадачность. В таком случае наименьшим элементом управляемого кода, которым может управлять планировщик ОС, является программа (процесс).
    • Поточная многозадачность. Наименьший элемент управляемого кода - поток (одна программа может выполнять 2 и более задачи одновременно).

    Модель процесса


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

    * - регистр процессора, содержащий адрес текущей выполняемой команды. В зависимости от архитектуры содержит либо адрес инструкции, которая будет выполняться, либо той, которая выполняется в данный.

    Модель процесса


    а - четыре программы, работающие в многозадачном режиме;

    б - концептуальная модель четырех независимых друг от друга процессов;

    в – в отдельно взятый момент времени активна только одна программа.

    Создание процесса


    Существует 4 основных события, приводящих к созданию процессов:
    • Инициализация системы.
    • Выполнение работающим процессом системного вызова, предназначенного для создания процесса.
    • Запрос пользователя на создание нового процесса.
    • Инициализация пакетного задания.

    Завершение процесса


    Наиболее частые причины завершения процесса:
    • Обычный выход (добровольно).
    • Выход при возникновении ошибки (добровольно).
    • Возникновение фатальной ошибки (принудительно).
    • Уничтожение другим процессом (принудительно).

    Иерархии процессов


    В некоторых системах, когда процесс порождает другой процесс, родительский и дочерний процессы продолжают оставаться определенным образом связанными. Дочерний процесс может и сам создавать какие-нибудь процессы, формируя иерархию процессов.

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

    В загрузочном образе UNIX присутствует специальный процесс, называемый init. В начале своей работы init считывает файл, содержащий сведения о количестве терминалов*. Затем он разветвляется, порождая по одном процессу на каждый терминал. Эти процессы ждут, пока кто-нибудь не зарегистрируется в системе.

    * - ОС предоставляет пользователю специальный интерфейс – терминал (командную строку), через которую пользователи получают персональную рабочую среду. Несмотря на то, что в современных UNIX-системах широко используются графические пользовательские интерфейсы, командная строка остаётся основным рабочим инструментом администратора системы.

    Если регистрация проходит успешно, то процесс регистрации порождает оболочку для приема команд. Эти команды могут породить другие процессы и т.д. Таким образом, все процессы в UNIX образуют дерево с корнем в init.

    * - команды интерпретируются и выполняются специальной программой – командной оболочкой (или «shell», по-английски). Через командную оболочку производится управление пользовательскими процессами.

    Состояния процессов


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

    Состояния процессов


    На рисунке представлен граф состояний процесса

    Планировщик


    Самый низший уровень структурированной в виде процессов операционной системы. Он обрабатывает прерывания и планирует выполнение процессов. Над этим уровнем находятся последовательные процессы.

    Моделирование процесса многозадачности


    Время задействования центрального процессора =

     

    Потоки


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

    Классическая модель потоков


    У всех потоков одно адресное пространство, а значит, они так же совместно используют одни и те же глобальные переменные.


    написать администратору сайта