- •Конспект по курсу лекций Операционные системы
- •Структура вычислительной системы
- •Аппаратный уровень вычислительной системы
- •Системы программирования
- •Модель организации прерываний с использованием регистра «слово состояние процессора»
- •3.6.1.1 Устройство последовательного доступа
- •Организация управления внешними устройствами
- •Иерархия памяти
- •Аппаратная поддержка ос и систем программирования
- •Некоторые проблемы
- •1. Вложенные обращения к подпрограммам
- •2. Накладные расходы при смене обрабатываемой программы:
- •4. Фрагментация памяти
- •4.2.1 Регистровые окна ( register window )
- •Системный стек
- •Виртуальная память.
- •Базирование адресов.
- •Страничная память.
- •Многомашинные, многопроцессорные ассоциации.
- •Терминальные комплексы
- •Компьютерные сети.
- •Семейство протоколов tcp/ip
- •Ip адрес представляется последовательностью четырех байтов. В адресе кодируется уникальный номер сети, а также номер компьютера (сетевого устройства в сети).
- •Транспортный уровень
- •Уровень прикладных программ
- •Сетевые, распределенные ос
- •Операционные системы Основные понятия
- •Структура ос.
- •Модельная ос
- •Жизненный цикл процесса
- •Типы операционных систем
- •Системы разделения времени
- •Управление внешними устройствами. Архитектура.
- •Программное управление внешними устройствами
- •Буферизация обмена
- •Планирование дисковых обменов
- •Raid системы.
- •Файлы устройств, драйверы
- •Управление оперативной памятью
- •Двухуровневая организация
- •Структурная организация файлов
- •Атрибуты файла
- •Типовые программные интерфейсы работы с файлами
- •Подходы в практической реализации файловой системы Структура «системного» диска
- •Модели реализации файлов Непрерывные файлы
- •Файлы, имеющие организацию связанного списка.
- •Индексные узлы (дескрипторы)
- •Модели организации каталогов
- •Варианты соответствия: имя файла – содержимое файла
- •Координация использования пространства внешней памяти
- •Учет свободных блоков файловой системы Связный список свободных блоков
- •Использование битового массива
- •Организация фс Unix
- •Логическая структура каталогов
- •Внутренняя организация фс Модель версии System V Структура фс
- •Работа с массивами номеров свободных блоков
- •Работа с массивом свободных ид
- •Индексные дескрипторы
- •Адресация блоков файла
- •Файл каталог
- •Установление связей
- •Недостатки фс модели версии System V
- •Модель версии ffs bsd
- •Стратегии размещения
- •Внутренняя организация блоков
- •Структура каталога ffs
- •Понятие «процесс».
- •Процессы в ос Unix Системно-ориентированное определение процесса
- •Базовые средства организации и управления процессами
- •Семейство системных вызовов exec()
- •Использование схемы fork-exec
- •Формирование процессов 0 и 1
- •. Планирование Основные задачи планирования
- •Планирование очереди процессов на начало обработки
- •Кванты постоянной длины.
- •Кванты переменной длины
- •Класс подходов, использующих линейно возрастающий приоритет.
- •Разновидности круговорота.
- •Смешанные алгоритмы планирования
- •Планирование в системах реального времени
- •Общие критерии для сравнения алгоритмов планирования
- •Планирование в ос unix
- •Планирование в Windows nt.
- •Планирование свопинга в ос Unix
- •Взаимодействие процессов: синхронизация, тупики Параллельные процессы
- •Проблемы организации взаимного исключения
- •Тупики (deadlocks)
- •Способы реализации взаимного исключения
- •Семафоры Дейкстры
- •Мониторы
- •Обмен сообщениями
- •Классические задачи синхронизации процессов
- •Задача «читателей и писателей»
- •Задача о «спящем парикмахере»
- •Реализация взаимодействия процессов
- •Сигналы
- •Системный вызов kill()
- •Системный вызов signal()
- •Пример 1.
- •Пример 2.
- •5 Пример. Программа “Будильник”.
- •Пример. Двухпроцессный вариант программы “Будильник”.
- •Пример. Использование канала.
- •Пример. Схема взаимодействия процессов с использованием канала.
- •Пример. Реализация конвейера.
- •Пример. Совместное использование сигналов и каналов – «пинг-понг».
- •Именованные каналы. Особенность именованных каналов в ос Unix.
- •Пример. «Клиент-сервер».
- •Межпроцессное взаимодействие, проводимое по модели «главный-подчинённый».
- •Системный вызов ptrace()
- •Общая схема трассировки процессов
- •Пример. Использование трассировки.
- •Система межпроцессного взаимодействия ipc.
- •Очередь сообщений
- •Системный вызов msgget()
- •Функция msgsnd()
- •Функция msgrcv()
- •Функция msgctl()
- •Пример. Использование очереди сообщений.
- •Пример. Очередь сообщений. Модель «клиент-сервер».
- •Разделяемая память.
- •Пример. Работа с общей памятью в рамках одного процесса.
- •Семафоры
- •Пример. Использование разделяемой памяти и семафоров.
- •1Й процесс:
- •2Й процесс:
- •Механизм сокетов
- •Типы сокетов.
- •Функция создания сокета
- •Запрос на соединение
- •Прослушивание сокета
- •Подтверждение соединения
- •Прием и передача данных
- •Закрытие сокета
- •Пример. Работа с локальными сокетами
- •Пример работы с сокетами в рамках сети.
Организация управления внешними устройствами
Непосредственное управление внешними устройствами центральным процессором. есть внешнее устройство, ЦП и ОЗУ. Устройство управления внешними устройствами оно имплантировано в ЦП. Т.е. ЦП выполняет абсолютно все действия по управлению внешними устройствами, что ведет к достаточно большим потерям у системы в целом. Это 1-я историческая модель.
2.Синхронное
управление внешними устройствами с
использованием контроллеров
внешних устройств. Суть такова : появились между ЦП и внешнем устройством -устройства, которые называются контроллер внешнего устройства. Контроллер внешнего устройства служит промежуточным звеном для общения ЦП и внешнего устройства. С точки зрения ЦП контроллер внешнего устройства может иметь интерфейсную часть (команды) более высоко уровневую, чем для 1-го случая (могут быть, команды уже подачи информации позиционировать на соответствующий сектор). Но при этом на ЦП ложится значительная работа по обработке ошибочных и ситуаций и прочих внештатных ситуаций, которые выполняются при обмене. Уровень и объем непроизводительной работы ЦП зависит от конкретного контроллера (т.е. насколько интеллектуальный контроллер).
3.Асинхронное управление внешними устройствами с использованием контроллеров внешних устройств.
Альтернатива синхронному управлению. Т.е. при появлении асинхронного управления – появляются прерывания, которые позволяют откладывать и запараллеливать разные действия, а проблема загрузки ЦП непроизводительной работой – она остается как есть. Все равно ЦП, несмотря на асинхронную работу, занимается плюс непроизводительной работой.
4.Использование контроллера прямого доступа к памяти (DMA) при обмене.
. Понятно, что здесь речь идет о асинхронном обмене и есть существенная оптимизация за счет того, что поток данных минует ЦП и много проблем как бы уходят со стороны ЦП. Тем не менее остаются проблемы связанные с управлением и отработкой данных обмена.
5.Управление внешними устройствами с использованием процессора или канала ввода/вывода.
В системе кроме ЦП присутствует специализированный процессор (специализированная машина), который обеспечивает управление внешними устройствами, который обеспечивает оптимизацию работы с внешними устройствами. Т.е. эта машина может иметь свою локальную оперативную память, и в этой локальной оперативной памяти может быть организовано кэширование доступа к внешнему устройству для того, чтобы минимизировать непосредственные обращения к внешнему устройству. Системы ввода/вывода предоставляют для процессора высокоуровневый интерфейс общения, который обеспечивает минимизацию загрузки ЦП объектной организацией ввода/вывода. Это означает, что проблемы обнаружения ошибок, попытки локализации ошибок и т.д. – все это уже происходит внутри процессора канала ввода/вывода и ЦП это не затрагивает.
Иерархия памяти
Данная иерархия строится с позиций близости к ЦП, стоимости памяти и системной составляющей. Т. е. есть ЦП и элементами памяти в ЦП являются регистры общего назначения и КЭШ 1-го уровня. Следующий уровень– это уровень устройства, которое называется КЭШ 2-го уровня, которое находится между ЦП и ОЗУ, т.е. обычно это устройство, которое быстрее ОП, но может быть медленнее и дешевле КЭШа 1-го уровня, а также может обладать немножко большими размерами чем КЭШ 1-го уровня, соответственного схема работы с КЭШем 2-го уровня аналогично схеме работы с КЭШем 1-го уровня. по иерархии уровень после уровня ОЗУ – это уровень внешнего запоминающего устройство с внутренней КЭШ-буферизацией. Т.е. это устройства, аппаратное управление которых имеет КЭШ буферизации, т.е. это уже менее эффективно, чем ОП, но достаточно эффективно, потому что опять-таки за счет внутреннего кэширования (при той же схеме кэширования, которая имеет место в схеме ЦП - ОЗУ ), сокращается реальное количество обращений к устройству и тем самым получается существенное повышение производительности работы устройства. Следующий уровень - внешнее запоминающее устройство прямого доступа без КЭШ-буферизации. Это устройства существенно менее эффективные, но также предназначенные для оперативного доступа к данным, т.е. это устройства, которые обычно используются в программе для организации внешнего хранения и доступа за данными, соответственно по производительности они могут быть разными, но для каких-то ситуаций категории этих двух устройств не принципиальны. Последним уровнем этой иерархии является уровень внешнего запоминающего устройства долговременного хранения данных. Т.е. это устройства, предназначенные для архивирования и долговременного хранения информации, к этим устройствам могут относиться и как устройства прямого доступа, и устройства последовательного доступа. Суть иерархии: на вершине находятся самые высоко скоростные, которые, в свою очередь являются также и самыми дорогими устройствами, но спускаясь вниз, мы получаем устройства менее дорогие, но обладающие более худшими показателями по скорости доступа, за счет всей системы предусматриваются достаточно большие элементы сглаживания дисбаланса в производительности каждого из типов этих устройств.
