Управление процессами в многозадачных ОС

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний: ВЫПОЛНЕНИЕ — активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором; ОЖИДАНИЕ — пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса; ГОТОВНОСТЬ — также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

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

Планирование процессов включает в себя решение следующих задач: определение момента времени для смены выполняемого процесса; выбор процесса на выполнение из очереди готовых процессов; переключение контекстов «старого» и «нового» процессов.

Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно.

Существует два основных типа процедур планирования процессов — вытесняющие (preemptive) и невытесняющие (non-preemptive).

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

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

Чтобы поддерживать мультипрограммирование, ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компьютера. В настоящее время в большинстве операционных систем определены два типа единиц работы. Более крупная единица работы, обычно носящая название процесса, или задачи, требует для своего выполнения нескольких более мелких работ, для обозначения которых используют термины «поток», или «нить».

ПРИОРИТЕТЫ НЕ НАШЛА!!!!!!!!

Диспетчер задач Windows(вызывается с помощью клавиш Ctrl + Alt + Del)

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

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

 

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

 

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

 

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

 

На вкладке Быстродействие, отображаются сведения о счетчике дескрипторов и потоках, параметры памяти

 

Вкладка Сеть представляет интерес для пользователя, если на компьютере есть активные сетевые подключения.

Здесь отображаются графики использования сетевых соединений.

 

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

 

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

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

 

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

 

 

№21 Управление памятью

Функциями ОС по управлению памятью являются:

-отслеживание свободной и занятой памяти,

-выделение памяти процессам и освобождение памяти при завершении

процессов,

- вытеснение процессов из оперативной памяти на диск, когда размеры

основной памяти не достаточны для размещения в ней всех процессов, и

- возвращение их в оперативную память, когда в ней освобождается место,

- а также настройка адресов программы на конкретную область физической

памяти.

Методы управления памятью могут быть разделены на два класса:

  • методы распределения ОП без использования внешней памяти (дискового пространства);
  • методы распределения памяти с использованием дискового пространства.

 

 

Рассмотрим вначале первую группу методов.

Распределение памяти фиксированными разделами.

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

В этом случае подсистема управления памятью выполняет задачи:

  • сравнения размера поступившей на выполнение программы с размерами свободных разделов памяти;
  • выбора подходящего раздела;
  • загрузка программы и настройка адресов.

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

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

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

В начальный момент времени t0 в ОП загружена только ОС. К моменту времени t1 ОП разделена между ОС и 5 программами (задачами), имеется также свободная область. К моменту времени t2 задача П2 уже завершена и покидает ОП, а на ее место может быть подгружена задача На освободившееся место загружается задача П6, поступившая в момент времени t3. Выбором раздела для вновь поступившей задачи занимается ОС. Осуществляется выбор раздела по правилам: «первый попавшийся раздел достаточного размера», «раздел, имеющий наименьший достаточный размер», «раздел, имеющий наибольший достаточный размер».

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

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

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

№22Основные функции и назначение сетевых операционных систем

Сетевая операционная система- это ОС предназначенная для обеспечения работы вычислительной сети. Примерами сетевых операционных систем являются WindowsNT,Windows 2000, NovelNetware,Unix,Linux.

Различают ОС со встроенными сетевыми функциями и оболочки над локальными ОС. По другому признаку классификации различают сетевые ОС одноранговые и функционально несимметричные (для систем “клиент/сервер”).

Основные функции сетевой ОС:

-управление каталогами и файлами;

-управление ресурсами;

-коммуникационные функции;

-защита от несанкционированного доступа;

-обеспечение отказоустойчивости;

-управление сетью.

 

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

 

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

 

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

 

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

 

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

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: