Управление файлами и внешними устройствами

Автор работы: Пользователь скрыл имя, 05 Сентября 2013 в 16:21, доклад

Краткое описание

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

Содержание

Введение………………………………………………………………………3
Задачи ОС по управлению файлами и устройствами……………………...4
Организация параллельной работы устройств ввода-вывода и
процессора………………………………………………………………….…5
Разделение устройств и данных между процессами……………………….6
Поддержка широкого спектра драйверов и простота включения нового
драйвера в систему………………………………………………………...…7
Цели и задачи файловой системы………………………………………...…8
Типы файлов……………………………………………………………….….9
Атрибуты файлов…………………………………………………………....10
Логическая организация файла……………………………………………..11
Заключение…………………………………………………………………..12
Список используемой литературы……………

Вложенные файлы: 1 файл

Доклад на тему управление устройствами.docx

— 39.91 Кб (Скачать файл)

Файловая система (ФС) —  это часть операционной системы, включающая: 

  1. совокупность всех файлов на диске; 
  2. наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске; 
  3. комплекс системных программных средств, реализующих различные операции над файлами, такие как создание, уничтожение, чтение, запись, именование и поиск файлов.

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

Задачи файловой системы:

    1. Именование файлов;
    2. Программный интерфейс для приложений;
    3. Отображения логической модели файловой системы на физическую

организацию хранилища данных;

Типы файлов

Файловые системы поддерживают несколько функционально различных  типов файлов, в число которых, как правило, входят обычные файлы, файлы-каталоги, специальные файлы, именованные конвейеры, отображаемые в память файлы и другие.

Обычные файлы, или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных  операционных систем (например, UNIX, Windows, OS/2) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает. Например, текстовый редактор создает текстовые файлы, состоящие из строк символов, представленных в каком-либо коде. Это могут быть документы, исходные тексты программ и т. п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют коды символов, они часто имеют сложную внутреннюю структуру, например исполняемый код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов — их собственные исполняемые файлы.

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

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

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

 

 

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

Понятие «файл» включает не только хранимые им данные и имя, но и атрибуты. Атрибуты — это информация, описывающая свойства файла. Примеры  возможных атрибутов файла:

  • тип файла (обычный файл, каталог, специальный файл и т. п.); 
  • владелец файла; 
  • создатель файла; 
  • пароль для доступа к файлу; 
  • информация о разрешенных операциях доступа к файлу; 
  • времена создания, последнего доступа и последнего изменения; 
  • текущий размер файла; 
  • максимальный размер файла; 
  • признак «только для чтения»; 
  • признак «скрытый файл»; 
  • признак «системный файл»; 
  • признак «архивный файл»; 
  • признак «двоичный/символьный»; 
  • признак «временный» (удалить после завершения процесса); 
  • признак блокировки; 
  • длина записи в файле; 
  • указатель на ключевое поле в записи; 
  • длина ключа.

 

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

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

 

 

 

 

 

 

 

 

Логическая организация  файла

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

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

Модель файла, в соответствии с  которой содержимое файла представляется неструктурированной последовательностью (потоком) байт, стала популярной вместе с ОС UNIX, а теперь она широко используется в большинстве современных ОС, в том числе в MS-DOS, Windows NT/2000, NetWare. Неструктурированная модель файла позволяет легко организовать разделение файла между несколькими приложениями: разные приложения могут по-своему структурировать и интерпретировать данные, содержащиеся в файле.

Другая модель файла, которая применялась  в ОС OS/360, DEC RSX и VMS, а в настоящее  время используется достаточно редко, — это структурированный файл. В этом случае поддержание структуры  файла поручается файловой системе. Файловая система видит файл как  упорядоченную последовательность логических записей. Приложение может  обращаться к ФС с запросами на ввод-вывод на уровне записей, например «считать запись 25 из файла FILE.DOC». ФС должна обладать информацией о структуре  файла, достаточной для того, чтобы  выделить любую запись. ФС предоставляет  приложению доступ к записи, а вся  дальнейшая обработка данных, содержащихся в этой записи, выполняется приложением. Развитием этого подхода стали  системы управления базами данных (СУБД), которые поддерживают не только сложную  структуру данных, но и взаимосвязи  между ними.

Заключение

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список используемой литературы

    1. http://education.aspu.ru
    2. http://www.studarhiv.ru

 


Информация о работе Управление файлами и внешними устройствами