- •Конспект по курсу лекций Операционные системы
- •Структура вычислительной системы
- •Аппаратный уровень вычислительной системы
- •Системы программирования
- •Модель организации прерываний с использованием регистра «слово состояние процессора»
- •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Й процесс:
- •Механизм сокетов
- •Типы сокетов.
- •Функция создания сокета
- •Запрос на соединение
- •Прослушивание сокета
- •Подтверждение соединения
- •Прием и передача данных
- •Закрытие сокета
- •Пример. Работа с локальными сокетами
- •Пример работы с сокетами в рамках сети.
Модель организации прерываний с использованием регистра «слово состояние процессора»
Код прерывания аппаратно помещается в регистр «слово состояние процессора», после этого программа-обработчик прерывания выбрав этот код принимает решение о дальнейшей последовательности действий, которые необходимо осуществить для обработки прерывания, стоящего под этим кодом.
Внешние устройства
Внешние устройства на сегодняшний день во многом определяют эксплуатационные характеристики компьютера. Система внешних устройств компьютера достаточно широкая. Но есть некоторый типовой набор внешних устройств. Традиционно внешние устройства можно разделить на следующие классы:
Внешние запоминающие устройства – устройства, предназначенные для хранения данных и программ
Устройства ввода и отображения информации – осуществляют ввод из вне некоторой информации и отображение ее в виде некоторых результирующих данных. Традиционно – это печатающие устройства, устройство дисплея и устройство ввода изображения и текста.
Устройства приема и передачи данных используются для получения данных с других компьютеров, «из вне». (модем, факс…)
Внешние запоминающие устройства (ВЗУ).
Обмен данными:
• записями фиксированного размера – блоками
• записями произвольного размера
Доступ к данным:
• операции чтения и записи (жесткий диск, CDRW).
• только операции чтения (CDROM, DVDROM, …).
ВЗУ является устройством последовательного доступа если для чтения i-й записи необходимо прочесть («просмотреть») предыдущие i-1 запись. Устройства последовательного доступа являются простейшими ВЗУ. Они обычно используются для архивирования данных. Скорость обработки запросов чтения/записи самая низкая (большой объем механических действий, таких как перемотка лент вперед-назад при выполнении обмена).
Устройство прямого доступа характеризуется возможностью чтения любой записи без предварительного просмотра каких-либо других записей, размещенных на данном устройстве. ВЗУ прямого доступа классифицируются по производительности
Последовательного доступа:
•Магнитная лента
Прямого доступа:
• Магнитные диски
• Магнитный барабан
• Магнито - электронные ВЗУ прямого доступа
3.6.1.1 Устройство последовательного доступа
Магнитная лента
Примером устройства последовательного типа является магнитная лента (МЛ).
Чтобы добраться до определенной записи, нужно пройти все предыдущие.
Обычно длина физической записи МЛ произвольная, она определяется специальными маркерами начала и конца записи.
3
.6.1.2
Устройства прямого доступа
Наименее
скоростные устройства прямого доступа.
Блок может перемещаться
от края к центру. Каждое устройство
характеризуется фиксированным числом
цилиндров. Дорожки относящиеся к одному
цилиндру также пронумерованы. Дорожки
образуют концентрические окружности.
Все дорожки разделены на сектора. Начала
одноименных секторов лежат в одной
плоскости.
Для задания координат определенного сектора в управляющее устройства необходимо передать:
- номер цилиндра, где расположен сектор
- номер дорожки на которой находится сектор
- номер сектора
- считывание информации производится внутри условного цилиндра.
При выполнении обмена совершаются следующие действия:
*перемещение считывающей/головки на нужный цилиндр;
*ожидание выхода головки на начало нужного сектора диска (ожидание механического поворота диска на начало сектора);
*непосредственный обмен (в темпе движения диска);
Магнитный барабан
Высокоскоростное ВЗУ.
Предназначен больших вычислительных комплексов. Представляет из себя большой цилиндр длиной до метра, в диаметре 30 – 40 см. Поверхность покрыта особым веществом, над поверхностью штанга с головками над треками. Скорость доступа достаточно большая. Механическая составляющая только вращение барабана. Магнитный барабан используется операционными системами высокопроизводительных ЭВМ для хранения оперативных данных (данных, время доступа к которым должно быть минимальным).
При выполнении обмена совершаются следующие действия:
- электронное включение считывающей/записывающей головки, соответствующей нужному треку;
- ожидание размещения головки над началом нужного сектора (ожидание механического поворота барабана на начало сектора);
- непосредственный обмен в темпе движения барабана.
Магнито-электронные ВЗУ прямого доступа
Память на магнитных доменах, ВЗУ, построенные на элементной базе ОЗУ и т.п.
Из-за электрических свойств домены разгоняются по трекам. Обмен информацией между головкой и барабаном это включение головки и ожидание, когда домен «прибежит» на головку.
В обмене отсутствует «механическая» составляющая, поэтому это наиболее быстродействующие ВЗУ.
Используется американцами на шатлах.
Организация потоков данных при обмене с внешними устройствами
. Если посмотреть на взаимодействие ЦП, ОП и внешнего устройства, то это взаимодействие логически разделяется на два компонента:
Поток управляющей информации. Т.е. каким-то образом программно задается информация о том, что необходимо прочесть или записать или переместить данные из одного места в другое.
Поток данных. Т.е. непосредственно ответ на управляющее воздействие и связанное с этим ответом перемещение данных от внешнего устройства в ОП или в ЦП.
Организация потока данных между устройствами может осуществляться 2-мя способами. Организация потока данных между ОП и внешним устройством через ЦП. Это означает, что программе нужно считать или записать какую-то порцию данных процессор выполняет соответствующую последовательность команд. При этом выполняются либо специальные команды ввода- вывода либо процессор специальным образом размещает информацию на специальных регистрах. После это если есть команда чтения информации, то с устройства поступают данные опять-таки на специальные регистры, ЦП ловит (т.е. здесь могут появляться прерывания) эти данные и размещает их в нужную часть ОП, т.е. туда, куда эти данные должны быть размещены. Т.е. это схема обмена через ЦП.
Использование устройств прямого доступа к памяти(direct memory access – DMA). – это означает, что поток данных, т.е. поток управления идет через ЦП, т.е. ЦП выдает управляющую информацию и отслеживает окончательное выполнение, а поток данных идет не через процессор, а через некоторый контроллер, который называется DMA-контроллер. Т.о. обмен может осуществляться без участия ЦП. Т.е. при подаче информации на ЦП о том, что необходимо произвести обмен, DMA-контроллер производит соответствующие необходимые действия и начинается обмен. Когда обмен прошел, то происходит прерывание и ЦП получает информацию о том, что обмен прошел или не прошел.
Модели синхронизации при обмене с внешними устройствами
Существует две принципиально различные стратегии выполнения обмена с внешними устройствами: синхронная и асинхронная работа с ВУ.
Синхронная организация обмена
Процессор подает запрос внешнему устройству и ожидает завершения выполнения запроса.
Системы с синхронной организацией работы ВУ неэффективны с точки зрения использования времени работы центрального процессора. Процессор часто «ожидает» выполнения запроса. Наиболее подходит для однопрограммных специализированных вычислительных систем.
Асинхронная организация обмена
При обработке запроса к ВУ происходит разделение выполнения на три части:
1) передача ЦП запроса на выполнение работ. После этого процессор может выполнять другие команды.
2) параллельно работе ЦП происходит выполнение запроса к ВУ (т.е. в это время процессор может выполнять другие машинные команды).
3) выполнение работы ЦП прерывается и ему передается информация о завершении выполнения запроса. ЦП может также приостановить работу в случае обращения в область ОЗУ, находящуюся в обмене.
Асинхронная организация работы с ВУ более эффективна, но требует наличия развитого аппарата прерываний.
