1 Операционные системы и оболочки Одинцов Игорь Олегович ст. преподаватель кафедры информатики igor_odintsov@mail.ru весна 2006 Слайды можно взять на сайтах:

Презентация:



Advertisements
Похожие презентации
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Advertisements

Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
1 БАЗЫ ДАННЫХ ФАЙЛЫ И ФАЙЛОВЫЕ СИСТЕМЫ. 2 ДО ФАЙЛОВЫХ СИСТЕМ Данные Управление ПРОГРАММА 2 Данные Управление ПРОГРАММА 3 Данные Управление ПРОГРАММА 1.
Основные характеристики операционных систем. Операционная система базовый комплекс программ, обеспечивающий управление аппаратными средствами компьютера,
Учитель информатики Трашков О.Л.. Для оперативного обмена информацией и совместного использования общих ресурсов компьютеры объединяют в сеть. Ресурсами.
Локальная сеть. Компьютерная сеть Компьютерная сеть – система двух или более компьютеров, связанных каналами передачи информации.
1 Назначение операционных систем Автор проекта: Евтина М. Г. Петрова М. В. Трубицын Д.А. Худяков А. Ю.
Системное программное обеспечение. Виды программного обеспечения Программное обеспечение компьютера можно разделить на системное и прикладное. Прикладные.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Коммуникационные технологии. Передача информации. Локальные компьютерные сети.
Физические модели баз данных Файловые структуры, используемые для хранения информации в базах данных.
Это комплекс взаимосвязанных системных программ, назначение которого организовать взаимодействие пользователя с компьютером и выполнение всех других программ.
Программное обеспечение компьютера. Совокупность программ, хранящихся в долговременной памяти компьютера, составляют программное обеспечение (ПО) компьютера.
Операционные системы и среды. Схема устройства жесткого диска Дорожка N Сектор (блок) Пластина 1 Пластина 2 Цилиндр 0 сторона Диск – одна или несколько.
Объединение компьютеров в локальную сеть. Организация работы пользователей в локальных компьютерных сетях.
Операционная система. Базовые понятия Операционная система – это комплекс программ, обеспечивающий контроль за существованием, распределением и использованием.
Компьютерные сети Локальная сеть. Компьютерная сеть Компьютерная сеть – соединение компьютеров для обмена информацией и совместного использования ресурсов.
Устройство и принцип работы операционной системы Windows XP.
Тема 3 Рассматриваемые вопросы 1. Классификация сетей 2. Назначение сетей 3. Компоненты вычислительных сетей 4. Топологии сетей 5. Архитектура сетей.
База данных (БД) – Совокупность определённым образом организованной информации на определённую тему (в рамках определённой предметной деятельности); Организованная.
Транксрипт:

1 Операционные системы и оболочки Одинцов Игорь Олегович ст. преподаватель кафедры информатики весна 2006 Слайды можно взять на сайтах: и Салищев Сергей Игоревич ст. преподаватель кафедры информатики

2 Лекция 10 Файлы и файловые системы

3 План лекции Файлы и файловые системы Драйверы устройств Сетевые и распределенные ОС Централизованные ОС

4 Наша тактика Память это функциональная часть компьютера, предназначенная для записи, хранения и считывания информации. Мы подробно рассмотрим сущность памяти и алгоритмы работы с ней в централизованных, сетевых и распределенных операционных системах. Файловые системы

5 Управление внешней памятью Схема управления файлами образует иерархию: уровень системы управления базами данных методы доступа логическая система управления файлами На этом уровне выполняются такие логические команды, как, например, открыть файл базисная система управления файлами Это уровень работы с сегментами данных система ввода-вывода Например, прочитать физический блок памяти уровень аппаратуры Это действия, ориентированные на устройства Примером может быть команда нижнего уровня перемотать ленту

6 Файл, атрибуты файла Файл это поименованная упорядоченная совокупность данных. Файл обычно имеет следующий минимум атрибутов: имя файла. Это строка символов, поддерживающая информацию в виде, удобном для восприятия человеком тип файла. Данная информация требуется многим утилитам и системам для первичной идентификации файла местонахождение. Это информация об устройстве, на котором файл расположен, и полный путь к нему в рамках этого устройства размер файла информация о защите файла от чтения, записи и исполнения информация о пользователе, создавшем файл, включая дату и время создания информация о пользователе, который последним изменял файл, включая дату и время модификации

7 Некоторые данные статистики Большинство пользовательских файлов имеет размер менее 10 Кбайт. Средний размер файла равен 4 Кбайт Чтение встречается чаще, чем запись Чтение и запись осуществляются последовательно, произвольный доступ очень редок Большинство файлов имеет короткое время жизни Лишь небольшое количество файлов разделяется процессами В системах существуют различные классы файлов с различными свойствами Для разработчика важно понимать, как система будет использовать файлы

8 Операции, выполняемые с файлами Создание файла Запись в файл Чтение из файла Позиционирование в файле Удаление файла Удаление некоторой части файла, начиная с определенной позиции …

9 Информация, связанная с открытым файлом Описатель файла Количество открытий этого файла Информация о местоположении файла на диске При этом фактически копия открытого файла (или его части) хранится в основной памяти

10 Файл как часть иерархии объединения данных Комбинация битов Байт Поле группа взаимосвязанных байтов Запись группа взаимосвязанных полей Записи могут быть физические (блоки) и логические (рассматриваемые как единое целое с точки зрения пользователя) Файл группа взаимосвязанных записей

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

12 Метод доступа Метод доступа это сочетание типов файлов и стандартных программных средств, обеспечивающих определенный режим передачи данных между файлом и основной памятью. Существует два метода: Метод доступа с очередями. Применяется, когда последовательность обработки записей можно предвидеть (например, при последовательном доступе) Базисный метод доступа. Этот метод доступа применяют в том случае, когда последовательность обработки предвидеть нельзя

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

14 Архитектура распределенных файловых систем Распределенная файловая система обычно имеет два существенно отличающихся компонента: файловый сервис. Модели, на которых может основываться файловый сервис, таковы: модель "загрузки-разгрузки". В этом случае осуществляется пересылка файла клиенту целиком; модель удаленного доступа. Реализуется без пересылки файла клиенту; сервис каталогов (директорий), обеспечивающий операции создания и удаления каталогов, именования файлов, их переименования и перемещения. Ключевые решения, которые необходимо принять при разработке распределенных файловых систем, определяются ответами на следующие вопросы. Должны или не должны все процессы видеть иерархию каталогов одинаково? Должен ли быть единый корневой каталог?

15 Подходы к именованию файлов Ключевые решения, которые необходимо принять при разработке распределенных файловых систем, определяются ответами на следующие вопросы. Должны или не должны все процессы видеть иерархию каталогов одинаково? Должен ли быть единый корневой каталог? Существуют две формы прозрачности именования: прозрачность расположения, определяющая, как легко мы можем обратиться к файлу; прозрачность миграции, когда изменение расположения файла не требует изменения имени. Подходы к именованию файлов таковы: процессы видят файл как имя машины и путь к файлу на ней; монтирование удаленных файловых систем в локальную иерархию файлов; все процессы видят все файлы одинаково (для реализации нужен мощный механизм). Большинство систем используют ту или иную форму двухуровневого именования: файлы имеют символическое имя, которое видит пользователь, и внутреннее двоичное имя, которое используется самой системой.

16 Семантика разделения файлов семантика однопроцессорного компьютера. Если за операцией записи следует операция чтения, то результат определяется последней операцией записи; семантика сессий. Изменения открытого файла видит только тот процесс, который эти изменения проводит, и лишь после закрытия файла изменения становятся доступными всем остальным процессам; семантика транзакций. Монополизация доступа, а после возврата обновление.

17 Реализация распределенных файловых систем Использование файлов. Для разработчика главное понять, как система будет использовать файлы. Ранее были некоторые данные статистики Структура системы. Для ее определения должны быть получены ответы на три вопроса: есть ли разница между клиентом и сервером? Здесь есть два варианта: либо любая машина может предоставить файловый сервис, либо есть специализированные средства сервера следует ли объединять файловый сервер и сервер каталогов? Разумным может быть следующее разделение: можно иметь различные серверы каталогов (например, для операционных систем Unix и DOS) и один файловый сервер должен ли сервер хранить у себя информацию о клиентах? В зависимости от принятого решения в системе будут либо серверы с состоянием, либо без состояния Кэширование. В клиент-серверной схеме с памятью и диском имеются четыре места для хранения файлов или их частей: диск сервера. Данное место удобно тем, что здесь легко поддержать консистентность и нет размножения файлов, но при этом теряется эффективность и возникают проблемы передачи данных память сервера. При этом возникает дополнительный вопрос помещать файлы в память целиком или частями диск клиента. Это место не дает преимуществ перед первыми двумя, но в несколько раз усложняется работа системы память клиента. Это место является наиболее разумным для хранения файлов или их частей Оценить способ и обосновать выбор можно лишь при учете характера приложений и данных о быстродействии процессоров, памяти и сети

18 Драйверы устройств Драйвер это программа операционной системы, обеспечивающая взаимодействие исполняемой программы с отдельным устройством и способствующая его удобному использованию. Существуют, например, драйверы дисплея, мыши, клавиатуры и т.п. Выделяют следующие классы драйверов: драйвер физического устройства, позволяющий конкретному физическому устройству взаимодействовать с операционной системой. Если устройство входит в список совместимого оборудования, то драйвер такого устройства практически всегда входит в состав операционной системы. Тем не менее, драйверы обычно пишутся не компанией, создающей операционную систему, а компанией, разработавшей периферийное устройство. При установке нового устройства операционная система либо находит драйвер в своей поставке, либо просит пользователя установить драйвер (например, с диска, поставляемого с устройством, или с сайта разработчика в сети Интернет). Примером данного класса драйверов является драйвер мыши драйвер логического устройства, обслуживающий логические устройства, относящиеся к одному типу. Примером данного класса драйверов может быть драйвер логических дисков, на которые разбивается физический диск драйвер виртуального устройства (псевдоустройства), предоставляющий доступ к виртуальным устройствам, имитируемым программным или аппаратным способом. Примером псевдоустройства является /dev/null в Unix

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

20 Два типа устройств в операционных системах Устройства ввода-вывода блоками Примером блочных устройств ввода-вывода являются диски и ленты. Устройства неструктурированного или посимвольного ввода-вывода. К устройствам посимвольного (побайтного) ввода- вывода относятся практически все остальные устройства, в том числе дисплеи, клавиатуры и сетевое оборудование. Устройства ввода-вывода блоками могут также иметь интерфейс работы посимвольного ввода- вывода. В последнем случае для работы с устройством существуют два драйвера: блочный и посимвольный.

21 Пример управления устройствами ввода-вывода Правильное управление устройствами ввода-вывода может резко повысить эффективность системы. В качестве примера обратимся к такому устройству как диск. Головка считывания-записи должна быть подведена к определенному цилиндру диска, а затем к нужному сектору цилиндра. Очевидно, что время подвода головки к цилиндру значительно выше, чем время перемещения головки к сектору при вращении диска, и основное внимание в алгоритмах следует обращать на него. Приведем некоторые возможные алгоритмы перемещения головки: обслуживание запросов в порядке поступления. Алгоритм эффективен только в случае очень маленькой загруженности устройства обслуживание сектора с наименьшим временем поиска первым. В случае данного подхода происходит дискриминация отдаленных секторов сканирование. Головка движется взад и вперед, считывая-записывая информацию по пути направления. Направление изменяется, если далее в данном направлении запросов нет пошаговое сканирование. Алгоритм аналогичен простому сканированию, но при движении учитываются только сектора существующих запросов. Сектора, запросы на которые поступили после начала движения в одном направлении, будут рассмотрены при движении в обратную сторону циклическое сканирование. Головка всегда движется только в одном направлении, а потом скачком возвращается. Обратим внимание на то, что если объединить пошаговое сканирование и циклическое сканирование, то будет исключена дискриминация крайних цилиндров

22 Спасибо! Вопросы?

23 P.S. Экзаменационные вопросы: Файлы и файловые системы (централизованные ОС) Файлы и файловые системы (распределенные ОС) Драйверы устройств