Вычислительный процесс в операционных системах

Место операционной системы в программном обеспечении вычислительного процесса. Прикладные программы пользователей, утилиты и другие системные обрабатывающие программы. Особенности реализации понятия последовательного процесса в операционных системах.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 27.12.2022
Размер файла 68,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ПО РАЗВИТИЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОМУНИКАЦИЙ РЕСПУБЛИКИ УЗБЕКИСТАН

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

Факультет: «Профессиональное образование в сфере ИКТ»

САМОСТОЯТЕЛЬНАЯ РАБОТА

ПО ПРЕДМЕТУ «ОПЕРАЦИОННЫЕ СИСТЕМЫ»

На тему: «Вычислительный процесс в операционных системах»

ВЫПОЛНИЛА: А.М. Белая

Группа: 065-20 SKAFr (5350600 -

«Информационно-библиотечная деятельность»)

ПРОВЕРИЛ: А.А. КАХОРОВ

Ташкент 2022

План

Введение

1. Вычислительный процесс в операционных системах

2. Подходы к определению ОС. Операционная система как виртуальная машина

2.1 Мультипрограммирование

Заключение

Список литературы

Введение

Понятие операционной системы.

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

Назначение ОС - организация вычислительного процесса в вычислительной системе, рациональное распределение вычислительных ресурсов между отдельными решаемыми задачами; предоставление пользователям многочисленных сервисных средств, облегчающих процесс программирования и отладки задач. Операционная система исполняет роль своеобразного интерфейса (Интерфейс - совокупность аппаратуры и программных средств, необходимых для подключения периферийных устройств к ПЭВМ) между пользователем и ВС, т.е. ОС предоставляет пользователю виртуальную ВС. Это означает, что ОС в значительной степени формирует у пользователя представление о возможностях ВС, удобстве работы с ней, ее пропускной способности. Различные ОС на одних и тех же технических средствах могут предоставить пользователю различные возможности для организации вычислительного процесса или автоматизированной обработки данных.

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

В соответствии с условиями применения различают три режима ОС: пакетной обработки, разделения времени и реального времени. В режиме пакетной обработки ОС последовательно выполняет собранные в пакет задания. В этом режиме пользователь не имеет контакта с ЭВМ, получая лишь результаты вычислений. В режиме разделения времени ОС одновременно выполняет несколько задач, допуская обращение каждого пользователя к ЭВМ. В режиме реального времени ОС обеспечивает управление объектами в соответствии с принимаемыми входными сигналами. Время отклика ЭВМ с ОС реального времени на возмущающее воздействие должно быть минимальным.

1. Вычислительный процесс в операционных системах

Понятие «вычислительный процесс» (или просто - «процесс») является одним из основных при рассмотрении операционных систем. Как понятие процесс является определенным видом абстракции, и мы будем придерживаться следующего неформального определения, приведенного в работе. Последовательный процесс (иногда называемый «задачей») - это выполнение отдельной программы с её данными на последовательном процессоре. Концептуально процессор рассматривается в двух аспектах: во-первых, он является носителем данных и, во-вторых, он (одновременно) выполняет операции, связанные с их обработкой.

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

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

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

При разработке первых систем ресурсами считались процессорное время, память, каналы ввода/вывода и периферийные устройства. Однако очень скоро понятие ресурса стало гораздо более универсальным и общим. Различного рода программные и информационные ресурсы также могут быть определены для системы как объекты, которые могут разделяться и распределяться и доступ к которым необходимо соответствующим образом контролировать. В настоящее время понятие ресурса превратилось в абстрактную структуру с целым рядом атрибутов, характеризующих способы доступа к этой структуре и её физическое представление в системе. Более того, помимо системных ресурсов, о которых мы сейчас говорили, как ресурс стали толковать и такие объекты, как сообщения и синхросигналы, которыми обмениваются задачи.

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

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

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

Это требование достигается поддерживанием в памяти более одного процесса, ожидающего процессор, и более одного процесса, готового использовать другие ресурсы, как только последние станут доступными. Общая схема выделения ресурсов такова. При необходимости использовать какой-либо ресурс (оперативную память, устройство ввода/вывода, массив данных и т. п.) задача обращается к супервизору операционной системы - её центральному управляющему модулю, который может состоять из нескольких модулей, например: супервизор ввода/вывода, супервизор прерываний, супервизор программ, диспетчер задач и т. д. - посредством специальных вызовов (команд, директив) и сообщает о своём требовании. При этом указывается вид ресурса и, если надо, его объём (например, количество адресуемых ячеек оперативной памяти, количество дорожек или секторов на системном диске, устройство печати и объём выводимых данных и т. п.).

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

Ресурс может быть выделен задаче, обратившейся к супервизору с соответствующим запросом, если:

он свободен и в системе нет запросов от задач более высокого приоритета к этому же ресурсу;

текущий запрос и ранее выданные запросы допускают совместное использование ресурсов;

ресурс используется задачей низшего приоритета и может быть временно отобран (разделяемый ресурс).

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

После окончания работы с ресурсом задача опять с помощью специального вызова супервизора (посредством соответствующей директивы) сообщает операционной системе об отказе от ресурса, или операционная система забирает ресурс сама, если управление возвращается супервизору после выполнения какой-либо системной функции. Супервизор операционной системы, получив управление по этому обращению, освобождает ресурс и проверяет, имеется ли очередь к освободившемуся ресурсу. Если очередь есть - в зависимости от принятой дисциплины обслуживания (правила обслуживания) и приоритетов заявок он выводит из состояния ожидания задачу, ждущую ресурс, и переводит её в состояние готовности к выполнению. После этого управление либо передаётся данной задаче, либо возвращается той, которая только что освободила ресурс.

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

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

При организации управления ресурсами всегда требуется принять решение о том, что в данной ситуации выгоднее: быстро обслуживать отдельные наиболее важные запросы, предоставлять всем процессам равные возможности либо обслуживать максимально возможное количество процессов и наиболее полно использовать ресурсы.

Необходимо различать системные управляющие процессы, представляющие работу супервизора операционной системы и занимающиеся распределением и управлением ресурсов, от всех других процессов: системных обрабатывающих процессов, которые не входят в ядро операционной системы, и процессов пользователя. Для системных управляющих процессов в большинстве операционных систем ресурсы распределяются изначально и однозначно. Эти процессы управляют ресурсами системы, за использование которых существует конкуренция между всеми остальными процессами. Поэтому исполнение системных управляющих программ не принято называть процессами. Термин задача можно употреблять только по отношению к процессам пользователей и к системным обрабатывающим процессам. Однако это справедливо не для всех ОС. Например, в так называемых «микроядерных» ОС (в качестве примера можно привести ОС реального времени QNX фирмы Quantum Software systems) большинство управляющих программных модулей самой ОС и даже драйверы имеют статус высокоприоритетных процессов, для выполнения которых необходимо выделить соответствующие ресурсы. Аналогично и в UNIX-системах выполнение системных программных модулей тоже имеет статус системных процессов, которые получают ресурсы для своего исполнения.

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

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

готовности к выполнению - ресурсы могут быть предоставлены, тогда процесс перейдёт в состояние выполнения;

блокирования или ожидания - затребованные ресурсы не могут быть предоставлены, или не завершена операция ввода/вывода.

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

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

За время своего существования процесс может неоднократно совершать переходы из одного состояния в другое. Это обусловлено обращениями, к операционной системе с запросами ресурсов и выполнения системных функций, которые предоставляет операционная система, взаимодействием с другими процессами, появлением сигналов прерывания от таймера, каналов и устройств ввода/вывода, а также других устройств.

Процесс из состояния бездействия может перейти в состояние готовности в следующих случаях:

¦ по команде оператора (пользователя). Имеет место в тех диалоговых операционных системах, где программа может иметь статус задачи (и при этом являться пассивной), а не просто быть исполняемым файлом и только на время исполнения получать статус задачи (как это происходит в большинстве современных ОС для ПК);

при выборе из очерёди планировщиком (характерно для операционных систем, работающих в пакетном режиме);

по вызову из другой задачи (посредством обращения к супервизору один процесс может создать, инициировать, приостановить, остановить, уничтожить другой процесс);

по прерыванию от внешнего инициативного устройства (сигнал о свершении некоторого события может запускать соответствующую задачу);

при наступлении запланированного времени запуска программы.

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

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

Из состояния выполнения процесс может выйти по одной из следующих причин:

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

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

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

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

Таким образом, движущей силой, меняющей состояния процессов, являются события. Один из основных видов событий - это прерывания.

Реализация понятия последовательного процесса в ОС

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

идентификатор процесса (так называемый PID - process identificator);

тип (или класс) процесса, который определяет для супервизора некоторые правила предоставления ресурсов;

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

переменную состояния, которая определяет, в каком состоянии находится процесс (готов к работе, в состоянии выполнения, ожидание устройства ввода/вывода и т. д.);

защищённую область памяти (или адрес такой зоны), в которой хранятся текущие значения регистров процессора, если процесс прерывается, не закончив работы. Эта информация называется контекстом задачи;

информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершенных операциях ввода/вывода и т. п.);

место (или его адрес) для организации общения с другими процессами;

параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры);

в случае отсутствия системы управления файлами - адрес задачи на диске в её исходном состоянии и адрес на диске, куда она выгружается из оперативной памяти, если её вытесняет другая (для диск-резидентных задач, которые постоянно находятся во внешней памяти на системном магнитном диске и загружаются в оперативную память только на время выполнения).

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

В некоторых операционных системах количество описателей определяется жестко и заранее (на этапе генерации варианта операционной системы или в конфигурационном файле, который используется при загрузке ОС), в других - по мере необходимости система может выделять участки памяти под новые описатели. Например, в OS/2 максимально возможное количество описателей задач определяется в конфигурационном файле CONFIG.SYS, а в Windows NT оно в явном виде не задается. Справедливости ради стоит заметить, что в упомянутом файле указывается количество не процессов, а именно задач, и под задачей в данном случае понимается как процесс, так и поток этого же процесса, называемый потоком или тредом. Например, строка в файле CONFIG.SYS

THREADS=1024

указывает, что всего в системе может параллельно существовать и выполняться до 1 024 задач, включая вычислительные процессы и их потоки.

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

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

Для аппаратной поддержки работы операционных систем с этими информационными структурами (дескрипторами задач) в процессорах могут быть реализованы соответствующие механизмы. Так, например, в микропроцессорах Intel 80х86, начиная с 80286, имеется специальный регистр TR (task register), указывающий местонахождение TSS (сегмента состояния задачи), в котором при переключении с задачи на задачу автоматически сохраняется содержимое регистров процессора. Как правило, в современных ОС для этих микропроцессоров дескриптор задачи включает в себя TSS. Другими словами, дескриптор задачи больше по размеру, чем TSS, и включает в себя такие традиционные поля, как идентификатор задачи, её имя, тип, приоритет и т. п.

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

Процесс - выполняемая программа, включающая текущее значение счетчика команд, регистров и переменных. С каждым процессом связано его адресное пространство, содержащее саму программу, данные к ней и её стек.

Все функционирующее на компьютере ПО, включая ОС, можно представить как набор процессов.

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

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

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

В настоящее время в большинстве ОС определены 2 типа единиц работы: более крупная - процесс, менее - поток. Процесс может выполняться в форме одного или нескольких потоков.

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

Каждый процесс начинается с одного потока, но новые потоки могут порождаться процессом динамически.

Как правило, поток работает в пользовательском режиме, но, когда он обращается к системным вызовам, он переходит в режим ядра. После завершения системного вызова, возвращается в режим пользователя.

У каждого потока 2 стека: один - в режиме пользователя, другой - в режиме ядра. Также у каждого потока есть контекст, в котором сохраняются его регистры, когда поток временно не работает, частная область его локальных переменных и собственных маркеров доступа. Когда поток прекращает работу, он завершает своё существование. Процесс завершится, когда прекратит свое существование последний активный поток.

2.1 Мультипрограммирование

Формы многопрограммной системы ОС:

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

т" ? 0,02

· Системы разделения времени - предоставляет возможность интерактивной работы сразу с несколькими приложениями. Это обеспечивается средствами ОС, которая принудительно периодически приостанавливает приложения, не дожидаясь, когда они самостоятельно освободят процессор. Всем приложениям выделяются кванты времени процессора (t?0,02). Если время кванта достаточно небольшое, то у всех складывается впечатление единоличной работы.

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

1. управления техническими объектами, такими как спутник, самолёт и т.д.

2. Технологические процессы (доменный процесс)

3. Системой обслуживания разного рода: терминальная покупка билетов, оплата покупок…и т.д.

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

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

Мультипроцессорные системы:

А. Симметричная архитектура.

Симметричная архитектура предполагает однотипность и единообразие включения процессоров и большую разделяемую между ними память.

Масштабируемость (возможность увеличения числа процессов) ограничена, так как все они используют одну и ту же оперативную память и как следствие должны располагаться в одном корпусе. Такая схема называется масштабируемостью по вертикали, и ограничивает число процессоров диапазоном от 4 до 8 (масштабирование по вертикали).

Данная схема использует единую область памяти, поэтому обеспечивает достаточно высокую производительность за счёт обмена данных между задачами, решаемыми разными процессорами.

Данная схема позволяет легко реализовать симметричное мультипроцессирование с использованием единой ОС.

Считается, что все процессы равноправны и могут участвовать, как в управлении вычислительным процессом, так и в решении прикладных задач.

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

Б. Ассиметричная архитектура.

Процессоры могут быть различными как и по характеристикам, так и по функциональной роли. Один только за вычисление, другой может отвечать только за ввод-вывод и др. Это ведёт к структурным различиям во фрагментах системы, содержащих разные типы процессоров с разными целевыми задачами. Это позволяет монтировать разные процессоры в разных корпусах, то есть требования единого корпуса не является обязательным. Масштабирование называют горизонтальным, а мультипроцессорную систему - кластерной. Управление может быть реализовано только по ассиметричному принципу «ведущий - ведомый», то есть ОС загружается на один процессор, который управляет всеми остальными и распределяет все ресурсы системы.

Управления процессами и потоками.

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

Её функции:

? создание процессов и потоков.

? обеспечение процессов и потоков необходимыми ресурсами.

? изоляция процессов.

? планирования выполнения процессов и потоков.

? диспетчеризация потоков.

? организация межпроцессного взаимодействия.

? синхронизация.

? завершение и уничтожение процессов и потоков.

Независимо от способа создания новый процесс формируется одинаково: текущий процесс выполняет системный запрос на создание нового процесса. Подсистема управления процессами отвечает за обеспечение их необходимыми ресурсами.

ОС имеет в памяти специальные информационные структуры, в которые записывает, какие ресурсы выделены каждому процессу. Ресурсы могут быть предоставлены в единоличное или совместное пользование. Часть ресурсов выделяется процессу при его создании, а часть - динамически по запросам в период выполнения. Ресурсы могут быть выделены процессу на весь период жизни или на какое-то определенное время.

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

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

Планирование потоков осуществляется на основе информации, хранящейся в описателях процессов и потоков. Во внимание принимается приоритет потоков (системный/несистемный, архивный/неархивный и т.д.), время их ожидания в очереди, суммарное время выполнения и интенсивность обращения к устройствам ввода-вывода и др.

Диспетчеризация заключается в реализации найденного в результате клонирования решения, то есть переключение процессора с одного потока на другой.

Диспетчеризация проходит в 3 этапа:

1. Сохранение контекста текущего потока.

2. Загрузка контекста потока, выбранного на выполнение в результате клонирования.

3. Запуск нового потока на выполнение.

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

Завершение процессов происходит благодаря одному из событий:

· Обычный выход, связанный с естественным окончанием процесса решения задачи;

· Выход по ошибке;

· Выход по неисправимой ошибке;

· Уничтожение другим процессом (например, вирусом).

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

Заключение

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

Список использованных источников

1. Степанов Б.М. «Организация вычислительных процессов» ВСГТУ, 2001

2. http://sait.tti.sfedu.ru/electro_book/CPO/glava1.htm- - Вычислительный процесс и ресурс

3. http://ermak.cs.nstu.ru/~mos/www/85.htm - Алгоритм обслуживания прерываний

4. * Молчанов А. Ю. «Системное программное обеспечение»

5. * Бройдо В.Л. «Вычислительные системы, сети и телекоммуникации»,

6. * статьи из Википедии (http://ru.wikipedia.org/),

7. * интернет - ресурс «Обучение в интернет» (http://lessons-tva.info/),

8. * лекции по системному программному обеспечению

9. (http://any-book.org/download/16336.html).

Размещено на Allbest.ru

...

Подобные документы

  • Системный подход к программированию в операционных системах. Разработка программы, выполняющей запуск программ по расписанию. Понятие интерфейса и его назначение. Создание алгоритма и программы на его базе. Текст программы и руководство пользователя.

    курсовая работа [581,0 K], добавлен 13.11.2009

  • Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.

    курсовая работа [60,1 K], добавлен 18.02.2012

  • Компьютерные программы, обеспечивающие управление аппаратными средствами компьютера. Операционные системы Microsoft Corporation. Прикладные программы, утилиты. Простейшие функции операционной системы. Линейка Microsoft Windows для домашнего использования.

    презентация [947,8 K], добавлен 01.10.2012

  • Прикладные программы и утилиты. Простейшие функции операционной системы. История разработки корпорацией Microsoft Corporation графической операционной оболочки Windows. Версия семейства сетевых ОС Windows NT (Millennium Edition, 2000, XP, Vista, Seven)

    презентация [965,2 K], добавлен 12.10.2013

  • Основные моменты истории операционных систем, связывающих аппаратное обеспечение и прикладные программы. Характеристика операционной системы Microsoft Windows Seven, анализ операционной системы Linux. Преимущества и недостатки каждой операционной системы.

    курсовая работа [63,0 K], добавлен 07.05.2011

  • Способы организации вычислительного процесса в системах с несколькими процессорами. Разработка программы на основе алгоритмов мультипроцессорных систем при пакетной обработке задач. Вычисление основных показателей эффективности для каждого алгоритма.

    курсовая работа [102,3 K], добавлен 21.06.2013

  • История развития операционных систем семейства Windows и основные понятия системного администрирования. Определение востребованности операционных систем Windows, сравнительная характеристика их функции и возможностей, особенности применения на практике.

    курсовая работа [38,5 K], добавлен 08.05.2011

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

    практическая работа [3,0 M], добавлен 17.05.2022

  • Основные понятия операционных систем. Современное оборудование компьютера. Преимущества и недостатки операционной системы Linux. Функциональные возможности операционной системы Knoppix. Сравнительная характеристика операционных систем Linux и Knoppix.

    реферат [1,5 M], добавлен 17.12.2014

  • Создание системы, осуществляющей запуск программы по расписанию, которое хранится в реестре. Методы и средства взаимодействия с аппаратными и программными средствами, типы интерфейсов. Алгоритм работы и листинг программы, проверка ее работоспособности.

    курсовая работа [78,6 K], добавлен 13.11.2009

  • Понятие процесса и потока, характеристика их свойств и особенности создания. Требования к алгоритмам синхронизации, суть взаимного исключения на примере монитора и семафора. Методика изучения элективного курса "Процессы в операционной системе Windows".

    дипломная работа [1,7 M], добавлен 03.06.2012

  • Программирование в операционной системе Windows. Работа с потоками и процессами ОС. Методы их создания. Основы вызова API-функций. Пример создания диалогового окна без использования файла ресурсов. Разработка программы с помощью 32-битного ассемблера.

    курсовая работа [107,6 K], добавлен 18.05.2014

  • Управление процессами операционных систем. Разработка программы, моделирующей обслуживание множества вычислительных процессов в системе с 4 очередями, определяемыми значениями приоритетов. Выполнение инструкций компьютерной программы на процессоре.

    контрольная работа [302,7 K], добавлен 06.08.2013

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

    шпаргалка [294,2 K], добавлен 14.06.2010

  • Исследование алгоритма планирования вычислительного процесса мультипроцессорных систем при пакетной обработке задач. Создание программы на языке Turbo Pascal 7.0, реализующей демонстрацию вычислительного процесса систем при обработке пакетов данных.

    курсовая работа [388,7 K], добавлен 24.06.2013

  • Описание структуры новых и существующих операций как уровней абстракции операционных систем. Микроядро клиент-сервисной структуры Windows NT. Понятие виртуальной машины и их использование в операционных системах. Общее назначение виртуальной машины Java.

    презентация [1,4 M], добавлен 24.01.2014

  • Использование операционных систем Microsoft Windows. Разработка операционной системы Windows 1.0. Возможности и характеристика последующих версий. Выпуск пользовательских операционных систем компании, доработки и нововведения, версии Windows XP и Vista.

    реферат [23,3 K], добавлен 10.01.2012

  • Написание программы, моделирующей работу вычислительного центра и возможные пути ее улучшения. Разработка моделирующего алгоритма и машинная реализация. Возможные улучшения в работе системы. Математическое описание системы, листинг и отчет программы.

    курсовая работа [99,0 K], добавлен 03.07.2011

  • Нахождение рационального порядка следования запросов для обеспечения максимального критерия эффективности использования компонентов вычислительного процесса в системе. Метод ветвей и границ для максимально быстрого выполнения вычислительного процесса.

    курсовая работа [196,3 K], добавлен 23.08.2009

  • D-Series как система автоматизации телевещательного процесса, используемая современными телестудиями. Портирование компонентов системы для работы на операционных системах Windows. Проверка корректного подключения плагинов и ручного режима воспроизведения.

    дипломная работа [2,3 M], добавлен 21.09.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.