Управление основными ресурсами
Основными ресурсами, используемыми программами во время выполнения, являются оперативная память и время процессора.
Мультипрограммные (многозадачные) операционные системы отличаются друг от друга способом распределения ресурсов между выполняющимися программами и задачами. Основным ресурсом ВС является время процессора, которое должно быть выделено всем программам, запущенным на выполнение.
ОС выполняет функции диспетчера: решает, какой программе и на какой срок выделить в распоряжение процессор. Она ставит программы в очередь на получение времени процессора на основании их приоритетов (планирует выполнение программ, осуществляет их диспетчеризацию), отслеживает состояние программ и переводит их из одного состояния в другое (порождение (программа загружается на выполнение, инициализируется; при этом ей должны быть выделены ресурсы), готовность (программе для выполнения нужен процессор), активность (программа выполняется, занимая процессор), ожидание (ждет выполнения операции ввода/вывода, например), завершение (программа освобождает все выделенные ей ресурсы)).
Существует несколько способов выделения времени процессора для выполнения программ. В перечисленных выше системах время процессора выделяется не для выполнения программы в целом, а для выполнения каждой задачи, реализованной в программе. В этих ОС реализуется кооперативная (невытесняющая, т.е. без перераспределения времени процессора) и вытесняющая (допускающая перераспределение времени процессора в ходе выполнения программ) мультизадачность.
При реализации кооперативной мультизадачности задача, которая начала выполняться, занимает время процессора до тех пор, пока она сама не откажется от его использования (задача может освободить процессор, обратившись за услугой к другой программе, например, к ОС для организации ввода или вывода данных, или, «увидев», что другие задачи также ждут своей очереди). Задачи ожидают выделения им времени процессора для выполнения в очередях, которые обслуживает операционная система (рис. 2.3, а).
Невытесняющая мультизадачность является основной в ОС Novell NetWare, что объясняется областью ее применения – управление сетевыми ресурсами не требует долгих вычислений, программы постоянно обращаются к данным на дисках, освобождая на время выполнения операций ввода/вывода процессор для выполнения других программ.
Кооперативная мультизадачность проще для реализации, требует меньших накладных расходов, но «плохие» программы могут захватить процессор и не дать выполняться другим программам.
Системы с вытесняющей мультизадачностью называют еще системами квантования, или разделения, времени. Каждая задача получает для выполнения только определенный отрезок (квант) времени процессора. Если задача не успела выполниться за это время, ОС «отбирает» у нее процессор, осуществляя перераспределение его времени в пользу других задач, а прерванная задача помещается в очередь (рис. 2.3, б).
Порядок выделения времени процессора (планирования, диспетчеризации) определяется приоритетами программ. Приоритет – это числовая величина, характеризующая степень важности программы, срочность получения ответа от нее. Приоритеты программ зависят от режима их выполнения. В ОС MS Windows и OS/2 реализованы четыре основных приоритетных класса, которые назначаются программам при их выполнении:
– программы реального времени имеют наивысший приоритет, они получают время процессора в первую очередь;
– программы с высоким уровнем приоритета (такой приоритетный класс задается, например, для Диспетчера задач – компонента самой ОС, чтобы он мог перехватить время процессора в любой момент, «отобрав» его у задач с более низким приоритетом для выполнения важных функций);
– программы с нормальным уровнем приоритета (в этот класс по умолчанию входят все прикладные программы, запускаемые пользователем);
– программы с низким уровнем приоритета (в этот класс входят скринсэйверы – программы сохранения экрана, заставки, которые запускаются на выполнение только тогда, когда нет активных программ с более высоким уровнем приоритета, когда пользователь не «проявляет» себя, некоторые служебные программы).
Для реализации более гибкой системы распределения времени между программами число приоритетных классов в последних версиях ОС MS Windows увеличено.
В рамках каждого приоритетного класса задачи распределяются по уровням приоритетов.
Если пользователь активизирует программу (переключается в ее окно, работает с ней), эта программа выдвигается на передний план, ее уровень приоритета автоматически увеличивается в рамках приписанного ей приоритетного класса.
Если отклик программы на действия пользователя замедлен (например, курсор мыши перемещается по экрану рывками, текст, набранный на клавиатуре, долго не появляется в окне документа текстового редактора), это объясняется либо ошибками ОС в планировании порядка выполнения задач, либо перегруженностью системы (запущено слишком много задач).
Вторым основным ресурсом является оперативная память, в которой во время выполнения размещается как код программы, так и обрабатываемые ею данные.
Так как потребности программ в этом ресурсе могут быть весьма велики, а объем физической памяти ограничен, во всех современных ОС реализована виртуальная память.
Возможности 32-разрядной адресации современных процессоров обеспечивают доступ к 4 Гб памяти. Реально же объем физически установленной памяти бывает значительно меньше. Поскольку разработчики программ не знают, память какой емкости окажется доступной программе во время ее выполнения, они пишут программы в расчете на виртуальное (воображаемое, кажущееся доступным) адресное пространство. Это пространст-во ограничивается возможностями адресации, потребностями самой ОС, которая также требует для своего выполнения ресурсов (в OS/2 в распоря-жении прикладной программы остается 512 Мб, в Windows NT – почти 2 Гб). Но в действительности в распоряжении программы оказывается значительно меньший объем физической памяти (обычно до 128‑512 Мб), которая, к тому же, должна быть распределена между несколькими параллельно выполняющимися программами. Эта проблема решается путем создания вирту-альной памяти.
Виртуальная память – это ресурс, моделирующий оперативную память большого объема, созданный на базе реальной оперативной памяти и памяти на внешних запоминающих устройствах (жестких дисках) с помощью программ ОС.
Физической памятью в системах с виртуальной памятью фактически является дисковая память и объем этого ресурса ограничивается лишь возможностями адресации процессора (по 32‑разрядной шине адреса процессор может обратиться к 4 Гб памяти), потребностями ОС и объемом свободной памяти на диске. «Ненужные», временно не используемые данные выгружаются ОС на диск, освобождая оперативную память для текущей работы. При обращении к данным они снова загружаются в оперативную память. Это происходит незаметно для пользователя. Каждой программе «кажется», что ей выделена вся память (рис. 2.4). Однако в том случае, когда запущено большое количество программ, а объем ОЗУ невелик, система большую часть времени будет тратить не на выполнение программ, а на обмен данными между оперативной памятью и дисками. Такая ситуация называется «пробуксовкой».
В многопрограммных ОС адресные пространства программ практически изолированы друг от друга, что обеспечивает их защиту. В Windows 9x несколько программ могут работать с одной и той же областью памяти, поэтому данная ОС так ненадежна.
Управление процессами и основными ресурсами – это функции ядра ОС, т.е. ее базового компонента, который всегда находится в оперативной памяти компьютера, обеспечивая бесконфликтное выполнение приложений, их взаимодействие.
- Основы информатики и информационных технологий
- Оглавление
- Глава 8. Сети и сетевые технологии 112
- Глава 9. Ащита информации 129
- Предисловие
- Раздел 1. Введение в информатику
- Глава 1. Информатика и предмет ее исследования
- Глава 2. Понятие информации
- 2.1. Определение и свойства информации
- 2.2. Особенности экономической информации
- Глава 3. Роль информации в управлении
- 3.1. Одноконтурная схема управления экономическими системами
- 3.2. Информация и информационные системы в управлении
- Глава 4. Кодирование и представление информации
- 4.1. Основные определения
- 4.2. Связь между системами счисления
- 4.3. Системы счисления, используемые в эвм
- 4.4. Внутреннее представление данных в памяти компьютера
- 4.4.1. Представление чисел
- 4.4.2. Представление текстовых данных
- 4.4.3. Представление мультимедийной информации
- 4.5. Представление данных во внешней памяти компьютера
- Глава 5. Основы алгоритмизации
- 5.1. Определение и свойства алгоритмов
- 5.2. Основные этапы и методы разработки алгоритмов
- 5.3. Основные способы описания алгоритмов
- Раздел 2. Основы информационных технологий
- Глава 6. Аппаратное обеспечение вычислительных систем
- 6.1. Понятие архитектуры и принципы устройства вычислительных систем
- 6.2. Устройство персонального компьютера
- 6.2.1. Конфигурация персонального компьютера
- 6.2.2. Характеристики процессора
- 6.2.3. Организация памяти персонального компьютера
- 6.2.4. Устройства ввода/вывода
- 6.2.5. Внешние запоминающие устройства
- 6.3. Тенденции совершенствования архитектуры
- Глава 7. Программное обеспечение
- 7.1. Понятие программы
- 7.2. Классификация программного обеспечения
- 7.3. Системное программное обеспечение
- 7.3.1. Операционные системы
- Определение и функции операционных систем
- Классификация операционных систем
- Функция управления процессами
- Управление основными ресурсами
- Управление данными. Файловая система
- Управление внешними устройствами и организация ввода/вывода
- Интерфейс с пользователем
- 7.3.2. Операционные оболочки
- 7.3.3. Средства контроля и диагностики
- 7.3.4. Системы программирования
- 7.4. Системы управления базами данных
- 7.4.1. Основные понятия
- 7.4.2. Реляционный подход к управлению бд
- «Магазины»
- «Владельцы»
- «Магазины-Владельцы»
- «Поставки»
- «Товар»
- «Поставки»
- 7.4.3. Назначение и классификация субд
- 7.4.4. Средства описания и манипулирования данными в субд
- 7.4.5. Объектно-ориентированные субд
- 7.4.6. Категории пользователей
- 7.5. Прикладное программное обеспечение
- Глава 8. Сети и сетевые технологии
- 8.1. Определение, назначение и классификация сетей
- 8.2. Способы передачи информации, коммутация и маршрутизация в сетях
- 8.3. Организация взаимодействия в сетях
- 8.4. Топология сетей и методы доступа
- 8.5. Глобальная сеть Internet
- 8.5.1. Идентификация компьютеров в сети
- 8.5.2. Услуги Internet
- 8.5.3. Всемирная паутина World Wide Web
- 8.5.4. Электронная почта
- 8.5.5. Навигационные средства для Internet
- 8.6. Корпоративные сети на основе технологий Internet
- Глава 9. Защита информации
- 9.1. Информация как продукт
- 9.2. Концепция защищенной вс
- 9.2.1. Основные понятия
- 9.2.2. Этапы разработки системы защиты
- 9.2.3. Общая классификация вторжений и характеристика угроз
- 9.2.4. Система защиты
- 9.2.5. Защита объектов на регистрационном уровне и контроль доступа
- 9.3. Криптографические средства защиты информации
- 9.3.1. Основные понятия
- 9.3.2. Криптографические протоколы
- 9.3.3. Электронно-цифровые подписи и открытые сделки
- 9.3.4. Использование криптографической защиты в программных продуктах
- 9.3.5. Условия и ограничения использования криптографической защиты
- 9.4. Программные закладки и вирусы
- 9.5. Хакеры и проблема безопасности информационных систем
- 9.6. Защита информации от потери в результате сбоев
- 9.7. Правовая защита информации и программного обеспечения
- Глава 10. Интегрированные пакеты прикладных программ офисного назначения
- 10.1. Общая характеристика офисных пакетов
- 10.2. Основы редактирования текстовых документов
- 10.3. Использование электронных таблиц
- 10.4. Системы электронного перевода
- 10.5. Системы оптического распознавания текстов
- 10.6. Интеграция систем распознавания текстов, компьютерного перевода и офисных пакетов
- 10.7. Электронные презентации
- 10.8. Графические редакторы
- 10.9. Правовые системы
- 10.10. Учетные системы
- Глава 11. Системы аналитической обработки данных и искусственного интеллекта
- 11.1. Средства анализа данных математических пакетов
- 11.2. Введение в системы искусственного интеллекта
- 11.2.1. Основы экспертных систем
- 11.2.2. Представление и использование нечетких знаний
- 11.2.3. Нейронные системы и сети
- 11.2.4. Системы извлечения знаний
- 11.2.5. Инструментальные средства создания интеллектуальных приложений
- Раздел 3. Современные информационные технологии в экономике и управлении
- Глава 12. Основные понятия
- Глава 13. Эволюция информационных технологий
- Глава 14. Классификация информационных систем
- Глава 15. Корпоративные системы
- 15.1. Типовые технические решения
- 15.2. Корпоративные информационные порталы
- 15.3. Серверы BizTalk как основа средств интеграции информационных систем
- Глава 16. Методы и средства разработки информационных систем
- 16.1. Жизненный цикл информационных систем
- 16.1.1. Процессы жизненного цикла ис
- 16.1.2. Модели жизненного цикла
- 16.2. Методы и средства структурного анализа
- 16.3. Объектно-ориентированный подход к разработке информационных систем
- 16.4. Компонентно-ориентированные средства разработки ис
- Глава 17. Стандарты создания информационных систем
- 17.1. Стандарты кодирования и представления информации
- 17.1.1. Единая система классификации и кодирования технико-экономической и социальной информации
- 17.1.2. Нормативная база системы классификации и кодирования
- 17.2. Унификация и стандартизация документов
- 17.3. Поддержка стандартов управления бизнес-системами
- 17.3.1. Информационные технологии и реинжиниринг
- 17.3.2 Описание стандарта mrp II
- Стратегическое планирование
- Бизнес-планирование
- Планирование объемов продаж и производства
- Планирование ресурсов
- Главный план-график производства
- Общее планирование мощностей
- Mrp, или планирование потребностей в материалах
- Crp, или планирование потребностей в мощностях
- Drp, или планирование потребностей в распределении
- Глава 18. Основы электронной коммерции
- 18.1. Этапы развития электронной коммерции
- 18.2. Секторы рынка электронной коммерции
- 18.3. Инструментарий электронной коммерции
- 18.4. Электронные платежные системы
- Глава 19. Введение в мобильный бизнес
- 19.1. Возможности мобильного бизнеса
- 19.2. Обзор существующих технологий мобильного бизнеса
- 19.2.1. Терминальные устройства
- 19.2.2. Современные технологии построения цифровых каналов связи
- 19.2.3. Стандарты мобильного Internet
- 19.2.4. Проблемы мобильного Internet
- 19.2.5. Операционные системы для мобильных устройств
- 19.2.6. Средства разработки приложений мобильного бизнеса
- Библиографический список