Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Высокоуровневое форматирование
Высокоуровневое форматирование (создание файловой системы) - проводится для каждого раздела в отдельности, и выполняет следующее: o Создает загрузочный сектор (Boot Sector) o Создает список свободных блоков (для UNIX) или таблицу (ы) размещения файлов (для FAT или NTFS) o Создает корневой каталог o Создает, пустую файловую систему o Указывает, какая файловая система o Помечает дефектные кластеры Кластеры и блоки - единица хранения информации в файловых системах, файлы записываются на диск, разбитыми на блоки ли кластеры. При загрузке системы, происходит следующее: 1. Запускается BIOS 2. BIOS считывает главную загрузочную запись, и передает ей управление 3. Загрузочная программа определяет, какой раздел активный 4. Из этого раздела считывается и запускается загрузочный сектор 5. Программа загрузочного сектора находит в корневом каталоге определенный файл (загрузочный файл) 6. Этот файл загружается в память и запускается (ОС начинает загрузку) 1.3 Алгоритмы планирования перемещения головок Факторы, влияющие на время считывания или записи на диск: o Время поиска (время перемещения головки на нужный цилиндр) o Время переключения головок o Задержка вращения (время, требуемое для поворота нужного сектора под головку) o Время передачи данных Для большинства дисков самое большое, это время поиска. Поэтому, оптимизируя время поиска можно существенно повысить быстродействие. Алгоритмы могут быть реализованы в контроллере, в драйверах, в самой ОС. 1.3.1 Алгоритм " первый пришел - первым обслужен" FCFS (First Come, First Served) Рассмотрим пример. Пусть у нас на диске из 28 цилиндров (от 0 до 27) есть следующая очередь запросов: 27, 2, 26, 3, 19, 0 и головки в начальный момент находятся на 1 цилиндре. Тогда положение головок будет меняться следующим образом: Алгоритм FCFS Как видно алгоритм не очень эффективный, но простой в реализации. Алгоритм короткое время поиска первым (или ближайший цилиндр первым) SSF (Shortest Seek First) Для предыдущего примера алгоритм даст следующую последовательность положений головок: Алгоритм SSF Как видим, этот алгоритм более эффективен. Но у него есть не достаток, если будут поступать постоянно новые запросы, то головка будет всегда находиться в локальном месте, вероятнее всего в средней части диска, а крайние цилиндры могут быть не обслужены никогда. 1.3.3Алгоритмы сканирования (SCAN, C-SCAN, LOOK, C-LOOK) SCAN – головки постоянно перемещаются от одного края диска до его другого края, по ходу дела обслуживая все встречающиеся запросы. Просто, но не всегда эффективно. LOOK - если мы знаем, что обслужили последний попутный запрос в направлении движения головок, то мы можем не доходить до края диска, а сразу изменить направление движения на обратное C-SCAN - циклическое сканирование. Когда головка достигает одного из краев диска, она без чтения попутных запросов перемещается на 0-й цилиндр, откуда вновь начинает свое движение. C-LOOK - по аналогии с предыдущим. Обработка ошибок Т.к. создать диск без дефектов сложно, а вовремя использования появляются новые дефекты. Поэтому системе приходится контролировать и исправлять ошибки. Ошибки могут быть обнаружены на трех уровнях: o На уровне дефектного сектора ECC (используются запасные, делает сам производитель) o Дефектные блоки или кластеры могут обрабатываться контроллером или самой ОС. Блоки и кластеры не должны содержать дефектные сектора, поэтому система должна уметь помечать дефектные сектора. Способы замены дефектных кластеров
Файлы Требования к хранению информации: o возможность хранения больших объемов данных o информация должна сохраняться после прекращения работы процесса o несколько процессов должны иметь одновременный доступ к информации 2.1.1Именование файлов Длина имени файла зависит от ОС, может быть от 8 (MS-DOS) до 255 (Windows, LINUX) символов. ОС могут различать прописные и строчные символы. Например, WINDOWS и windows для MS-DOS одно и тоже, но для UNIX это разные файлы. Во многих ОС имя файла состоит из двух частей, разделенных точкой, например windows.exe. Часть после точки называют расширением файла. По нему система различает тип файла. У MS-DOS расширение составляет 3 символа. По нему система различает тип файла, а также можно его исполнять или нет. У UNIX расширение ограничено размером имени файла в 255 символов, также у UNIX может быть несколько расширений, но расширениями пользуются больше прикладные программы, а не ОС. По расширению UNIX не может определить исполняемый это файл или нет. 2.1.2Структура файла Три основные структуры файлов: 1. Последовательность байтов - ОС не интересуется содержимым файла, она видит только байты. Основное преимущество такой системы, это гибкость использования. Используются в Windows и UNIX. 2. Последовательность записей - записей фиксированной длины (например, перфокарта), считываются последовательно. Сейчас не используются. 3. Дерево записей - каждая запись имеет ключ, записи считываются по ключу. Основное преимущество такой системы, это скорость поиска. Пока еще используется на мэйнфреймах. Три типа структур файла. 2.1.3Типы файлов Основные типы файлов: o Регулярные - содержат информацию пользователя. Используются в Windows и UNIX. o Каталоги - системные файлы, обеспечивающие поддержку структуры файловой системы. Используются в Windows и UNIX. o Символьные - для моделирования ввода-вывода. Используются только в UNIX. o Блочные - для моделирования дисков. Используются только в UNIX. Основные типы регулярных файлов: o ASCII файлы - состоят из текстовых строк. Каждая строка завершается возвратом каретки (Windows), символом перевода строки (UNIX) и используются оба варианта (MS-DOS). Поэтому если открыть текстовый файл, написанный в UNIX, в Windows, то все строки сольются в одну большую строку, но под MS-DOS они не сольются (это достаточно частая ситуация). Основные преимущества ASCII файлов: o Двоичные файлы - остальные файлы (не ASCII). Как правило, имеют внутреннею структуру. Основные типы двоичных файлов: o Исполняемые - программы, их может обрабатывать сама операционная система, хотя они записаны в виде последовательности байт. o Неисполняемые - все остальные. Примеры исполняемого и не исполняемого файла «Магическое число» - идентифицирующее файл как исполняющий. 2.1.4Доступ к файлам Основные виды доступа к файлам: o Последовательный - байты читаются по порядку. Использовались, когда были магнитные ленты. o Произвольный - файл можно читать с произвольной точки. Основное преимущество возникает, когда используются большие файлы (например, баз данных) и надо считать только часть данных из файла. Все современные ОС используют этот доступ. 2.1.5Атрибуты файла Основные атрибуты файла: o Защита - кто, и каким образом может получить доступ к файлу (пользователи, группы, чтение/запись). Используются в Windows и UNIX. o Пароль - пароль к файлу o Создатель - кто создал файл o Владелец - текущий владелец файла o Флаг " только чтение" - 0 - для чтения/записи, 1 - только для чтения. Используются в Windows. o Флаг " скрытый" - 0 - виден, 1 - невиден в перечне файлов каталога (по умолчанию). Используются в Windows. o Флаг " системный" - 0 - нормальный, 1 - системный. Используются в Windows. o Флаг " архивный" - готов или нет для архивации (не путать сжатием). Используются в Windows. o Флаг " сжатый" - файл сжимается (подобие zip архивов). Используются в Windows. o Флаг " шифрованный" - используется алгоритм шифрования. Если кто-то попытается прочесть файл, не имеющий на это прав, он не сможет его прочесть. Используются в Windows. o Флаг ASCII/двоичный - 0 - ASCII, 1 - двоичный o Флаг произвольного доступа - 0 - только последовательный, 1 - произвольный доступ o Флаг " временный" - 0 - нормальный, 1 - для удаления файла по окончании работы процесса o Флаг блокировки - блокировка доступа к файлу. Если он занят для редактирования. o Время создания - дата и время создания. Используются UNIX. o Время последнего доступа - дата и время последнего доступа o Время последнего изменения - дата и время последнего изменения. Используются в Windows и UNIX. o Текущий размер - размер файла. Используются в Windows и UNIX. 2.1.6Операции с файлами Основные системные вызовы для работы с файлами: o Create - создание файла без данных. o Delete - удаление файла. o Open - открытие файла. o Close - закрытие файла. o Read - чтение из файла, с текущей позиции файла. o Write - запись в файл, в текущею позицию файла. o Append - добавление в конец файла. o Seek - устанавливает файловый указатель в определенную позицию в файле. o Get attributes - получение атрибутов файла. o Set attributes - установить атрибутов файла. o Rename - переименование файла. Популярное:
|
Последнее изменение этой страницы: 2016-05-28; Просмотров: 697; Нарушение авторского права страницы