русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Прямой доступ к памяти.


Дата добавления: 2013-12-23; просмотров: 1011; Нарушение авторских прав


Наличие связи между таблицами 1 и 3 .

Основные системные таблицы ввода/вывода

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

Первая таблица оборудования содержит информацию обо всех устройствах ввода/вывода подключенных к системе.(Unit Control Block). UCB cодержит следующую информацию об устройстве:

1. тип устройства, его модель

2. подключение устройства ( через какой интерфейс, к какому разъёму, какие порты и линии прерывания используются)

3. указание на драйвер (адрес секции запуска)

4. информацию о буфере памяти

5. состояние устройств

6. указатель на дескриптор задачи использующий устройство в данный момент

2 таблица описания виртуальных (логических ) устройств.

Её назначение – устранение связи между виртуальными устройствами, описанными в таблице 1. 2 таблица позволяет ядру операционной системы перенаправлять запрос на ввод/вывод из приложения на те программные модули и страницы данных, которые (или адреса которых) хранятся в соответствующем элементе 1 таблицы.

В многопользовательских системах таких таблиц нет : одна общая и по одной на каждого пользователя.

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

Взаимосвязь изображают так:

           
 
Таблица логических имен
   
Таблица оборудования
 
Таблица прерывания
 
 
 



 

 


Управление вводом/выводом состоит в выполнении следующих действий :

Запрос на операции ввода/вывода от выполняющейся программы поступает в ядро операционной системы . Оно проверяет вызов на правильность и при отсутствии ошибок пересылает его в подсистему ввода/вывода.

Процесс ввода/вывода по логическому имени с помощью таблицы логических имен находит соответствующий элемент UCBтаблицы оборудования. Если устройство занято ,то дескриптор задачи от которой поступил запрос на ввод/вывод помещается в очередь ожидающих устройств. Если устройство свободно, то подсистема определяет по UCB тип устройства и передает управление соответствующему драйверу на секцию запуска. Драйвер инициализирует оптимизацию управления и возвращает управление диспетчеру задач , чтобы он поставил на процессор готовую к исполнению задачу , Когда устройство ввода/вывода обрабатывает команду оно поставляет запрос на прерывание , по которому через таблицу прерывания управление передается на секцию продолжения , получив новую команду устройство начинает её обрабатывать, а управление процессом передается диспетчеру задач и процессор продолжает полезную работу.

Таким образом осуществляется параллельное выполнение задач на фоне которого происходит управление операциями ввода/вывода.

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

Он позволяет перемещать блоки данных из памяти или в неё без использования процессора. Модуль прямого доступа к памяти DMA способен дублировать функции процессора в частности отдавать управление системой для передачи данных по системной шине. Если процессор тоже нуждается в системной шине, то модуль DMA вынуждает процессор приостановить свою работу. Эта операция именуется захватом цикла, так как модуль DMA выполняет захват цикла шины. Работа модуля DMA представляется так:

 

 
 

 

 


 
 
Управляющая схема
Адресный регистр  
Регистр данных
Счетчик данных

 


Линия передачи данных

       
 
 
   
 
 

 

 


Адресные линии

 

 


Запрос DMA

Подтверждение DMA

           
 
 
   
   
 

 

 


прерывание

 

 

чтение

       
 
 
   

 


запись

 

ЛЕКЦИЯ 12

 

В момент, когда процессору необходимо произвести чтение или запись модуля данных он выполняет запрос модуля DMA передавая ему следующую информацию:

1) Какая операция чтения или записи запрашивается.

2) Адрес используемого УВВ (устройство ввода/вывода)

3) Начальный адрес считываемый или записываемый в области памяти хранящийся в адресном регистре DMA.

4) Число слов, которое необходимо прочесть или записать. Эта величина хранится в регистре счетчика данных в модуле DMA.

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

Таким образом, процессор включен в этот процесс лишь в начале и в конце передачи данных.

Конфигурирование прямого доступа к памяти может быть выполнено несколькими способами. Наиболее эффективны следующие:

 

СИСТЕМНАЯ ШИНА

 

 

I/O
I/O
I/O
I/O
ОЗУ
DMA
ЦП

 

Шина ввода/вывода

 

Обмен данными между DMA и УВВ происходит вне системной шины.

 

 

ФАЙЛОВЫЕ СИСТЕМЫ

 

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

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

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

2) Работа с недисковыми периферийными устройствами как с файлами.

3) Обмен данными между файлами, между устройствами, между файлом и устройством и наоборот.

4) Работа с файлами с помощью обращений программных модулей СУФ (Application Program Interface). Часть функций API ориентирована на работу с файлами.

5) Защита файлов от несанкционированного доступа.

 

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

Термин ФС определяет принципы доступа к данным организованных в файле. А термин СУФ относится к конкретной реализации ФС, т.е. это комплекс программных модулей обеспечивающих работу с файлами конкретной ОС. В качестве примера можно привести ФС FAT (Fill Allocation Table), которая имеет множество реализаций как СУФ. Название FAT используется и по отношению к СУФ MS-DOS. В реализацию СУФ для OS/2, использующей основные принципы системы FAT наз. Super-FAT. Ее основные отличия - поддержка расширенных атрибутов для каждого файла.

Windows95/98 - VFAT.

 

СТРУКТУРА МАГНИТНОГО ДИСКА

 

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

В самом первом секторе находятся данные о логической организации диска и программа с помощью которой находятся и загружаются программы загрузки ОС. Информация на МД размещается и передается блоками. Каждый блок называется сектором. Сектора расположены на концентрической дорожке поверхности диска. Каждая дорожка называется треком и образуется превращением МД под зафиксированным некоторым предопределяющем положением головки чтения/записи. Группы дорожек одного радиуса расположенные на поверхностях МД образуют цилиндр. Жесткие диски имеют по несколько десятков тысяч цилиндров, а на поверхности дискеты их 80. Каждый сектор состоит из поля данных и поля служебной информации, ограничивающей и идентифицирующей его. Размер сектора устанавливается контроллером или драйвером. В большинстве ОС размер сектора 512 байт. Физический адрес сектора на диске определяется с помощью трех координат [c-h-s], где с - номер цилиндра, h - номер рабочей поверхности диска, а s -номер сектора на дорожке. Номера цилиндра и поверхности диска номеруются с 0, а номер сектора с 1. Обмен информацией с дисками физически осуществляется только с секторами. Жесткий диск может быть разбит на несколько разделов (partition), которые могут использоваться либо одной ОС, либо различными. Главное, что в каждом разделе может быть организована своя ФС. Разделы дисков могут быть двух типов (primary, extended - первичный и расширенный). Максимальное число первичных разделов 4, минимальное - 1. Если их несколько, то только один из них может быть активным. Именно загрузчику расположенному в активном разделе передается управление при включенном компьютере и загрузке ОС. Остальные первичные разделы в этом случае считаются скрытыми (hidden). Согласно спецификациям на диске может быть только один расширенный раздел, который в свою очередь может быть поделен на большое количество подразделов - логических дисков. С активного первичного раздела загружается программа загрузки ОС, называемая менеджером загрузки. Ее назначение - загрузить программу загрузки ОС из какого-нибудь другого раздела и с ее помощью загрузить саму ОС. Поскольку до загрузки ОС СУФ работать не может, то для указания загрузчика используются абсолютные адреса в формате [c-h-s]. По физическому адресу [0-0-1] на винчестере располагается главная загрузочная запись (Master Boot Record), содержащая внесистемный загрузчик (Non System Bootstrap), а также таблицу разделов. Эта запись равна ровно первому сектору, она размещается в памяти с адресом 0:7C00H, после чего управление передается коду программы, содержащемуся в первом секторе МД.

МД является основным средством загрузки диска, которое поддерживается BIOS. В MBR находится три важных элемента:

1) программа начальной загрузки

2) таблица описания разделов диска, располагается по смещению 0:1BE и занимает 64 байта

3) сигнатура MBR. Последние 2 байта MBR должны содержать число AA55h. По наличию этой сигнатуры BIOS проверяет, что первый блок был загружен успешно. Этот код выбран неслучайно. Его успешная проверка говорит о том, что все линии передачи данных могут передавать и нули и единицы.

 

Таблица разделов описывает размещение и характеристики разделов на жестком диске. Если она повреждена, то не только не будет загружена ОС, но и перестанут быть доступными все данные на диске.

 

 

СМЕЩЕНИЕ РАЗМЕР СОДЕРЖАНИЕ
 
IBEh Partition 1 Entry
1 CEh Partition 2 Entry
1 DEh Partition 3 Entry

 

Лекция 13

От 17.05.03

 

Первым байтом в предельном разделе является Boot Indicator, 0- не активен, 128 – активен. Он определяет раздел, который является системным загрузочным. Далее следует байт № головки рабочей поверхности, с которой начинается раздел. Далее идут два байта, означающие № цилиндра, № загрузочного сектора, где располагается загрузчик ОС. Затем идет кодовый идентификатор длиной 1 байт (System Id), указывающий на установленную файловую систему.

Т.е. 00-пустой раздел

01-FAT12

06-FAT16

OC-FAT32

83-LINUX NATIVE

85-LINUX EXTENTED

 

За байтом кода ОС располагается байт № рабочей поверхности конца раздела, за которым идут 2 байта: № сектора и № цилиндра последнего сектора данного раздела.

Формат записи, содержащей № сектора и цилиндра:

 

Биты № цилиндра Биты № сектора
       

10 бит 6 бит

 

Вслед за MBR размечают сами разделы.

В DOS в первичном разделе может быть сформирован один логический диск, а в расширенном любое количество.

Расширенный раздел DOS содержит расширенную запись MBR, равную Secondary MBR, в состав которой входит таблица логического диска (Logical Disk Table). Эта таблица описывает размещение характеристики раздела, содержащей единственный логический диск, а также может определять следующую запись SMBR.

Утилиты, позволяющие разбить диск на разделы называются FDISK (Form disk), Disk editor, Partition Magic.

 

Файловая система FAT.

 

В FAT логическое пространство любого диска делится на 2 области: системную и область данных.

 

загр. сектор резерв. сектор     корн. кат.  
BR RecSecs FAT1 FAT2 RDir Каталоги и файлы

 

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

В таблице FAT кластеры, принадлежащие одному файлу связываются в цепочки. Для указания № кластера используется 16- битовой слово (65536).

Кластер – минимальная адресная единица дисковой памяти, выделенная файлу. Разбиение области данных на кластеры вместо секторов имеет смысл по причине:

Уменьшается размер самой FAT;

Уменьшается возможная фрагментация файлов;

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

Большой размер файла ведет к неэффективному использованию дискового пространства, особенно при большом количестве малых файлов. Поэтому в файловых системах HDFS, NTFS, FAT32 размер кластера ограничивается (512 байт- 4 Кбайт). В FAT 32 проблема решается за счет того, что сама FAT может содержать 228 кластеров.

 

Пример:

 

Имя файла   Время последнего обращения к файлу Данные № начального кластера Размер
MyFile.txt Атрибуты Time Data Size

 

 

  0A 0B 0C 0D 0E 0F
IP FF FF 0A 0B

 

 

F7 1A 1B 1C 1D FF

 

 

- содержание FAT, по отношению к файлу MyFile.txt

 

Т.к. FAT интенсивно используется, то она помещается в ОЗУ, а на диске хранится в двух экземплярах. Используется только первый, если он оказывается поврежден, то происходит обращение ко второму экземпляру.

Утилиты ScanDisk при обнаружении несоответствия между копиями FAT предлагает восстановить главную по данным второй копии.

 



<== предыдущая лекция | следующая лекция ==>
Режимы управления вводом/выводом. | Файловая система VFAT, FAT32.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.01 сек.