Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Стабильное запоминающее устройство




RAID могут защитить от выхода из строя сектора и даже целые диски, но они не могут защитить от сбоев во время записи (могут быть записаны не верные данные, или не туда).

Стабильное запоминающее устройство - система или корректно записывает данные, или не записывает ничего.

В рассматриваемой модели учитывается следующее:

· Запись блока может быть проверена при последующем чтении и изучении ECC.

· Правильно записанный сектор может стать дефектным и не читаться (но это происходит редко).

· Допускается выход из строя центрального процесса.

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

Для достижения этой цели определены три операции:

1. Стабильная операция записи состоит из следующих шагов:
- запись блока на диск 1
- считывание этой записи для проверки, если обнаружена ошибка, то повторяется запись (и так несколько раз), если запись не удалась, то используется резервный блок.
- все тоже повторяется для второго диска

2. Стабильная операция чтения состоит из следующих шагов:
- считывается блок с диска 1
- проверяется на ошибки, если обнаружены считывание повторяется, и так несколько раз.
- если все попытки с 1-м диском не удачны, все повторяется для второго

3. Восстановление от сбоев (например, по питанию) состоит из следующих шагов:
- после сбоя программа восстановления сканирует оба диска и сравнивает соответствующие блоки
- если у одного обнаружена ошибка, то на место дефектного записывается нормальный блок
- если ошибок нет, но блоки не совпадают, то блок с диска 1 пишется поверх диска 2 (на диске 1 всегда более свежий блок)

Таймеры

Аппаратная часть таймеров

Таймер состоит из:

· Кварцевого генератора

· Счетчика

· Регистра хранения

Программируемый таймер

Есть несколько режимов работы таймера.

Алгоритм работы первого режима:

· Значение счетчика загружается из регистра.

· Когда значение счетчика достигает нуля, он вызывает прерывание процессора.

· Счетчик останавливается, до того пока его не запустят программно.

Алгоритм работы второго режима:

· Значение счетчика загружается из регистра.

· Когда значение счетчика достигает нуля, он вызывает прерывание процессора.

· Значение счетчика автоматически загружается из регистра и все повторяется.

Преимущество программируемого таймера в том, что частота прерываний может задаваться программно.

Программное обеспечение таймеров

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

Для работы часов, необходим драйвер часов.

В обязанности драйвера входит:

· Следить за текущим временем

· Не позволять процессам работать больше, чем им положено (при запуске процесса планировщик записывает в счетчик выделенное процессу время)

· Вести учет использования процессора

· Поддерживать следящие таймеры для ОС (создаются виртуальные таймеры)

· Ведут наблюдение, анализ и сбор статистики

При 60 Грц 32-разрядный счетчик переполнится через два года.

Три способа реализации текущего времени:

1. Можно использовать 64-разрядный счетчик

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

3. Можно учитывать время только с момента загрузки системы, а не с 1 января 1970 года

Три способа реализации текущего времени


Лекция 11

Файловые системы. Файлы. Каталоги.

Файлы

Требования к хранению информации:

· возможность хранения больших объемов данных

· информация должна сохраняться после прекращения работы процесса

· несколько процессов должны иметь одновременный доступ к информации

Именование файлов

Длина имени файла зависит от ОС, может быть от 8 (MS-DOS) до 255 (Windows, LINUX) символов.

ОС могут различать прописные и строчные символы. Например, WINDOWS и windows для MS-DOS одно и тоже, но для UNIX это разные файлы.

Во многих ОС имя файла состоит из двух частей, разделенных точкой, например windows.exe. Часть после точки называют расширением файла. По нему система различает тип файла.

У MS-DOS расширение составляет 3 символа. По нему система различает тип файла, а также можно его исполнять или нет.

У UNIX расширение ограничено размером имени файла в 255 символов, также у UNIX может быть несколько расширений, но расширениями пользуются больше прикладные программы, а не ОС. По расширению UNIX не может определить исполняемый это файл или нет.

Структура файла

Три основные структуры файлов:

1. Последовательность байтов - ОС не интересуется содержимым файла, она видит только байты. Основное преимущество такой системы, это гибкость использования. Используются в Windows и UNIX.

2. Последовательность записей - записей фиксированной длины (например, перфокарта), считываются последовательно. Сейчас не используются.

3. Дерево записей - каждая запись имеет ключ, записи считываются по ключу. Основное преимущество такой системы, это скорость поиска. Пока еще используется на мэйнфреймах.

Три типа структур файла.

Типы файлов

Основные типы файлов:

· Регулярные - содержат информацию пользователя. Используются в Windows и UNIX.

· Каталоги - системные файлы, обеспечивающие поддержку структуры файловой системы. Используются в Windows и UNIX.

· Символьные - для моделирования ввода-вывода. Используются только в UNIX.

· Блочные - для моделирования дисков. Используются только в UNIX.

Основные типы регулярных файлов:

· ASCII файлы - состоят из текстовых строк. Каждая строка завершается возвратом каретки (Windows), символом перевода строки (UNIX) и используются оба варианта (MS-DOS). Поэтому если открыть текстовый файл, написанный в UNIX, в Windows, то все строки сольются в одну большую строку, но под MS-DOS они не сольются (это достаточно частая ситуация). Основные преимущества ASCII файлов:
- могут отображаться на экране, и выводится на принтер без преобразований
- могут редактироваться почти любым редактором

· Двоичные файлы - остальные файлы (не ASCII). Как правило, имеют внутреннею структуру.

Основные типы двоичных файлов:

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

· Неисполняемые - все остальные.

Примеры исполняемого и не исполняемого файла

«Магическое число» - идентифицирующее файл как исполняющий.

Доступ к файлам

Основные виды доступа к файлам:

· Последовательный - байты читаются по порядку. Использовались, когда были магнитные ленты.

· Произвольный - файл можно читать с произвольной точки. Основное преимущество возникает, когда используются большие файлы (например, баз данных) и надо считать только часть данных из файла. Все современные ОС используют этот доступ.

Атрибуты файла

Основные атрибуты файла:

· Защита - кто, и каким образом может получить доступ к файлу (пользователи, группы, чтение/запись). Используются в Windows и UNIX.

· Пароль - пароль к файлу

· Создатель - кто создал файл

· Владелец - текущий владелец файла

· Флаг "только чтение" - 0 - для чтения/записи, 1 - только для чтения. Используются в Windows.

· Флаг "скрытый" - 0 - виден, 1 - невиден в перечне файлов каталога (по умолчанию). Используются в Windows.

· Флаг "системный" - 0 - нормальный, 1 - системный. Используются в Windows.

· Флаг "архивный" - готов или нет для архивации (не путать сжатием). Используются в Windows.

· Флаг "сжатый" - файл сжимается (подобие zip архивов). Используются в Windows.

· Флаг "шифрованный" - используется алгоритм шифрования. Если кто-то попытается прочесть файл, не имеющий на это прав, он не сможет его прочесть. Используются в Windows.

· Флаг ASCII/двоичный - 0 - ASCII, 1 - двоичный

· Флаг произвольного доступа - 0 - только последовательный, 1 - произвольный доступ

· Флаг "временный" - 0 - нормальный, 1 - для удаления файла по окончании работы процесса

· Флаг блокировки - блокировка доступа к файлу. Если он занят для редактирования.

· Время создания - дата и время создания. Используются UNIX.

· Время последнего доступа - дата и время последнего доступа

· Время последнего изменения - дата и время последнего изменения. Используются в Windows и UNIX.

· Текущий размер - размер файла. Используются в Windows и UNIX.

Операции с файлами

Основные системные вызовы для работы с файлами:

· Create - создание файла без данных.

· Delete - удаление файла.

· Open - открытие файла.

· Close - закрытие файла.

· Read - чтение из файла, с текущей позиции файла.

· Write - запись в файл, в текущею позицию файла.

· Append - добавление в конец файла.

· Seek - устанавливает файловый указатель в определенную позицию в файле.

· Get attributes - получение атрибутов файла.

· Set attributes - установить атрибутов файла.

· Rename - переименование файла.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...