Основные функции и интерфейс файловой системы

Автор работы: Пользователь скрыл имя, 20 Марта 2013 в 20:36, лекция

Описание работы

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

Файлы: 1 файл

ОСНОВНЫЕ ФУНКЦИИ И ИНТЕРФЕЙС ФАЙЛОВОЙ СИСТЕМЫ.doc

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

Контроллер может непосредственно управлять отдельным устройством (например, контроллер диска), а может управлять несколькими устройствами, связываясь с их контроллерами посредством специальных шин ввода-вывода (шина IDE, шина SCSI и т. д.).

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

Для нас сейчас важными  являются только следующие ключевые моменты.

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

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

Вопросы для  проверки

  1. Назовите внешние устройства вычислительной системы.
  2. Через какие линии связи могут общаться устройства с компьютером?
  3. Что называется локальной магистралью компьютера?
  4. Что называется шиной?
  5. Назовите виды шин и их назначение.
  6. Что называется разрядностью шины и что она определяет?
  7. Назовите действия, которые должны быть выполнены для передачи информации из процессора в память.
  8. Что называется портом ввода-вывода?
  9. Что представляет собой адресное пространство ввода-вывода?
  10. Назовите действия, которые должны быть выполнены для передачи данных в порт.
  11. Что называется контроллером?
  12. Назовите ключевые моменты, рассмотренные в данном разделе курса.

 

Опрос устройств и прерывания. Исключительные ситуации и системные  вызовы

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

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

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

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

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

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

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

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

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

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

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

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

Для внешних прерываний характерны следующие особенности.

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

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

Для исключительных ситуаций характерно следующее.

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

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

  • Программное прерывание происходит в результате выполнения специальной команды.
  • Процессор при выполнении программного прерывания сохраняет свое состояние перед выполнением следующей команды.
  • <li class="dash041e_0431_044b_0447_043d_044b_0439" style=" margin-bottom: 4pt; margin-left: 0pt; text-align:

Информация о работе Основные функции и интерфейс файловой системы