Создать процесс – это подготовить новый PCB.
Операционная система
¢ Программа, контролирующая исполнение приложений пользователей.
¢ Интерфейс между приложениями пользователей и аппаратным обеспечением.
Назначение операционных систем
¢ Удобство. Операционная система делает использование компьютера простым и удобным.
¢ Эффективность. Операционная система позволяет эффективно использовать ресурсы компьютерной системы
¢ Возможность развития. ОС допускает эффективную разработку, тестирование и внедрение новых приложений и функций, причём не мешая нормальному функционированию вычислительной системы.
Слои (Layers) и точки зрения на вычислительную систему
Сервисы операционных систем
¢ Разработка программ.
l Редакторы и отладчики.
¢ Исполнение программ.
¢ Доступ к устройствам ввода-вывода.
¢ Контролируемый доступ к файлам.
¢ Системный доступ.
¢ Обнаружение ошибок и их обработка
l Внутренние и внешние аппаратные ошибки
¢ Ошибки памяти
¢ Отказы и сбои устройств
l Программные ошибки
¢ Переполнение разрядной сетки
¢ Нарушение доступа к памяти
l Невозможность выполнить запрос приложения.
¢ Учёт использования ресурсов
l Учёт использования различных ресурсов.
l Мониторинг производительности
l è
l Дальнейшие улучшения системы
l Настройка системы для повышения производительности.
Операционная система как диспетчер ресурсов
|
|
¢ Ответственна за управление ресурсами
¢ Функции ОС работают также как всё остальное ПО à ОС это набор программ, исполняющихся процессором.
¢ ОС передаёт управление другим процессам и т.о. должна делить ресурсы с другими запущенными программами.
ОС как диспетчер ресурсов
Ядро (Kernel, Nucleus)
¢ Часть операционной системы, размещённой в основной памяти.
¢ Содержит наиболее часто используемые функции
è
1. Управление системой прерываний.
2. Система диспетчеризации процессов.
3. Система управления ресурсами (память, процессор)
Возможность развития ОС
¢ Обновление и возникновение новых видов аппаратного обеспечения.
¢ Новые сервисы
¢ Исправления
è
Особые требования к устройству операционных систем.
Эволюция операционных систем. Последовательная обработка данных.
¢ Последовательная обработка данных (конец 40-х – середина 50-х)
l Нет операционной системы
l Расписание работы
l Управление с консоли
l Подготовка к работе: загрузка компилятора, исходного кода, компиляция и сборка, загрузка и выполнение.
Эволюция операционных систем. Простые пакетные системы.
¢ Мониторы
l Управление последовательностью событий
|
|
l Пакеты заданий записаны на магнитную ленту
l Возвращение управление монитору при завершении программы.
Размещение монитора в памяти
JCL – Job Control Language
¢ Специальный тип языка программирования
¢ Отдаёт инструкции монитору
l Какой компилятор использовать
l Какие данные требуются программе
Использование аппаратных возможностей
¢ Защита памяти
l Не позволять программе вносить изменение в область памяти монитора.
¢ Таймер
l Предотвратить захват контроля над всей системой
¢ Привилегированные команды
l Некоторые инструкции микропроцессора, доступные только монитору, т.к. команды ввода-вывода.
¢ Прерывания
l Гибкое управление ресурсами. Первые системы не поддерживали таких возможностей.
Два режима работы
¢ Монитор исполняется в привилегированном режиме (режим ядра, Kernel Mode)
l Выполнение привилегированных инструкций
l Доступ к системной памяти.
¢ Программы выполняются в режиме пользователя (User Mode)
l Специальные инструкции не могут выполняться.
Переключение режимов работы.
Эволюция ОС. Многозадачные пакетные системы.
Чтение из файла | 0.0015с. |
Выполнение 100 команд | 0.0001с. |
Запись в файл | 0.0015с. |
Всего | 0.0031с |
Степень использования ЦП | 0.0001/0.0031 = 3.2% |
|
|
Однозадачность
¢ Процессор должен ждать окончания операций ввода-вывода
Многозадачность
¢ На время операции ввода-вывода, процессор может продолжить выполнение другой программы
Гистограммы использования ресурсов
Эволюция ОС. Системы с разделением времени.
¢ Применяется многозадачность для работы с интерактивными заданиями
¢ Процессорное время разделяется между задачами
¢ Обеспечивается одновременный доступ пользователей к системе с помощью терминалов.
Системы с разделением времени
Пакетная многозадачность | Разделение времени | |
Основная цель | Максимальное использование процессора | Уменьшение времени отклика |
Источник указаний ОС | JCL, сами задания | Команды с терминала |
Классификация ОС
Принципы построения ОС
¢ Частотный принцип.
¢ Принцип модульности.
¢ Принцип функциональной избирательности.
¢ Принцип функциональной избыточности.
¢ Принцип «по умолчанию»
¢ Принцип перемещаемости
¢ Принцип обеспечения безопасности вычислений
¢ Двухрежимность работы процессора.
|
|
¢ Защита памяти
¢ Защита от НСД.
Требования к ОС
¢ Чередовать выполнение нескольких задач для повышения степени использования ЦП.
¢ Распределять ресурсы между задачами в соответствие с заданной стратегией.
¢ Обеспечивать обмен данными между задачами и запуск новых задач пользователями.
Концепции
¢ Компьютерная система представляется набором аппаратных ресурсов.
¢ Компьютерные приложения создаются для выполнения некоторых задач
¢ Прямой доступ к аппаратным ресурсам со стороны приложений является неэффективным
¢ Операционная система представляет удобный в использовании, богатый функционально, безопасный и целостный интерфейс для использования приложениями.
¢ ОС обеспечивает единообразное, абстрактное представление ресурсов, которые могут выделятся приложениям по их запросу.
Управление выполнением приложений
¢ Ресурсы должны быть доступны множеству приложений
¢ Процессор распределяется среди множества приложений
¢ Процессор и устройства ввода-вывода эффективно используются множеством приложений.
Процессы и потоки
Процесс (Process) и поток (Thread) являются единицами работы в операционной системе.
¢ Процесс рассматривается операционной системой как заявка на потребление всех видов ресурсов, кроме одного – процессорного времени. Процессор распределяется операционной системой между другими единицами выполнения – потоками.
¢ В простейшем случае процесс состоит из одного потока. Если ОС не поддерживает потоков, то поведение потока полностью поглощается поведением процесса.
Элементы процесса
¢ Идентификатор
¢ Состояние
¢ Приоритет
¢ Счётчик команд
¢ Таблицы распределения памяти
¢ Контекст
¢ Статус операций ввода-вывода
¢ Статистические данные
Блок Управления Процессом (PCB – Process Control Block)
¢ Содержит элементы процесса
¢ Создаётся и управляется операционной системой
¢ Единая структура для поддержки различными процессами.
PCB. Обобщённая схема
PCB в семействе NT систем.
EPROCESS
KPROCESS
PEB – Process Environment Block
Создание процесса
Создать процесс – это подготовить новый PCB.
¢ Порождение нового процесса другим
¢ Создание операционной системой процесса для работы служб
¢ Вход в систему в интерактивном режиме
¢ Новое пакетное задание
Создание процесса в NT системах
Завершение процессов
¢ Обычное завершение
¢ Превышение лимита времени
¢ Недостаток памяти
¢ Нарушение доступа к памяти
¢ Ошибка доступа к ресурсу
¢ Арифметическая ошибка
¢ Ошибка ввода-вывода
¢ Неверная команда
¢ Команда с недоступными привилегиями
¢ Неправильное использование данных
¢ Вмешательство ОС
¢ Завершение всех потоков (для многопоточных систем)
¢ Запрос со стороны другого процесса.
Состояния процесса. Модель с двумя состояниями
Очередь процессов
Состояния процесса. Модель с пятью состояниями
Состояния процесса.
Схема с одной очередью блокированных процессов
Схема с множеством очередей блокированных процессов
Приостановленные процессы
¢ Перемещение (Swap) процессов на диск для освобождения памяти под другие процессы
¢ Блокированное состояние становится приостановленным при переносе процесса на диск
¢ Новые состояния:
l Блокирован/приостановлен
l Готов/приостановлен
Диаграмма состояний процесса с одним приостановленным состоянием
Диаграмма состояний процесса с двумя приостановленным состоянием
API - Application Programming Interface управления процессами (POSIX)
Дата добавления: 2018-05-13; просмотров: 287; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!