Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Типы ОС



1. Однозадачные (MS-DOS)

2. Многозадачные (Unix, OS/2, Windows)

Пакетные системы - запуск одной программы из пакета за другой

Системы разделения времени (time-sharing) – процессор переключается между задачами не только на время операций ввода – вывода но и по прошествии определенного времени, что позволяет пользователю интерактивно взаимодействовать с программой

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

3. Многопользовательские (Windows NT, Unix) –механизмы защиты персональных данных каждого пользователя

4. Однопользовательские (MS-DOS, Windows 3.x)

Основная задача ОС- управление процессами!

Состав ОС: 1.Ядро 2.Драйверы 3. Файловая система 4.Командный процессор(command.com)

Функции ОС: 1.Управление процессами. 2.Интерфейс 3.Поддержка устройств(Device Support) 4.Безопасность 5.Поддержка файловой системы

№3 Концепция процесса. Состояния процесса.

Процесс – программа во время исполнения или объект, которому выделяются ресурсы ВС (процессор, память и..)

Процесс – динамический объект

Процесс характеризует: 1. Набор исполняемых команд 2. Выделенная для исполнения память (адресное пространство) 3. Адрес и состояние стеков 4. Используемые файлы 5. Устройства ввода-вывода 6. Значения регистров 7. Программный счетчик 8. Значение переменных

Состояния процесса: 1. Порождение – создаются условия для первого запуска 2. Готовность – у процесса есть все необходимые ресурсы, кроме ЦП 3. Активное – выделение процессора 4. Ожидание – (блокировка) нужный ресурс занят, процесс ждет его освобождения 5. Завершение – штатное или аварийное окончание работы программы

№4 Описание процесса в ОС. Операции над процессами.

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

Текущее состояние процесса описывается в системе с помощью PCB (Process Control Block)

PCB –хранит информацию:

• Уникальный идентификатор процесса, пользователь

• Состояние в котором находится процесс

• Текущий приоритет

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

• Содержимое регистров процесса

• Адресное пространство (и стеки)

• Связанные устройства ввода-вывода (файлы)

• Область хранения регистров (для рестарта)

Операции над процессами: 1. Создание(образование процесса) 1)Присваивание имени процесса, включение этого имени в список имён известных системе 2)Опр-ние начального приоретета процесса 3) Формирование PCB 4)выделение процессу начальных ресурсов.

2. Уничтожение процесса

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

4. Изменение приоретета

5. Блокирование

6. Разблокировка

7. Запуск

№5 Граф состояний процесса. Управление переходами.

№6 Процессы и потоки.

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

С одной стороны, процесс можно рассматривать как способ объединения родственных ресурсов в одну группу.

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

Любой поток состоит из двух компонентов:

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

· Поток (thread) определяет последовательность исполнения кода в процессе.

· Процесс ничего не исполняет, он просто служит контейнером потоков.

· Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах.

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

№7 Архитектуры ОС. Функции ядра.

Ядро –часть ОС основной функцией которого является работа с процессами.

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

Различают ОС: Микроядерные, Монолитные, Гибридные (большинство современных)

Основные функции ядра ОС

l Обработка прерываний

l Создание и уничтожение процессов

l Диспетчирование (выбор текущего процесса из очереди)

l Синхронизация процессов

l Организация взаимодействия между процессами

l Поддержка PCB

l Поддержка операций I/O

l Поддержка распределения памяти

l Поддержка файловой системы

l Вызов процедур и возврат из них

l Остальные переходы на графе состояний

№8 Управление потоками. Многопоточное программирование.

Управление потоками.-????

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

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

Многопоточность — это специализированная форма многозадачности.

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

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

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

— Многопоточность дает возможность писать очень эффективные программы, которые максимально используют CPU, потому что время его простоя можно свести к минимуму.

— Скорость передачи данных по сети намного меньше, чем скорость, с которой компьютер может их обрабатывать.

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

— Многопоточность позволяет получить доступ к этому времени простоя и лучше его использовать.

№9 Проблема тупиков в ОС. Необх условия возникновения тупиков

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

Задачи ОС: Предотвращение; Обход; Обнаружение.

Примеры тупиков: транспортная пробка, Кольцевая цепь запросов.

Бесконечное ожидание – состояние системы, которого ждет процесс, является возможным, но оно откладывается на неопределенное время.
Например, из-за приоритета.

Условия возникновения тупиков (необходимые):

1. Монопольное управление выделенными ресурсами (взаимоисключение);

2. Удержание ресурсов на время ожидания следующего;

3. Ресурсы у процесса нельзя отобрать, отдает их сам (неперераспределение);

4. Существование кольцевой цепи запросов.

№10 Предотвращение тупиков. Принципы Хавендера.

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

Принципы Хавендера:

Процесс запрашивает все нужные ресурсы сразу. До выделения – ждет.

Нарушается условие возникновения тупиков - Удержание ресурсов на время ожидания следующего;

Плюс: простота реализации.

Минусы:

- Как определить набор всех необходимых процессу ресурсов?

- Простой свободных ресурсов.

- Накапливание ресурсов приводит к высоким издержкам.





Дата публикования: 2015-02-03; Прочитано: 423 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...