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

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

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

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

Содержание

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

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

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

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

 

 

 

 

 

 

 

 

 

 

Доклад на тему:

«Управление файлами и

внешними устройствами»

 

 

 

 

 

 

 

Выполнил:

студент….. 

 

Проверил:

……………..

 

 

 

 

 

Содержание

  1. Введение………………………………………………………………………3
  2. Задачи ОС по управлению файлами и устройствами……………………...4
  3. Организация параллельной работы устройств ввода-вывода и

процессора………………………………………………………………….…5

  1. Разделение устройств и данных между процессами……………………….6
  2. Поддержка широкого спектра драйверов и простота включения нового

драйвера в систему………………………………………………………...…7

  1. Цели и задачи файловой системы………………………………………...…8
  2. Типы файлов……………………………………………………………….….9
  3. Атрибуты файлов…………………………………………………………....10
  4. Логическая организация файла……………………………………………..11
  5. Заключение…………………………………………………………………..12
  6. Список используемой литературы…………………………………………13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

Задачи ОС по управлению файлами и устройствами

Подсистема ввода-вывода (Input-Output Subsystem)  мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд общих задач, из которых наиболее важными являются следующие:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Организация параллельной работы устройств ввода-вывода и процессора

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

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

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

 

 

 

 

 

 

 

Разделение устройств  и данных между процессами

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

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

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

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

Поддержка широкого спектра  драйверов и простота включения  нового драйвера в систему

Достоинством подсистемы ввода-вывода любой универсальной ОС является наличие разнообразного набора драйверов  для наиболее популярных периферийных устройств. Прекрасно спланированная и реализованная операционная система  может потерпеть неудачу на рынке  только из-за того, что в ее состав не включен достаточный набор  драйверов и администраторы и  пользователи вынуждены искать нужный им драйвер для имеющегося у них  внешнего устройства у производителей оборудования или, что еще хуже, заниматься его разработкой. Именно в такой  ситуации оказались пользователи первых версий OS/2, и, возможно, это обстоятельство послужило в свое время не последней  причиной сдачи позиций этой неплохой операционной системы, богатой на драйверы ОС Windows 3.x.

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

Драйвер взаимодействует, с одной  стороны, с модулями ядра ОС (модулями подсистемы ввода-вывода, модулями системных  вызовов, модулями подсистем управления процессами и памятью и т. д.), а  с другой стороны — с контроллерами  внешних устройств. Поэтому существуют два типа интерфейсов: интерфейс «драйвер-ядро» (Driver Kernel Interface, DKI) и интерфейс «драйвер-устройство» {Driver Device Interface, DDF). Интерфейс «драйвер-ядро» должен быть стандартизован в любом случае, а интерфейс «драйвер-устройство» имеет смысл стандартизировать тогда, когда подсистема ввода-вывода не разрешает драйверу непосредственно взаимодействовать с аппаратурой контроллера, а выполняет эти операции самостоятельно. Экранирование драйвера от аппаратуры является весьма полезной функцией, так как драйвер в этом случае становится независимым от аппаратной платформы. Подсистема ввода-вывода может поддерживать несколько различных типов интерфейсов DKI/DDI, предоставляя специфический интерфейс для устройств определенного класса. Так, в ОС Windows NT для драйверов сетевых адаптеров существует интерфейс стандарта NDIS (Network Driver Interface Specification), в то время как драйверы сетевых транспортных протоколов взаимодействуют с верхними слоями сетевого программного обеспечения по интерфейсу TDI (Transport Driver Interface).

Цели и задачи файловой системы

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

Основные цели использования файла: 

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

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