Автор: Пользователь скрыл имя, 20 Февраля 2013 в 20:15, лекция
Основой любой ОС является процесс. Понятие процесса можно трактовать как контейнер ресурсов (выделенная для программ память, файлы, устройства ввода/вывода), а так же как последовательность исполняемых команд. В простейших системах можно реализовать такую ситуацию, при которой все необходимые процессы будут присутствовать сразу при загрузке. В универсальных системах необходим механизм создания и завершения процессов по необходимости.
Сегментация с использованием страниц в системах Intel Pentium
Виртуальная память компьютера Pentium поддерживает 16к независимых сегментов. Основой виртуальной памяти являются две таблицы: GDT, LDT (глобальная и локальная таблицы дескрипторов). У каждой программы есть своя собственная локальная таблица дескрипторов. Глобальная таблица одна для всех программ и несет информацию о системных сегментах, в том числе сегментах ОС. Чтобы получить доступ к сегменту, программа должна загрузить в один из сегментных регистров 16-разрядный селектор.
Третий бит указывает на принадлежность сегмента к локальному либо глобальному. Индекс указывает на номер дескриптора соответствующей таблицы. Каждая таблица содержит 8к дескрипторов. Дескриптор 0 является запрещенным. Во время загрузки селектора соответствующий дескриптор извлекается из таблицы и записывается в микропрограммные регистры для быстрого доступа к нему. Размер дескриптора - 8 байт.
При обращении
к сегментному регистру (селектору),
программа может найти в
Система Pentium поддерживает 4 уровня защиты (привилегии):
0 - ядро;
1 - системные службы;
2 - DLL;
3 - программы пользователя.
Разрешается получение доступа к данным высших уровней. К низшим - запрещены. Возможен вызов процедур разных уровней с помощью функции CALL, но строго контролируемым образом. Для этого процедура CALL должна содержать специальный селектор, который определяет дескриптор, называемый шлюзом вызова (call gate), который передает адрес вызываемой процедуры
38. Устройства ввода-вывода. Доступ к УВВ.
У каждого
устройства ввода/вывода есть контроллер
для общения с ЦП. Контроллер и
процессор общаются через специальные
регистры, располагающиеся на контроллере.
При помощи управляющих регистров
процессор управляет
- в первом
варианте каждому регистру
‡ in reg, port - считывает данные из порта в определенный регистр процессора;
‡ out port, reg - записывает данные из регистра процессора в определенный порт;
- второй
подход состоит в отображении
всех управляющих регистров на
адресное пространство в
Достоинства:
‡ для
обращения к устройствам ввода/
‡ легко
реализовывается защита от пользовательских
процессов - достаточно исключить часть
адресного пространства, на которую
отображаются управляющие регистры
из адресного пространства пользователей.
Для доступа к определенному
устройству, пользовательской программе
будет дан доступ к странице памяти,
на которую отображен
‡ каждая команда процессора, которая обращается к памяти, может с тем же успехом обращаться к регистрам устройств ввода/вывода, например команда tsl.
Недостатки:
‡ в большинстве
современных компьютеров
‡ при едином адресном пространстве все модули памяти и все устройства ввода/вывода должны изучать все обращения от процессора к памяти для того, чтобы определить, на какие обращения им реагировать.
39. Прямой доступ к памяти.
Прямой доступ к памяти (DMA)
Общаясь с
устройствами ввода/вывода, ЦП должен
устанавливать управляющие
1 - ЦП программирует контроллер DMA;
2 - контроллер DMA дает команду контроллеру HDD прочитать данные во внутренний буфер и проверить контрольную сумму.
3 - контроллер DMA инициирует перенос данных из буфера в RAM. Контроллер HDD не отличает запросы ЦП и контроллера DMA;
4 - по завершении записи буфера контроллер HDD отправляет сигнал подтверждения контроллеру DMA (вместо прерывания ЦП). При необходимости шаги 2-4 повторяются;
5 - по завершении цикла копирования контроллер DMA вызывает прерывание процессора
40. Принципы программного
41. Осуществление операций ввода-
При таком подходе всю работу выполняет ЦП. Последовательность действий при печати строки на принтере:
42. Осуществление операций ввода-
Управляемый прерываниями в/в
Когда процесс пользоват. выполн. системн. вызов печати строки, ЦП вызывает планировщик, блокирующий процесс пользователя на все время печати и запускает другой процесс.
43. Программые уровни ввода-вывода.
Обработчики прерываний
Должны быть реализованы глубоко в недрах ОС. Общение с ОП производится только через драйвера устройств.
У каждого контроллера присутствуют регистры для управления и обмена данными. Число таких регистров зависит от конкретного устройства. Для управления каждым устройством необходим драйвер. Чтобы получить доступ к регистрам, драйвер должен быть частью ОС.
Независимое от устройств ПО
Должно выполнять следующие функции:
44. Файловые системы. Файлы.
Файловые системы
Всем ОС и программам необходимо хранить большие объемы информации в течение длительного времени. Кроме того, необходимо обеспечить нескольким процессам одновременный доступ к одним и тем же данным. Обычное решение заключается в хранении этих данных на магнитных дисках и других внешних хранителях, в специальных модулях, называемых файлами. Файлы - поименованный набор данных. Структура файлов, именование, доступ, защита - являются важными пунктами функционирования ОС. За работу с файлами отвечает часть ОС, называемой файловой системой. Файлы являются абстрактным механизмом, который предоставляет способ хранения и получения информации с диска. При этом способ, место хранения и аппаратные особенности работы с диском от пользователя скрываются.
Файлы
Наиболее
важной характеристикой любого абстрактного
механизма является способ именования
управляемых объектов. Точные правила
именования различны для разных ОС,
однако, все современные ОС поддерживают
в качестве имен файлов 8-символьные
текстовые строки. Во многих системах
имя файла может состоять из двух
частей, разделенных точкой. Часть
имени файла после точки
Структуры файлов
1) Неструктурированная последовательность байт.
В этом случае ОС не интересуется содержимым файлов, а видит только последовательность байт. Значение этим байтам придают программы пользователя либо специальные обработчики.
2) Последовательность записей фиксированной длины.
Каждая запись имеет свою внутреннюю структуру. Операция чтения возвращает одну запись. В нынешнее время такая система не используется.
3) Дерево записей
45. Типы файлов. Доступ к файлам.
Отображение на адресное
Типы файлов
- Регулярные файлы – все файлы содержащие инфу пользователя.
- Каталоги - это системные файлы, обеспечивающие поддержку структуры файловой системы. К регулярным файлам относятся все файлы, содержащие информацию пользователя.
- Символьные специальные файлы, которые используются для моделирования последовательных устройств ввода/вывода;
- Блочные специальные файлы, которые используются для моделирования дисковых систем.
Регулярные файлы бывают либо двоичными, либо ASCII-файлами. ASCII-файлы состоят из текстовых строк, которые заканчиватся либо символом возврата каретки, либо символом перевода строки (UNIX), либо обеими символами (DOS). ASCII-файлы выводятся на экран либо на печать без какого-либо преобразования, то есть так, как они хранятся. Обмен данными при этом не становится проще, но облегчается интерпретация.
Остальные файлы называются двоичными. Они имеют некоторую внутреннюю структуру, которая интерпретируется в программах пользователя.
Все ОС должны распознавать по крайней мере один тип файлов: свои собственные исполняемые файлы.
Отображение на адресное пространство.
В большинстве современных ОС предоставлен способ отобржения файлов на адресное пространство работающего процесса. Это реализованно в виде двух системных вызовов: map и unmap.
Системный вызов map в качестве параметров использует имя файла и виртуальный адрес, по которому ОС отображает данный файл. Такой подход позволяет для работы с файлами использовать не специальные функции ввода/вывода (fread, fwrite), а обычные функции для работы с памятью. Удобнее всего использовать отображение файлов в ОС, поддерживающих сегментацию. В этом случае каждый файл может быть отображен на свой собственный сегмент. Недостатки:
- заранее
невозможно узнать размер
- при одновременном
доступе к одному файлу
- размер
файла может быть больше
46. Каталоги. Каталоговые системы. Имя пути.
В файловых системах файлы обычно организуются в каталоги или папки, которые в свою очередь, в большинстве ОС, являются специальными файлами. Виды каталоговых систем:
- одноуровневая - простейщая форма системы. Имеется всего один каталог, который называется корневым. Преимуществом такой схемы является простота и высокая скорость поиска файлов. Недостаток заключается в том, что, при наличии нескольких пользователей, могут возникнуть проблемы с именованием файлов. Такая схема используется в простейших устройствах;
- двухуровневая - первым этапом решения проблемы одинаковых имен файлов можно считать выделение каждому пользователю своего собственного каталога. Для функционирования такой системы требуется начальная регистрация пользователя. В более продвинутых системах пользователь с помощью специальных команд может работать с файлами других пользователей. Преимущества:
‡ каждый пользователь имеет свободу в именовании файлов;
‡ защита файлов от несанкционированного доступа;
Недостатки:
‡ при
таком подходе все системные
файлы и программы должны копироваться
в каталог каждого