Работа с файлами, каталогами и дисками под управлением MS-DOS 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Работа с файлами, каталогами и дисками под управлением MS-DOS



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

Для использования файла в программе необходимо выполнить следующие операции:

· создание нового файла;открытие существующего файла;запись/чтение в/из файл(а);закрытие файла.

Операционная система MS DOS поддерживает эти операции с помощью набора функций прерывания 21h. Кроме этих функций данное прерывание содержит функции для работы с каталогами:создать каталог;удалить каталог;сменить каталог.Существует также ряд других функций для работы с файловой системой, в том числе для поиска файлов и получения информации о них.Создание, открытие, закрытие и удаление файла.Прежде чем использовать файл в программе, его необходимо открыть с помощью функции 3dh прерывания 21h. Если файл не существует, то перед открытием
его нужно создать. Оба эти действия выполняются одной из следующих функций: 3ch, 5bh, 5ah, 6ch.

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

Сектора. Любой жёсткий диск можно представить как огромный «чистый лист», на который можно записывать данные и откуда потом их можно считать. Чтобы ориентироваться на диске, всё его пространство разбивают на небольшие «клеточки» — сектора. Сектор — это минимальная единица хранения данных на диске, обычно его размер составляет 512 байт. Все сектора на диске нумеруются: каждый из n секторов получает номер от 0 до n–1. Благодаря этому любая информация, записанная на диск, получает точный адрес — номера соответствующих секторов. Так что диск ещё можно представить как очень длинную строчку (ленточку) из секторов. Можете посчитать, сколько секторов на вашем диске размером в N гигабайт.Разделы. Представлять жёсткий диск как единый «лист» не всегда бывает удобно: иногда полезно «разрезать» его на несколько независимых листов, на каждом из которых можно писать и стирать что угодно, не опасаясь повредить написанное на других листах. Логичнее всего записывать раздельно данные большей и меньшей важности или просто относящиеся к разным вещам.

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

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

При защите программ от несанкционированного копирования применяются методы, которые позволяют привносить в защищаемую программу функции привязки процесса выполнения кода программы только на тех ЭВМ, на которые они были инсталлированы. Инсталлированная программа для защиты от копирования при каждом запуске должна выполнять следующие действия: анализ аппаратно-программной среды компьютера, на котором она запущена, формирование на основе этого анализа текущих характеристик своей среды выполнения; проверка подлинности среды выполнения путем сравнения ее текущих характеристик с эталонными, хранящимися на винчестере; блокирование дальнейшей работы программы при несовпадении текущих характеристик с эталонными. Этап проверки подлинности среды является одним из самых уязвимых с точки зрения защиты. Можно детально не разбираться с логикой защиты, а немного "подправить" результат сравнения, и защита будет снята.При выполнении процесса проверки подлинности среды возможны три варианта: с использованием множества операторов сравнения того, что есть, с тем, что должно быть, с использованием механизма генерации исполняемых команд в зависимости от результатов работы защитного механизма и с использованием арифметических операций. При использовании механизма генерации исполняемых команд в первом байте хранится исходная ключевая контрольная сумма BIOS, во второй байт записывается подсчитанная контрольная сумма в процессе выполнения задачи. Затем осуществляется вычитание из значения первого байта значение второго байта, а полученный результат добавляется к каждой ячейки оперативной памяти в области операционной системы. Понятно, что если суммы не совпадут, то операционная система функционировать не будет.

 

 

Опишите способы использования языка Ассемблер в языках высокого уровня.

Передача параметров

Язык высокого уровня – передают параметры вызываемое процедуры в стеке и ожидают возврощение параметров в регистре АХ, ЕАХ, если результат не уменшается в ЕАХ то используется пара ДХ: АА. Ассемблер на языках высокого уровня используются для организации прерываний, приоброзований сложных бытовых структур.

 

Приведите отличия Pascal-концепции и С-концепции при взаимодействии Ассемблера с языками высокого уровня.

Канцепция паскаль это способ размещать пораметры в стеке в естественном порядке.

Same_proc(a,b,c,d); ЯВУ

Push a Push b push c, push d

Call same_proc

Это значит процедура Same_proc во первых должна очистить ТЭК по окончанию работы и во вторых параметры переданные ей в стеке находятся в обратном порядке. Главным недостатком этого подхода заключается создание фун. Со изменяемым числом пораметров. Чтоб определить число параметров переданных функции, процедуры должна прочитать сначала первый параметр, размещение в стеке которого она не знает.

Концептия С

Параметры передаются в обратном порядке

Same_proc(a,b,c,d); ЯВУ

Push d Push c push b, push a

Call same_proc

Регистр ВР в С концепции служат для хранения числа пораметров и его же в коем случае не льзя изменять, преимуществом перед паскаль канцепции является то что асвабождение стека возлогается на вызывающую процедуру. Так же существует смещенная концепция котороя использует для передачи параметров РОН и СТЭК.

 

 

38). Дайте определение понятию «прерывание». Приведите классификацию прерываний для IBMPC.

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

Классификация прерываний

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

· внешние - вызываются внешними по отношению к микропроцессору событиями (по существу - это группа аппаратных прерываний) Вложенных прерываний нет!

· внутренние - возникают внутри микропроцессора во время вычислительного процесса (по существу - это исключительные ситуации и программные прерывания).

! В реальном и защищенном режиме работы микропроцессора обработка прерываний осуществляется принципиально разными методами.

 

 

39. Опишите организацию аппаратных прерываний

К аппаратным средствам системы прерываний относятся:

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

· INTR - вывод для входного сигнала запроса на прерывание,

· NMI - вывод для входного сигнала немаскируемого прерывания

· INTA - вывод для выходного сигнала подтверждения получения сигнала прерывания микропроцессором (этот сигнал поступает на одноименный вход микросхемы конроллера 8259А;

· программируемый контроллер прерываний 8259А · внешние устройства (таймер, клавиатура, магнитные диски и т.п.)Процессор получив сигнал по линии INT на выполнение прерывания сохраняет в стеке выполняемой программы содержимое регистров FLAGS, CS:IP.Загружает CS и IP из соответствующего вектора прерываний, и тем самым на обработчик прерываний, связанный с этим вектором и передает ей управление. Обработчик прерываний всегда завершается командой iret (interruptreturn, возврат из прерывания), которая возвращает старые значения CS, IP и регистра флагов, тем самым приводя к возврату в точку программы, где она была прервана.

40) Опишите структуру контроллера прерываний, назначение его основных узлов.

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

· Регистр входных запросов

· Регистр маски

· Схема приоритетов

· Регистр обслуживаемых запросов

Последовательность обработки внешнего аппаратного прерывания имеет следующий вид:

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

2. Сигнал запроса прерывания поступает на вход регистра обслуживаемых запросов и дает разрешение на установку в 1 его бита

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

 



Поделиться:


Последнее изменение этой страницы: 2016-06-28; просмотров: 242; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.63.90 (0.015 с.)