Хелпикс

Главная

Контакты

Случайная статья





Управление процессами



 

1. Определение и назначение ОС

 

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

 

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

 

Сегодня наиболее известными операционными системами являются ОС семейства Microsoft Windows и UNIX-подобные системы.

 

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

 

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

 

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

 

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

 

Операционная система является посредником между ЭВМ и её пользователем. Она делает работу с ЭВМ более простой, освобождая пользователя от обязанностей распределять ресурсы и управлять ими. Операционная система осуществляет анализ запросов пользователя и обеспечивает их выполнение. Запрос отражает необходимые ресурсы и требуемые действия ЭВМ и представляется последовательностью команд на особом языке директив операционной системы. Такая последовательность команд называется заданием.

 

2. Виды ОС

 

Попробуем классифицировать ОС, опраясь на линию их развития вслед за IBM PC-совместимыми ПК.

 

Так как перые ПК были очень слабы, то и первые ОС были, что вполне естественно однозадачными и однопользовательскими, а также работали исключительно в текстовом режиме. Дальнейшее развитие графической подсистемы позволило более интенсивно использовать графику и цвет, таким образом выделим первый признак: внешний тип интерфейса: GUI или текстовый.

 

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

однозадачные (MS-DOS);

псевдомногозадачные, то есть одновременно работает только одна программа, а мы переключаясь между ними как-бы пробуждаем другую и усыпляем первую (Windows 1 и 2);

многозадачные (Windows 95,98);

реально многозадачные (Windows NT, OS/2 3 и 4, Unix, Be, Linux).

 

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

 

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

нет поддержки (MS-DOS, Windows 1-2-3);

поддерживается на одном терминале, хранятся различные профили для настройки системы под пользователя (Windows 95-98-Me-NT-2000);

реальная многопользовательность, то есть могут одновременно работать несколько человек на разных терминалах, но с одним ПК (Windows NT Terminal Server, Unix, Linux(?)).

 

Выделим еще одну группу ОС, для которых не очень важен интерфесй, а важны скоростные и надежностные характеристики работы - серверные ОС. Например, Windows NT Server, OS/2 Advanced Server, Novel Netware/IntranetWare, Banyan Wines.

 

Ну и последняя группа ОС - встраиваемые ОС. Сюда относятся ОС, которые встраиваются в различные устройства, например, сотовые телефоны, органайзеры и прочие микроэлектронные игрушки. Примером таких ОС можно наpвать: Palm OS, Windows CE.

 

Виды ОС:

Многопользовательская система, система с коллективным доступом, система коллективного доступа (multiuser system, multiaccess system) - вычислительная система или ее часть (например операционная система), позволяющая нескольким пользователям одновременно иметь доступ к одной ЭВМ со своего терминала (локального или удаленного). Многопользовательский характер работы достигается благодаря режиму разделения времени, который заключается в очень быстром переключении ЭВМ между разными терминалами и программами и соответственно быстрой отработке команд каждого пользователя. При этом последний не замечает задержек времени, связанных с обслуживанием других пользователей. Примерами разработок указанного вида могут служить помимо Windows операционные системы: NetWare, созданная и развиваемая фирмой Novell (США) для локальных информационных вычислительных систем; Unix фирмы AT&T’s Bell Laboratories (США); REAL/32 и др.

Однопользовательская система (one user system) - операционная система, не обладающая свойствами многопользовательской. Примерами однопользовательских ОС являются MS DOS фирмы Microsoft (США) и ОС/2, созданная совместно Microsoft и IBM.

Сетевая операционная система, СОС (NOS, Network Operating System) - операционная система, предназначенная для обеспечения работы вычислительной сети. Примерами сетевых операционных систем являются Windows NT, Windows 2000, Novel Netware, Unix, Linux и др.

 

3. Функции ОС

 

Функции операционных систем

 

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

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

Загрузка программ в оперативную память и их выполнение.

Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

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

Обеспечение пользовательского интерфейса.

Сохранение информации об ошибках системы.

 

Дополнительные функции:

Параллельное или псевдопараллельное выполнение задач (многозадачность).

Эффективное распределение ресурсов вычислительной системы между процессами.

Разграничение доступа различных процессов к ресурсам.

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

Взаимодействие между процессами: обмен данными, взаимная синхронизация.

Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

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

 

4. Архитектура операционной системы

 

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

 

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

 

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

 

Ядро и вспомогательные модули

 

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

 

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

 

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

 

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

 

Вспомогательные модули ОС обычно подразделяют на следующие группы:

 

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

 

Системные обрабатывающие программы -текстовые и графические редакторы, компиляторы и т.д.

 

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

 

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

 

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

 

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

 

Ядро

Работает в привилегированном режиме, защищено от приложений пользователя

Распределяет основные ресурсы системы

Выполняет роль арбитра в споре приложений за ресурсы

Аппаратура компьютера должна поддерживать как минимум два режима работы:

Режим пользователя

Режим супервизора

 

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

 

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

5. Структура ОС

 

В состав операционной системы входят следующие подсистемы:

1. Управление процессами.

2. Управление основной памятью.

3. Управление внешней памятью.

4. Управление устройствами ввода/вывода.

5. Управление файлами.

6. Защита системы.

7. Сетевая поддержка.

8. Командный интерфейс системы.

Управление процессами

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

- создание и удаление процессов;

- приостановку и возобновление процессов;

- обеспечение механизмов для синхронизации процессов;

- обеспечение механизмов для взаимодействия процессов.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.