Галерея диаграмм связей Карта разума операционной системы компьютера
Это интеллектуальная карта компьютерных операционных систем, включая процессы и потоки, управление памятью, управление файлами, управление вводом-выводом и т. д. Надеюсь, это поможет всем.
Отредактировано в 2023-12-08 15:46:30Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Операционная система
Глава 1. Обзор
основная концепция
Совокупность программ, которые контролируют и управляют аппаратными и программными ресурсами всей компьютерной системы, рационально организуют и планируют работу компьютера и распределение ресурсов, а также предоставляют пользователям удобные интерфейсы и среды.
особенность
одновременно
Несколько событий происходят в одном и том же интервале времени
Отличие от параллельного Параллелизм есть параллелизм одновременно
общий
взаимоисключающий обмен
Только одному процессу разрешен доступ к ресурсам в течение определенного времени.
Только после того, как процесс получил доступ к ресурсу и освободил его, другой процесс может получить доступ к ресурсу.
критические ресурсы
Только одному процессу разрешен доступ в течение определенного периода времени
Такие как: физические устройства, стеки, переменные, таблицы и т. д.
Посетите одновременно
Разрешить «одновременный» доступ нескольким процессам в течение определенного периода времени.
В то же время макроскопически На микроуровне они могут получать доступ к ресурсам поочередно (разделение времени).
Совместное использование ресурсов обусловлено параллелизмом программ. Если параллелизм программ не разрешен, совместного использования ресурсов не будет.
Две основные характеристики
виртуальный
Сущности становятся логическими аналогами
Параллельное выполнение посредством мультипрограммирования
Используйте технологию мультипрограммирования для разделения физического процессора на несколько логических процессоров.
виртуальная технология
технология мультиплексирования с временным разделением
совместное времяпровождение
технология мультиплексирования с космическим разделением
виртуальное хранилище
асинхронный
Выполнение процесса выполняется не за один этап, а в режиме «стоп-и-идти», поскольку ресурсы ограничены.
Операционная система служит интерфейсом между пользователем и аппаратной системой компьютера.
Как пользователи используют компьютеры
1) Командный интерфейс
через командный интерпретатор
Анализатор команд оболочки также является командным интерфейсом.
Онлайн-командный интерфейс
Подходит для систем разделения времени и систем реального времени.
Акцент на интерактивность пользователя
Автономный командный интерфейс
Ручное управление не требуется
для систем пакетной обработки
Вместе с заранее подготовленными заданиями они передаются в систему. При планировании заданий интерпретатор команд системы контролирует их выполнение.
2) Интерфейс программы
Состоит из системных вызовов
Используйте системные вызовы, чтобы запросить операционную систему предоставить ей услуги.
Операционная система не предоставляет системных вызовов для системного кеша, и кеш прозрачен для пользователя.
путь развития
1) Этап ручного управления
На данный момент операционной системы нет, и вся работа выполняется вручную.
2) Этап пакетной обработки
Однополосная система пакетной обработки
1) Последовательность
2) Автоматизм
3) Однонаправленность
В памяти выполняется только одна программа
Многоканальная система пакетной обработки
с помощью методов мультипрограммирования
Несколько программ одновременно попадают в память и поочередно выполняются внутри ЦП.
Общее оборудование/программное обеспечение
Когда программа приостанавливается из-за ввода-вывода, ЦП немедленно запускает другую программу.
через прерывание
преимущество
1) Несколько каналов
2) Макропараллелизм
3) Микросериал
4) Высокий коэффициент использования и большая пропускная способность.
Недостатки: длительное время отклика, отсутствие взаимодействия с человеком, отсутствие контроля над компьютером.
3) Операционная система с разделением времени
Несколько пользователей одновременно используют хост через терминал
Через вращение временного интервала
Реализуйте взаимодействие человека и компьютера
1) Одновременность
2) Интерактивность
3) Независимость
Несколько пользователей работают независимо, не мешая друг другу
4) Своевременность
Получите ответ в короткие сроки
4) Операционная система реального времени
Выполнять срочные задачи (упреждающие высокоприоритетные задачи) в течение определенного срока, Нет необходимости в очередях по временным интервалам
5) Сетевая операционная система и распределенная компьютерная система.
сетевая операционная система
Каждый компьютер органично интегрирован
распределенная компьютерная система
Каждый компьютер имеет равный статус
6) Операционная система персонального компьютера.
победа, Linux, Mac OS
Рабочая среда
Режим работы процессора
1) Привилегированные инструкции
Директивы, которые пользователям не разрешено использовать
Инструкция ввода-вывода, установка инструкции прерывания, отправка слова состояния, сохранение регистра, установка часов
Может выполняться только в режиме ядра
2) Непривилегированные инструкции
Директивы, которые позволяют пользователям использовать
Нет прямого доступа к аппаратным и программным ресурсам системы.
Разрешить доступ только к адресному пространству пользователя
системный вызов
Инструкции-ловушки, также известные как инструкции управления доступом, используются для инициирования системных вызовов и запроса системы на предоставление услуг.
Используется в пользовательском режиме. Так что это не привилегированная инструкция
Программа работает в пользовательском режиме
Программы ядра работают в режиме ядра
Команда перехода в пользовательский режим является привилегированной командой.
Приложение запрашивает службы у операционной системы с помощью инструкций управления доступом, генерирует событие прерывания и переводит операционную систему в режим ядра.
Процесс выполнения обобщенных инструкций (команд системного вызова) должен находиться в состоянии ядра. И его вызов может быть в пользовательском режиме или в режиме ядра.
Переключение из пользовательского режима в режим ядра должно проходить через прерывание
Пока происходит прерывание, оно неизбежно перейдет в состояние ядра.
вызов подпрограммы
Сохраняйте только точки останова
Адрес следующей инструкции
Пользовательский режим → основной режим
пример
Запросить системные услуги
Происходит прерывание
Ошибка пользовательской программы
Пользовательская программа хочет выполнить привилегированные инструкции
Преобразование из пользовательского режима в основной режим осуществляется аппаратно.
Это должно быть достигнуто через прерывания.
Пока происходит прерывание, оно должно обрабатываться и преобразовываться в состояние ядра.
Когда состояние пользователя переходит в состояние ядра, не только состояние переключается, но и стек также преобразуется в системный стек.
управление часами
Реализация переключения процессов посредством управления прерываниями часов
прерывание часов
Обработка информации, связанной со временем, чтобы решить, запускать ли планировщик
Системное время, временной интервал, задержка, время использования процессора, таймер и т. д.
Прерывания и исключения
прерывать (внешнее прерывание)
Операционная система не может работать без прерываний
Лишь небольшая часть функций принадлежит ядру, защищая и восстанавливая информацию о сцене прерывания. Передача управления соответствующему обработчику
сохраненные данные
Аппаратное сохранение
ПК
Слово состояния PSW
сохранение операционной системы
общий регистр х
аномальный (внутреннее прерывание)
Недопустимый код операции, адрес за пределами допустимого, переполнение, ошибка страницы, самоловушка и т. д.
Системный вызов, команда доступа
Исключения невозможно замаскировать, и их следует обрабатывать сразу же после их возникновения.
примитивный
это процедура
1) В нижней части операционной системы
2) Программа запускается атомарно
3) Программа имеет короткое время работы и частые вызовы.
4) Компоненты ядра
стиль управления
Управление устройствами
Управление процессом
управление памятью
структура операционной системы
многоуровневый подход
Трудно определить каждый слой
Модульный
Межмодульные интерфейсы трудно удовлетворить реальные потребности
макро ядро
Все основные функциональные модули работают в состоянии ядра как тесно связанное целое.
победа, Linux, iOS, Android
микроядро
Основные функции сохраняются в ядре, а функции, выполнение которых в режиме ядра не обязательно, передаются в пользовательский режим.
Файловая служба работает в пользовательском режиме
Главный недостаток — проблемы с производительностью.
Хунмэн ОС
загрузка ОС
Активировать процессор
Выполните инструкцию JMP для перехода в BIOS.
Зарегистрируйте адрес входа программы прерывания BIOS
Самотестирование оборудования
Загрузите жесткий диск с ОС
Загрузите основную загрузочную запись MBR
MBR содержит таблицу разделов оборудования.
MBR проверяет таблицу разделов, чтобы найти активный раздел, и передает программу запуска раздела в память для выполнения.
Сканировать раздел жесткого диска
Загрузить загрузочную запись PBR (загрузочная запись раздела)
Найдите и активируйте программу в корневом каталоге раздела, используемого для загрузки операционной системы.
Загрузить менеджер загрузки
Расположен на жестком диске и используется для загрузки операционной системы.
Загрузить ОС
виртуальная машина
Глава 2. Процессы и потоки
Процессы и потоки
концепция
Плата блока управления процессом
Разрешить каждой программе (включая данные), участвующей в одновременном выполнении, работать независимо.
PCB – единственный признак существования процесса
Объект процесса (изображение)
Он состоит из трех частей: сегмента программы, сегмента соответствующих данных и платы.
Процесс — это выполняющийся процесс сущности процесса.
Это независимый блок распределения и планирования ресурсов в системе.
особенность
вызвано одновременным выполнением нескольких программ
Динамический
Параллелизм
независимость
Асинхронность
Статус процесса и переходы
Состояние работы→Состояние блокировки
Защитите сцену
Состав процесса
печатная плата
Раздел программы
Сегменты программного кода, которые могут быть запланированы процессом для выполнения ЦП.
сегмент данных
контроль над процессом
Программы, используемые для управления процессами, называются примитивами.
Каждый родительский и дочерний процесс имеет свою собственную плату.
Родительский и дочерний процессы совместно используют некоторые ресурсы, но не используют совместное виртуальное адресное пространство.
процесс завершен
событие
Закончить нормально
ненормальный конец
внешнее вмешательство
процесс
Получить печатную плату, прочитать статус
Завершить операцию
Предоставьте ресурсы другим процессам
или вернуться в операционную систему
Убить все дочерние процессы
Удалить печатную плату
процесс коммуникации
Обмен информацией между процессами
связь низкого уровня
Фотоэлектрическая работа
нельзя прерывать
передовые коммуникации
общее хранилище
Потоки внутри процесса естественным образом разделяют пространство процесса. Пространство процесса распределяется между процессами посредством специальных системных вызовов.
обмен сообщениями
Обмен данными происходит в форматированных сообщениях
прямое общение
косвенный метод связи
Промежуточный объект — почтовый ящик
трубная связь
Данные первыми поступают и первыми поступают в конвейер
Файл канала существует в памяти
Если данные читаются пустыми, процесс чтения блокируется.
Доступ к каналам возможен только в процессе создания.
Обычные трубы допускают только одностороннюю связь.
Потоки и многопоточность
Является базовым исполнительным блоком ЦП.
Это наименьшая единица потока выполнения программы.
Блок управления резьбой TCB состоит из
Идентификатор потока
счетчик команд
набор регистров
Состав стека
Область хранения для конкретного потока
В одном и том же процессе несколько потоков могут выполняться одновременно
После введения темы
Этот процесс служит единицей распределения системных ресурсов вне ЦП.
Потоки как единицы распределения процессора
Процесс — это базовая единица, владеющая ресурсами в системе. Потоки не владеют системными ресурсами.
Реализация потока
Классификация
поток пользовательского уровня
Вся работа выполняется приложением в пользовательском пространстве.
Переключение потоков не требует места в ядре и имеет низкие накладные расходы.
При необходимости выбирайте различные алгоритмы планирования.
Если поток пользовательского уровня блокируется, весь процесс также блокируется.
Потоки уровня ядра
В комплекте с поддержкой операционной системы
Переключение потоков в одном и том же процессе требует переключения из пользовательского режима в режим ядра, что требует больших затрат.
Можно запланировать параллельное выполнение нескольких потоков одного и того же процесса на ЦП одновременно.
Многопоточная модель
многие к одному
Несколько пользователей сопоставлены с одним ядром
Один к одному
многие ко многим
Планирование процессора
Концепция планирования
Выбрать процесс из очереди готовности по определенному алгоритму и назначить ему процессор
Работы и процессы
Задания отправляются пользователями и основаны на пользовательских задачах. Этот процесс генерируется операционной системой и является базовой единицей распределения ресурсов и независимой работы.
Иерархия планирования
Расширенное планирование
планирование работы
Планирование заданий — это планирование между памятью и вспомогательной памятью.
Каждое задание загружается только один раз и загружается один раз
Промежуточное планирование
планирование памяти
Программа вызова и звонка
Улучшение использования памяти и пропускной способности системы.
Процессы, которые временно не выполняются, планируются для внешней памяти и приостанавливаются.
планирование низкого уровня
планирование процессов
Частота планирования процессов высока
Самый простой и незаменимый
Производительность
Загрузка процессора
Эффективное время работы ЦП / (эффективное ожидание)
Время оборота
Время выполнения = время выполнения задания – время подачи задания.
Среднее время выполнения = ∑время выполнения / n
Взвешенное время выполнения = время выполнения задания / фактическое время выполнения задания.
Средневзвешенное время выполнения = ∑взвешенное время выполнения / n
время ожидания
Время отклика
Планирование реализации
планировщик
очередь
Диспетчер
переключатель контекста
Выполнение большого количества инструкций загрузки/сохранения и сохранение содержимого регистра.
Планирование времени, переключений и процессов
Ситуации, когда планирование и переключение не могут быть выполнены
1) В процессе обработки прерываний
2) Процесс находится в критическом разделе ядра системы
После входа в критическую секцию заблокируйте ее, Процессы не должны переключаться перед разблокировкой
3) Во время атомного процесса
Во время атомарных процессов маскируются даже прерывания.
Ситуации, которые можно планировать и переключать
планирование недепривации
Возникло условие планирования, и текущий процесс не может продолжаться.
планирование деприваций
Обработка прерываний завершается
Ловушка заканчивается
Метод планирования
Непревентивный
Позвольте текущему процессу продолжаться, даже если готов экстренный процесс.
Упреждающий
Чрезвычайные события имеют более высокий приоритет
Процесс тусовки
Если в системе нет других процессов, включите режим простоя.
Планирование двух потоков
уровень пользователя
Переключение потоков в рамках одного процесса с использованием небольшого количества машинных инструкций.
уровень ядра
Ядро выбирает конкретный поток для запуска и назначает ему интервал времени.
Алгоритм планирования
Первым прибыл - первым обслужен Эквивалент в русском языке: поздний гость гложет и кость
неотъемлемый алгоритм
Алгоритм прост и малоэффективен.
Благоприятствует загруженным операциям процессора Не способствует загруженным операциям ввода-вывода
Сначала короткие работы
Задания с самым коротким временем выполнения имеют приоритет.
Не подходит для длительной работы
Неспособность в полной мере учитывать срочность задания.
Среднее время ожидания, самое низкое среднее время обработки
приоритетное планирование
Выполнять в соответствии с приоритетом задания
Может использоваться как для планирования процессов, так и для планирования заданий.
приоритет
статический приоритет
Однажды решенное, его нельзя изменить
динамический приоритет
Приоритет можно регулировать в зависимости от ситуации.
в принципе
1) Системный процесс > Пользовательский процесс
2) Интерактивный процесс > неинтерактивный процесс
3) Процесс ввода-вывода > Вычислительный процесс
Поскольку устройство ввода-вывода работает медленнее, чем процессор
Приоритет высокого коэффициента отклика
Коэффициент отклика = (время ожидания, необходимое время обслуживания) / необходимое время обслуживания.
вращение временного интервала
для систем разделения времени
Если интервал времени достаточно велик, чтобы все задания могли быть выполнены за один интервал времени, Алгоритм ротации временных интервалов деградирует до принципа «первым пришел — первым обслужен».
многоуровневая очередь
Процессы разных типов или свойств назначаются разным очередям готовности.
Многоуровневая очередь обратной связи
Несколько очередей готовности, каждая с разными приоритетами
Размер интервала времени обработки каждой очереди различен
Каждая очередь в порядке очереди
Очереди планируются по приоритету
Сравнивать
Переключение процессов
переключение контекста
Под контекстом понимается: содержимое регистров ЦП и счетчика программ в определенный момент.
ЦП переключается на другой процесс, и ему необходимо сохранить состояние текущего процесса и восстановить состояние другого процесса.
Обновить печатную плату
Переключение режима
Переключение между пользовательским режимом и режимом ядра
Синхронизация и взаимное исключение
концепция
критические ресурсы
Только один процесс может использовать его одновременно
Такие как принтер, переменная, данные
Входная зона
Проверьте, можно ли войти в критическую секцию
критическая секция
Код в процессе, который обращается к критическим ресурсам
Зона выхода
Снимите флаг, что осуществляется доступ к критическому разделу.
оставшаяся площадь
остальная часть кода
Синхронизация процессов
прямые ограничительные отношения
Связь между процессами представляет собой прямое сотрудничество, а параллельность процессов является асинхронной.
взаимоисключающий
косвенные ограничения
Когда один процесс обращается к критическому ресурсу, другой процесс должен ждать.
критерии
Бесплатно впустить
Если ты занят, подожди
ограниченное ожидание
Гарантированный вход в критический раздел в течение ограниченного времени
уступить дорогу и подождать
Когда процесс не может войти в критическую секцию, процессор немедленно освобождается, чтобы процесс не был занят ожиданием.
взаимоисключающие методы
Метод реализации программного обеспечения
метод одной отметки
Сначала проверьте метод двойной отметки
Метод двойной маркировки после проверки
алгоритм Петерсона
Чтобы предотвратить попадание двух процессов в критическую секцию и бесконечное ожидание, устанавливается переменная поворот
Аппаратный метод реализации
Метод маскировки прерываний
Аппаратный командный метод
тестовый набор
менять
Преимущества аппаратных методов реализации
Работает с любым количеством процессов
недостаток
Может возникнуть голод
блокировка мьютекса
приобретать
получить замок
выпускать
разблокировать замок
сигнал
Работа фотоэлектрических систем на самом деле состоит из двух непрерывных процессов.
Операция p — это операция ожидания, что означает ожидание, пока ресурс не станет доступен. Если ресурс недоступен, он переходит в состояние блокировки. Процесс во время операции p находится в рабочем состоянии
Операция V — это одна операция, что означает, что процесс освобождает ресурс так, что количество ресурсов, доступных для распределения в системе, равно 1.
целочисленный семафор
запись семафора
Использование семафоров для синхронизации процессов
Использование семафоров для реализации взаимного исключения процессов
Начальное значение мьютекса обычно равно 1, что означает, что только одному процессу разрешено войти в критическую секцию одновременно. Когда он равен 0, это означает, что процесс вошел в критическую секцию и за ее пределами нет процессов, ожидающих. Когда мьютекс меньше 0, это означает, что в критической секции есть процесс. Абсолютное значение мьютекса указывает количество процессов, ожидающих за пределами критической секции.
Использование семафора для реализации предшественника
управление
Инструмент синхронизации процессов
Гарантированное взаимное исключение процесса
Возможность достижения синхронизации и взаимного исключения между процессами
Только один процесс одновременно использует общий ресурс
Структура данных, представляющая общий ресурс, и программа управления ресурсами, состоящая из набора процедур, которые работают с этой общей структурой данных в реальном времени.
Сигнал отличается от режима V. Если процесс не заблокирован по каким-либо причинам, сигнал не имеет никакого эффекта.
Проблемы с синхронизацией
проблема производителя и потребителя
проблема чтения-писателя
прочитай сначала
Напишите сначала
Проблема обеда философов
Возможные проблемы: когда все хватают палочки для еды (жадный алгоритм), может возникнуть взаимоблокировка.
проблема курильщика
тупик
определение
Тупик, вызванный несколькими процессами, конкурирующими за ресурс
Эти процессы не могут продолжаться без внешних сил.
причина
1) Конкуренция за системные ресурсы
Неотчуждаемые ресурсы в системе, количество которых недостаточно для удовлетворения нескольких процессов.
2) Последовательность продвижения процесса недопустима.
Неправильный порядок запроса и освобождения ресурсов.
Необходимые условия для возникновения тупиковой ситуации
1) Взаимоисключающие условия
Определенный ресурс занят только одним процессом в течение определенного периода времени.
2) Никаких лишений условий
не может быть вытеснен другими процессами
3) Условия запроса и удержания
Процесс занял ресурс и одновременно запросил другой ресурс, а занятый ресурс не освобождается.
4) Ожидание в цикле
Ресурсы, занимаемые каждым процессом, одновременно запрашиваются следующим процессом.
Стратегия обработки тупиков
1) Предотвращение тупиковых ситуаций
Уничтожьте одно или несколько из четырех необходимых условий.
1. Разрушение условий взаимного исключения
Разрешить совместное использование системных ресурсов
2. Разрушить условия недепривации
Освободите процессы, которые занимают ресурсы и не могут продолжать выполняться
3. Уничтожить запрос и сохранить условие
Подайте заявку на все необходимые ресурсы сразу и не вводите его в эксплуатацию до тех пор, пока его ресурсы не будут выполнены.
4. Разорвите цикл и подождите
Принять метод последовательного распределения ресурсов
2) Избежание тупиковых ситуаций
Предотвратить переход системы в небезопасное состояние
1. Статус безопасности системы
Прежде чем система выделит ресурсы, она должна сначала рассчитать безопасность распределения.
безопасное состояние
Не должно быть тупика
небезопасное состояние
Может зайти в тупик
2. Алгоритм Банкира
Предотвратить переход системы в небезопасное состояние
3) Обнаружение и освобождение тупиковой ситуации
Обнаружить возникновение тупиковой ситуации и принять некоторые меры для ее устранения.
Если система не принимает никаких мер при выделении ресурсов процессу, должны быть предусмотрены методы обнаружения и освобождения тупиков.
Карта распределения ресурсов
Круги в рамке обозначают ресурсы.
Запросы на пограничные вызовы, направленные от процесса к ресурсу
выход из тупика
1) Ресурсная депривация
Процесс, который зависает в тупике, захватит свои ресурсы и передаст их другим процессам, находящимся в тупике.
2) Отменить процесс
Принудительно отменить некоторые или даже все зашедшие в тупик процессы и лишить их ресурсов.
3) Откат процесса
Позвольте зашедшему в тупик процессу откатиться настолько, чтобы избежать тупика.
Сравнивать
Разница между тупиком и голодом
голод
Выполнение процесса отложено на неопределенный срок
Может быть только один процесс, доходящий до голодания
Он может быть готов или заблокирован.
тупик
Процесс зашел в тупик и не может двигаться вперед.
Число процессов, входящих в тупик, должно быть равно или больше двух.
Процесс, в котором возникает взаимоблокировка, должен находиться в заблокированном состоянии.
Глава 3 Управление памятью
концепция
Управление памятью предназначено для лучшей поддержки одновременного выполнения нескольких программ.
Связывание и загрузка программы
Связь
статическая ссылка
Библиотечная функция связывается с загрузочным модулем, и относительный адрес изменяется.
Динамическое связывание во время загрузки
При загрузке в память ссылка при загрузке
Динамическое связывание во время выполнения
Объектные модули, которые не используются во время выполнения, не будут загружаться в память или связываться с модулями.
нагрузка
Абсолютно монтировать (статический)
на этапе программирования
Подходит для одноканальных программ, логический адрес и адрес памяти абсолютно одинаковы
Он может быть предоставлен программистом или путем компиляции или сборки.
перемещаемый груз
статическое перемещение
Процесс изменения адресов инструкций и данных в целевой программе во время загрузки называется перемещением.
Не менять после загрузки
При загрузке измените логический адрес на конечный физический адрес.
Динамическая загрузка во время выполнения
динамическое перемещение
После того, как загрузчик загрузит модуль в память, он не сразу преобразует относительный адрес загруженного модуля в абсолютный адрес, а откладывает процесс преобразования до выполнения.
Возможна замена после загрузки.
Все адреса после загрузки в память являются относительными.
защита памяти
Добавьте логический адрес к значению перемещения, чтобы получить физический адрес.
Регистр граничного адреса определяет, находится ли он за пределами границ.
Загрузка регистра перемещения и регистра граничного адреса должна использовать привилегированные инструкции, которые выполняются ядром операционной системы и не могут быть изменены пользователем.
совместное использование памяти
Совместно использовать можно только области, доступные только для чтения.
Реентерабельный код (чистый код) разрешает доступ нескольким процессам, но не допускает внесения изменений каким-либо процессом.
Технология реентерабельности уменьшает передачу кода внутрь и наружу, уменьшая количество замен и повышая производительность системы.
Накрыть и поменять
крышка
Сегменты программы, к которым осуществляется доступ, помещаются в зону покрытия, а остальные сегменты помещаются во внешнюю память. Системе необходимо перенести их в зону покрытия перед вызовом и заменить исходные сегменты.
обмен
Перенесите ожидающую программу из памяти во вспомогательную память, что является промежуточным планированием.
непрерывное управление распределением
одно непрерывное распределение
Системная область используется операционной системой и располагается в части нижнего адреса.
В памяти пользовательской области находится только одна пользовательская программа.
Используйте технологию наложения
Управление разделами
Простейшее решение для управления хранилищем, обеспечивающее мультипрограммирование с наименьшими затратами.
Фиксированное распределение разделов
Пользовательская память разделена на несколько областей фиксированного размера, и каждый раздел загружает только одно задание.
вопрос
1) Программа слишком велика, чтобы поместиться в какой-либо раздел, поэтому используйте технологию перезаписи.
2) Если программа слишком мала и помещена в раздел, произойдет внутренняя фрагментация
Динамическое распределение разделов
Со временем в памяти создается множество небольших блоков памяти, называемых внешней фрагментацией.
Благодаря компактной технологии операционная система перемещает и организует процессы
стратегия распределения
алгоритм первого соответствия
Ссылка в порядке возрастания адреса
Алгоритм адаптации соседей
При выделении памяти поиск начинается с той позиции, где закончился последний поиск.
алгоритм наилучшего соответствия
Свободные разделы образуют цепочку свободных разделов в порядке возрастания емкости.
Создает наибольшее количество внешнего мусора
алгоритм наихудшего соответствия
Сформируйте цепочку свободных разделов в порядке убывания емкости.
Освободить память
Объединение свободных зон посредством технологии сплайсинга
1) Область восстановления примыкает к предыдущему свободному разделу точки вставки
Объедините два раздела и измените размер предыдущей записи таблицы разделов на сумму двух
2) Область восстановления примыкает к свободному разделу после точки вставки
Размер измененной записи таблицы разделов представляет собой сумму двух
3) Область восстановления примыкает к двум разделам до и после точки вставки.
Измените размер предыдущей записи таблицы разделов на сумму трех
Отменить следующую запись таблицы разделов
4) Зона переработки не имеет смежных свободных перегородок.
Создайте новую запись в таблице для зоны переработки, заполните начальный адрес, размер и вставьте свободную цепочку разделов.
Физическое адресное пространство, предоставляемое системой пользователю, представляет собой общий размер пространства минус длина таблицы страниц или таблицы сегментов.
Управление страницами
Управление подкачкой приводит к внутренней фрагментации, но не к внешней фрагментации.
Блок в процессе называется страницей, а блок в памяти — страничным фреймом.
Структура адреса определяет размер адресного пространства виртуальной памяти.
Система создает таблицу страниц для каждого процесса, и таблица страниц сохраняется в памяти.
Начальный адрес таблицы страниц помещается в регистр базового адреса таблицы страниц.
После определения размера страницы все страницы имеют одинаковый размер (степень 2).
Управление перевода адресов
Управление сегментацией
генерировать внешнюю фрагментацию
Непрерывно внутри сегмента, но не обязательно должно быть непрерывно между сегментами.
Сегментация — это когда пользователи программируют, программа разбивается на несколько логических сегментов по логике.
связанный с логической структурой
Динамическое связывание, которое упрощает программы
Управление страницами сегментов
порождать внутреннюю фрагментацию
Система создает для процесса таблицу сегментов, и каждый сегмент имеет таблицу страниц.
Сегментированный подход к управлению и распределению адресного пространства пользователей. Метод пейджинга для управления и распределения физического адресного пространства.
Для одного доступа фактически требуется три доступа к основной памяти.
управление виртуальной памятью
особенность
много раз
Задание разбивается на несколько раз и загружается в память.
взаимозаменяемость
Вызов неиспользуемых программ и данных из памяти
виртуальность
Логическое расширение объема памяти
Фактическая емкость виртуальной памяти ≤ емкость памяти, емкость внешнего хранилища.
Максимальная емкость виртуальной памяти ≤ максимальная емкость, которую могут разместить биты адреса компьютера.
Выполнение
1) Запросить управление пейджингом
Требуется аппаратная поддержка
Память, внешняя память, механизм прерываний, преобразование адреса и т. д.
Механизм таблицы страниц
Номер страницы, номер физического блока, бит состояния, поле доступа, бит модификации, адрес внешней памяти
Механизм прерывания ошибки страницы
Когда страница, к которой осуществляется доступ, отсутствует в памяти, генерируется прерывание ошибки страницы и системе предлагается перенести ее в память.
На частоту ошибок страниц влияют размер страницы, количество выделенных физических блоков, алгоритм замены и программирование.
Управление перевода адресов
Распределение рамки страницы
резидентный набор
Коллекция фреймов страниц, выделенных процессу
Чем меньше страничных кадров выделяется процессу, тем больше процессов будет находиться в основной памяти, что улучшает загрузку ЦП.
Процесс имеет слишком мало страниц в основной памяти, и частота ошибок страниц относительно высока.
Стратегия распределения памяти
1) Фиксированное выделение локальной замены
Выделите процессу определенное количество физических блоков. После возникновения ошибки страницы выберите страницу из страницы памяти, выделенной для процесса, и вызовите ее.
2) Глобальная замена распределения переменных
Выделите определенное количество физических блоков, которые можно соответствующим образом увеличить или уменьшить. Глобальная замена: выберите блок из свободных физических блоков и назначьте его процессу, а недостающую страницу перенесите
3) Локальная замена переменной замены
Когда страница отсутствует, только этому процессу разрешено выбрать одну страницу из страниц памяти и вызвать ее.
Алгоритм загрузки физического блока
стратегия фиксированного распределения
1) Алгоритм распределения средних
2) Распределить пропорционально
Распределяйте пропорционально размеру процесса
3) Распределение приоритетов
Распределение в зависимости от срочности
Пора загрузить страницу
Загрузка перед запуском
Вызывается во время выполнения
алгоритм замены
1) Лучший алгоритм замены
Удалите страницы, которые никогда не будут использоваться, или страницы, которые не использовались в течение длительного периода времени.
2) Алгоритм «первым пришел — первым вышел»
Возникнет аномалия Белади
Количество выделенных физических блоков увеличивается, а количество страничных ошибок увеличивается, а не уменьшается.
3) Не использовался в последнее время и долгое время
Требуется аппаратная поддержка регистров и стеков.
Поскольку ему необходимо рассчитывать страницы, которые в последнее время не посещались, это дорого.
4) Алгоритм синхронизации
5) Улучшен алгоритм синхронизации.
Добавлен бит модификации
Отдавайте приоритет страницам, которые не использовались и не изменялись.
Решение на основе бита доступа A и бита модификации M.
Джиттер и рабочий набор
Джиттер
Только что выгруженную страницу необходимо немедленно заменить снова (часто вызывая и принося страницы)
Высокая частота ошибок страниц
причина
В системе одновременно выполняется слишком много процессов, и каждому процессу выделено слишком мало физических блоков.
рабочий набор
Коллекция страниц, к которым процесс получит доступ в течение определенного периода времени.
Предотвращение дрожания
2) Управление сегментами запросов
3) Управление страницей сегмента запроса
Глава 4 Управление документами
свойства файла
имя
тип
создатель
владелец
Расположение
размер
Защищать
время
Файл — это абстрактный тип данных, структура данных.
Блок управления файлами FCB
запись в каталоге файлов
Структура данных, в которой хранится различная информация, необходимая для управляющего файла.
Доступ по имени
Содержит: основную информацию, информацию о контроле доступа, информацию об использовании.
индексный узел
Каталог файлов на диске
индексный узел диска
Каждый файл имеет уникальный индексный узел диска.
Первичный идентификатор, тип, разрешения, физический адрес, длина, количество каналов, время доступа
индексный узел памяти
Узлы индекса хранятся в памяти
Когда файл открывается, узел индекса диска копируется в узел индекса памяти.
Номер узла, статус, количество обращений, номер логического устройства, указатель канала.
Операции с файлами
открыть и закрыть
Открыть
Вызов open для поиска в каталоге по имени файла, копирование атрибутов указанного файла (включая физическое расположение) из внешнего хранилища в запись таблицы открытых файлов в памяти и возврат номера записи пользователю.
Сохраните FCB в таблице каталогов файлов памяти.
закрытие
Вызов закрытия, система откроет таблицу файлов, чтобы удалить эту запись.
Если во время вызова чтения файла нет в памяти, процесс переходит в спящий режим.
Защита файлов
Защита паролем
Пароль хранится внутри системы и недостаточно безопасен.
Защита шифрования
Предотвратите кражу файлов
Контроль доступа
Контролируйте доступ пользователей к файлам
Логическая структура файла
Неструктурированные файлы (потоковые файлы)
Последовательно организованы в записи (упорядоченные коллекции).
Есть структурированные файлы (записанные файлы)
файл последовательности
строковая структура
Сортировка по времени депозита
последовательная структура
Сортировать по ключевым словам
индексный файл
файл записи фиксированной длины
файл записи переменной длины
последовательный поиск
файл индексной последовательности
N записей разделены на √N групп. В индексной таблице содержится √N записей, и всего требуется √N/2 √N/2 поисков.
прямой файл/хэш-файл
По значению ключа записи или значению ключа, преобразованному хэш-функцией, определяется физический адрес записи.
Физическая структура файла
Распределение
постоянное распределение
Поддерживает последовательный доступ/произвольный доступ
Быстрая скорость доступа
Повторное удаление файлов приводит к внешней фрагментации.
Неудобно добавлять, удалять или изменять.
Поле физического адреса файла в записи каталога файла включает адрес первого блока и длину области размещения файла.
Назначение ссылки
Дискретный метод распределения
Устранен внешний мусор
Неудобно проверять.
неявная ссылка
Подходит только для последовательного доступа
Каталог содержит указатель на первый блок файла и указатель на последний блок.
порождать внутреннюю фрагментацию
явная ссылка
Таблица ссылок, которая явно хранит указатели ссылок в памяти, называется таблицей размещения файлов (FAT). Каждая запись хранит следующий номер блока диска.
На всем диске только одна FAT, и она тоже является структурой данных.
Записи FAT соответствуют физическим блокам диска один к одному. Специальный номер -1 может использоваться для обозначения последнего блока, а другие цифры могут использоваться для указания того, что блок диска свободен. каждый блок, но также отмечает свободный фрагмент диска.
распределение индексов
Поддержка произвольного доступа
Доступ не такой быстрый, как непрерывное распределение
без внешнего мусора
Смешанное распределение индексов
Оглавление
Структура каталогов
Единая структура каталогов
Доступ по имени
Скорость поиска низкая, повторяющиеся имена не допускаются, совместное использование неудобно.
Вторичная структура каталогов
Решена проблема с повторяющимся именем
Невозможно классифицировать файлы, отсутствие гибкости.
древовидная структура каталогов
Доступ процесса к файлам эквивалентен текущему каталогу.
Доступ к промежуточным узлам необходимо осуществлять шаг за шагом по имени пути, что увеличивает количество обращений к диску.
Структура каталогов ациклических графов
Для общих файлов существует только один реальный файл, и любые изменения будут видны другим пользователям.
Реализация каталога
линейный список
Принимает линейный список имен файлов и указателей.
Использование цепочной структуры позволяет сократить время удаления файлов.
Поиск, отнимающий много времени
Хеш-таблица
Найти быстро
Нужно избегать конфликтов
Обмен файлами
статический обмен
Жесткая ссылка (на основе индексного узла)
Физический адрес файла и информация об атрибутах файла больше не размещаются в записи каталога, а в узле индекса.
Узел индекса также имеет счетчик, указывающий на то, что он используется несколькими пользователями.
Мягкие ссылки (с использованием символических ссылок)
Создайте файл ссылки и найдите файл по имени пути в файле.
Только владелец файла имеет указатель на его индексный узел. У других пользователей есть только путь к этому файлу.
Каждый раз, когда вы получаете доступ к файлу, вам приходится читать диск несколько раз, что требует больших затрат.
При совместном использовании сетевых файлов вам необходимо указать только сетевой адрес компьютера, на котором находится файл, и путь к файлу.
динамический обмен
Несколько пользователей одновременно работают с файлом
Файловая система
Структура файловой системы во внешней памяти
физический формат
Разделить сектора, проверить поврежденные сектора, заменить поврежденные сектора
Логическое форматирование
Раздел диска, полная инициализация файловой системы каждого раздела
производить
Основная загрузочная запись MBR
Определите активный раздел и прочтите загрузочный блок
загрузочный блок
MBR выполняет программу в загрузочном блоке и запускает операционную систему.
суперблок
Содержит всю ключевую информацию файловой системы. При первом запуске файловой системы суперблок считывается в память.
Управление свободным пространством
Например: растровое изображение
я узловая область
Узлы индекса хранятся непрерывно и имеют одинаковый размер.
Корневая директория
Структура файловой системы в памяти
область пользователя
файловый дескриптор/дескриптор файла
область ядра
кэш каталогов
Таблица открытых файлов системы
только один
Пользователь открывает таблицу файлов
Содержит индекс таблицы открытых файлов системы.
виртуальная файловая система
Предоставление унифицированного и стандартного интерфейса системных вызовов для пользователей верхнего уровня. Различия в реализации экранов базовых конкретных файловых систем
Требуется, чтобы файлы нижнего уровня реализовывали определенные функции.
Каждый открытый файл создает в основной памяти vnode, представленный единой структурой данных.
vnode существует только в основной памяти Индексный дескриптор будет загружен в основную память и сохранен во внешней памяти.
Монтаж файловой системы (установка)
Зарегистрируйте вновь смонтированную файловую систему в виртуальной файловой системе, Таблица монтирования памяти содержит информацию для каждой файловой системы
Вновь смонтированная файловая система должна предоставить список адресов функций виртуальной файловой системе.
Подключите файловую систему к точке монтирования (родительскому каталогу).
Управление файловым пространством
Отделение складских помещений
Разделите физический диск на файловые тома (логический диск, логический том).
Файловый том может состоять из нескольких физических дисков.
Инициализация дискового пространства
Инициализация тома файла
область каталогов
Хранит информацию о каталоге файлов FCB, информацию, используемую для управления дисковым пространством.
файловая область
Хранить данные файла
управление пространством
метод свободного списка
Принадлежит к методу непрерывного распределения
Выделить непрерывное пространство для хранения файлов
Могут использоваться первая адаптация, лучшая адаптация и худшая адаптация.
Переработка аналогична динамическому распределению.
метод свободного списка
Свободная дисковая цепь
Свяжите свободные блоки диска как связанный список.
Блок свободного диска хранит указатель на следующий блок свободного диска.
распространять
Найдите дисковые блоки, соответствующие условиям, с помощью алгоритма адаптации.
Перерабатывать
Подвесьте переработанные блоки дисков к концу цепочки.
Распределение и переработка просты, но неэффективны.
цепочка свободных экстентов
Несколько последовательных свободных дисковых блоков составляют свободный экстент.
Длина экстента записывается в первый свободный блок диска экстента и является указателем на следующий экстент.
распространять
Обычно первая адаптация
Перерабатывать
Объединить зону рекультивации с прилегающими свободными экстентами
Распределение и переработка являются хлопотными, но эффективными
Растровый метод
Используйте двоичные биты, чтобы указать, используется ли дисковый блок.
Номер диска b = n×i j
n представляет длину слова
я представляю размер шрифта (номер строки)
я = б/н
удалять
j представляет номер бита (номер столбца)
j = б%п
Возьмите остаток
Применимо как к непрерывному, так и к дискретному распределению
Метод группового связывания
Блок групповой цепочки (суперблок) используется для хранения номера свободного дискового блока и номера следующей группы свободных дисковых блоков.
Номер блока свободного диска — это номер первого дискового блока группового блока (экстента).
Количество групп ограничено, например: для формирования группы разрешено только 100 свободных дисковых блоков.
Если для следующей группы нет свободного блока диска, номер блока устанавливается равным -1.
распространять
Выделить из последнего дискового блока и изменить количество свободных дисковых блоков в суперблоке.
Если определенный блок хранит следующую группу информации, информацию необходимо скопировать в суперблок, а затем выделить.
Перерабатывать
Если суперблок не заполнен
Затем вставьте переработанный блок сразу после суперблока.
Если суперблок заполнен
Метод вставки заголовка в виде связанного списка
диск
состав
диск
отслеживать
сектор
Это блок диска
Каждый сектор имеет одинаковую емкость, а самый внутренний сектор имеет самую высокую плотность.
Диск
Каждая поверхность диска соответствует магнитной головке.
цилиндр
Дорожки с одинаковым относительным положением на всех дисках образуют цилиндр.
Адрес диска представлен в виде (номер цилиндра-номер диска-номер сектора).
Алгоритм планирования диска
Время, необходимое для чтения и записи
время поиска
Начните руку с головой
Затраченное время
движущаяся голова
Требуется m, чтобы охватить одну дорожку, и необходимо охватить n дорожек.
=см×n
Время передачи
Время чтения/записи
Скорость вращения равна r, количество прочитанных и записанных байтов равно b, а количество байтов на каждой дорожке равно N.
= b/(r Н)
задерживать
Скорость диска равна r.
= 1/(2р)
Алгоритм планирования диска
Будет напрямую влиять на время поиска
Первым прибыл - первым обслужен Эквивалент в русском языке: поздний гость гложет и кость
Кратчайшее время поиска в первую очередь
Может вызвать голод
Алгоритм сканирования
Магнитная головка может двигаться в противоположном направлении только тогда, когда она движется к самой внутренней или самой внешней дорожке.
Даже если самый внешний или самый внутренний уровень не обрабатывает запрос, вам все равно придется переместиться сюда, прежде чем начинать движение в противоположном направлении.
Не вызовет голода
посмотреть алгоритм
Улучшения алгоритма сканирования
Если других запросов в направлении движения головы нет, можно изменить направление напрямую.
Циклическое сканирование (отправка лифта)
Решите проблему неравномерной реакции алгоритма сканирования на различные положения.
Не отвечайте ни на какие просьбы при возвращении и двигайтесь сразу к исходному концу.
Меняйте направление только после перехода к самому краю (так же, как алгоритм сканирования)
алгоритм c-look
Улучшения циклического сканирования
Для изменения направления нет необходимости приближаться к краю. Направление движения можно изменить без других запросов.
Способы уменьшения задержки
Альтернативная нумерация
Сохраняйте логически смежные сектора физически разделенными
Неуместное наименование
Пусть сектора в одном секторе расположены в шахматном порядке (например, сектор 0 и сектор 1 разделены секторами с другими номерами)
Проектирование структуры адреса
Номер цилиндра-номер диска-номер сектора
Уменьшено время движения головы.
Управление диском
Инициализация диска
физический формат
Разделите каждую дорожку диска на сектора
Раздел
Разбить диск, каждый раздел состоит из нескольких цилиндров
Логическое форматирование
Создать файловую систему
загрузочный блок
При включении компьютера требуется серия работ по инициализации, которая завершается выполнением программы-загрузчика.
Полный загрузчик хранится в блоке запуска (загрузочном блоке) диска, который находится в фиксированном месте на диске.
Обработка плохих блоков
Бэд-блоки — это аппаратные сбои.
Для простого диска
Плохие блоки непрозрачны для операционной системы (будут отмечены)
Для сложных дисков
запасной сектор
Для сложных дисков контроллер диска будет поддерживать связанный список плохих блоков, инициализировать его во время физического форматирования и использовать запасные сектора для замены плохих блоков.
Твердотельный накопитель SSD
принцип
На основе флэш-памяти Относится к электрически стираемому ПЗУ (EEPROM).
состав
слой флэш-перевода
Номер логического блока трансляции
Найдите соответствующую страницу
медиа хранилище
Несколько чипов флэш-памяти
Каждый чип содержит несколько блоков
Каждый блок содержит несколько страниц
Чтение и запись производительности
на страницах
в блоках
Поддержка произвольного доступа
Быстрая скорость чтения Медленная скорость письма
Сравнение с механическим жестким диском
SSD читает и записывает быстрее, чем механические жесткие диски, и имеет произвольный доступ.
SSD тихий и бесшумный
Определенный блок SSD будет поврежден после многократного стирания. Механические сектора жесткого диска не будут повреждены из-за интенсивной записи.
Выравнивание износа
среднее количество операций стирания по блокам
Динамическое выравнивание износа
При записи данных отдавайте приоритет блокам флэш-памяти с меньшим количеством накопленных стираний.
статическое выравнивание износа
Старый блок отвечает за операции чтения. Новый блок отвечает за операции записи.
Статика лучше динамики
Глава 5 Управление вводом-выводом
Классификация оборудования
блокирующее устройство
Обмен данными осуществляется блоками
Высокая скорость передачи
устройство персонажа
Обмен данными осуществляется в символах
Скорость передачи низкая и не адресуется
низкоскоростное устройство
Мышь и клавиатура
среднескоростное оборудование
принтер
высокоскоростное оборудование
дисковод, привод компакт-дисков
интерфейс ввода-вывода
контроллер устройства
Расположен между процессором и устройством
Интерфейс между контроллером устройства и процессором
Содержит строки данных, строки адреса, строки управления.
Интерфейс между контроллером устройства и устройством
В контроллере имеется один или несколько интерфейсов устройств.
логика ввода-вывода
Осуществить контроль над оборудованием
Функции контроллера устройства
Принимает команды для идентификации процессора
обмен данными
Определите и сообщите о состоянии устройства
распознавание адреса
буфер данных
контроль ошибок
порт ввода-вывода
Регистры в контроллере устройства, к которым может напрямую обращаться ЦП.
Другими словами, несколько портов ввода-вывода образуют интерфейс ввода-вывода.
регистр данных
регистр статуса
регистр управления
Метод связи между процессором и портом ввода-вывода
Независимая адресация
Назначьте номер порта каждому порту, и только операционная система сможет получить доступ к порту с помощью специальных инструкций io.
Единая адресация
Каждому порту присвоен уникальный адрес памяти.
метод управления вводом-вывода
прямое управление программой
ЦП проверяет состояние периферийного устройства в цикле, пока не определит, что слово находится в регистре данных контроллера ввода-вывода.
Режим управления прерыванием
Разрешить устройствам ввода-вывода активно прерывать работу ЦП и запрашивать услуги, тем самым освобождая процессор
Прерывайте процессор каждый раз, когда необходимо передать данные
режим DMA
Установите прямой путь обмена данными между устройствами ввода-вывода и памятью.
Прерывает работу ЦП в конце запрошенного пакета передачи данных.
Когда ЦП выдает команду, он может читать или записывать только последовательные блоки данных.
Режим управления каналом
Процессор, специально отвечающий за ввод и вывод.
это часть оборудования
ЦП выдает команду io, указывая расположение программы канала и устройства io для выполнения.
Канал выполняет программу канала в памяти.
Каналы делят память с процессором
иерархия программного обеспечения io
Пользовательское программное обеспечение ввода-вывода
Внедрить технологию намотки
технология виртуальных устройств
Улучшение использования эксклюзивного оборудования
Преобразование эксклюзивного устройства в общее устройство
Устраните противоречие между высокой скоростью процессора и низкой скоростью устройства ввода-вывода.
через программное обеспечение
Требуется многопрограммная техническая поддержка
Система открывает две зоны в фиксированной зоне диска: входную и выходную скважины.
Откройте два буфера в памяти: входной буфер и выходной буфер.
Общий принтер
Эксклюзивное устройство
Устройство, позволяющее последовательное использование отдельными процессами.
Используйте статическое размещение
Общее устройство
Устройство, которое позволяет нескольким процессам использовать его вместе.
Одновременное использование в макро смысле Микроскопически оно все еще чередуется.
Используйте динамическое размещение
Общие принципы печати
Система помещает запросы на печать, необходимые каждому пользователю, во входной отсек диска и использует разницу в скорости между диском, памятью и процессором для достижения микроскопического чередования и макроскопического одновременного выполнения.
Аппаратно-независимое программное обеспечение (аппаратно-независимое программное обеспечение)
независимость
Устройство, с помощью которого программирует пользователь, не имеет ничего общего с реальным устройством.
Функция
Управление таблицей логических устройств
Настройте только одну таблицу системных логических устройств LUT.
Настройте таблицу логических устройств LUT для каждого пользователя.
контроль ошибок
Распределение и утилизация оборудования
Факторы, учитываемые при распределении
Внутренние свойства устройства
Алгоритм распределения устройств
Безопасность выделения устройств
Безопасный метод распространения
После того как процесс выдает запрос ввода-вывода, он переходит в состояние блокировки и не освобождается до завершения операции ввода-вывода.
Устройства ЦП и ввода-вывода начинают работать последовательно
Небезопасный метод распределения
После того как процесс выдает запрос ввода-вывода, он продолжает работать и по-прежнему может выдавать запросы ввода-вывода. Он войдет в блокировку только в том случае, если запрос ввода-вывода не может быть удовлетворен.
возможен тупик
стратегия распределения
статическое размещение
Выделите все необходимые ресурсы с самого начала
динамическое размещение
Продолжайте распределение по мере необходимости во время выполнения процесса.
Структура данных распределения устройств
Связь канала, контроллера и устройства
Таблица управления устройством DCT
Представляет определенное устройство, а содержимое записи таблицы — это каждый атрибут устройства.
Стол управления контроллером COCT
Таблица управления каналами CHCT
Каждый канал соответствует CHCT.
Таблица системных устройств SDT
Включая все устройства
Улучшения этапов назначения
Заданное пользователем имя логического устройства
Путем сопоставления имен логических устройств и имен физических устройств (таблица логических устройств LUT)
Записи LUT включают имена логических устройств, имена физических устройств и адреса записей драйверов устройств.
Управление буфером
Цель
Решите проблему накопления данных, вызванную тем, что скорость ввода и вывода ниже скорости обработки процессора.
одиночный буфер
Рассчитайте время обработки каждого фрагмента данных
Примите исходное состояние и рассчитайте время, необходимое для достижения этого состояния в следующий раз.
Время ввода в буфер — Т, время передачи буфера в рабочую область — М, время обработки данных — С.
Исходное состояние: рабочая область заполнена, буфер пуст.
Время, необходимое для обработки каждого блока данных: MAX (C, T) M
Формула носит справочный характер, подробно анализируются конкретные проблемы, используется диаграмма Ганта.
двойная буферизация
Рабочая область пуста, один буфер пуст и один буфер заполнен.
Время, необходимое для обработки каждого блока данных: MAX (CM, T)
буферный пул
Включите параллельные процессы для эффективного ввода и вывода
Внедрить планирование ввода-вывода
Используйте некоторый алгоритм, чтобы определить хороший порядок обработки запросов ввода-вывода.
Защита устройства
Устройства просматриваются как специальные файлы, каждому файлу назначается FCB и устанавливаются разрешения.
драйвер устройства
Специальный контроль над аппаратными устройствами
Вычислить номер цилиндра, номер головки, номер сектора и т. д. диска, на котором расположены данные.
Разные устройства требуют разных драйверов
io API
интерфейс символьного устройства
получить/положить вызов, прочитать и записать символ на символьное устройство
блокировать интерфейс устройства
системный вызов чтения/записи: чтение и запись символов искать: Изменить
Интерфейс сетевого устройства
интерфейс сетевого сокета системный вызов сокета: создайте сетевой сокет и укажите сетевой протокол. привязать: привязать сокет к локальному порту. Connect: подключить сокет к удаленному адресу чтение/запись: чтение и запись данных из сокета
Блокирующий/неблокирующий ввод-вывод
блокингио
Программа выдает системный вызов io, и процесс блокируется и ожидает.
неблокирующий ввод-вывод
Программа выдает системный вызов io, и системный вызов может быстро вернуться, и процесс не нужно блокировать и ждать.