Наличие в составе современных ЭВМ таких внешних запоминающих устройств (ВЗУ), которые способны хранить большие массивы данных в течение сколь угодно длительного времени, поставило перед разработчиками ОС задачу создания специальных систем по управлению данными. Такая система фактически является интерфейсом между процессами (системными и пользовательскими), с одной стороны, и данными, хранимыми в ВЗУ, с другой стороны, т.е. эта система должна обеспечить эти процессы комплексом услуг по управлению данными. Таким образом, система управления данными (СУД) — это фактически виртуальная система управления вводом-выводом данных, построенная на следующей базе:
1. существующей подсистемы управления вводом-выводом;
2. использования специальных аппаратных средств;
3. специальных информационных структур.
СУД называют файловыми системами, где файл — поименованная совокупность данных, обычно размещаемая в ВЗУ. Взаимодействие программных процессов и файлов может быть представлено в виде следующей схемы:
Что такое ядро операционной системы? Назначение и виды ядер
Рис.1. Схема взаимодействия программных процессов и файлов
- Средства взаимодействия с процессами пользователей, которые должны обеспечить прием и интерпретацию запросов от пользователей на обработку файлов и сообщить им в удобной форме о результатах этой обработки;
- Средства, реализующие методы доступа к внутренним составным элементам файла и файлу в целом; эти средства осуществляют связь между физическим и логическим уровнями управления данными;
- Средства, обеспечивающие распределение внешней памяти для хранения файлов и ее освобождение при уничтожении файлов;
- Средства учета расположения файлов в целом и их составных частей.
Логическая организация файлов
Арабские цифры от 0 до 9, буквы латинского и других алфавитов, специальные знаки (/, *, (, ) и т.д.) представляются в ЭВМ в виде комбинации битов, в настоящее время чаще всего 8-битовых (байтов). Эти комбинации обычно называются символами. Группа взаимосвязанных символов называется полем. Группа взаимосвязанных полей носит название записи. Например, запись, относящаяся к студенту, может содержать отдельные поля, где будут указаны идентификационный номер, фамилия, имя, отчество, адрес, изучавшиеся дисциплины и отметки по ним и т.д.
Ключ записи — это управляющее поле, которое однозначно идентифицирует данную запись. Например, при составлении платежной ведомости о выдаче стипендии студентам в качестве ключа записи может использоваться идентификационный номер студента. Группа взаимосвязанных записей составляет файл. Например, файл может состоять из записей, относящихся ко всем студентам одного из факультетов университета.
Под логической организацией файлов понимается способ раположения записей файла во внешней памяти. В качестве примера рассмотрим 2 из наиболее известных видов логической организации файлов: последовательную и библиотечную.
1. Последовательная организация.
Урок 25. Базовая архитектура операционной системы
Записи располагаются в физическом порядке, а сам файл рассмат ривается как одномерный массив логических записей, при этом доступ к логическим записям — последовательный, т.е. после записи или считывания i-й записи доступна только (i+1)-я запись. Такая организация применяется для файлов, хранящихся на магнитной ленте и выводимых на печать. Очевидный недостаток такой организации для файлов, хранимых на дисках, состоит в большом времени поиска записи в файле.
2. Библиотечная организация.
В этом случае фактически имеется файл, состоящий из последовательных подфайлов, называемых элементами, или членами файла. Начальный адрес каждого такого элемента хранится в каталоге (директории) файла.
Расположение элементов никак не упорядочено в общем случае — они записываются в библиотеку по мере поступления, но названия элементов в каталоге библиотеки упорядочиваются в процессе создания этих элементов. Такая организация позволяет легко расширять файл по мере поступления новых элементов.
Рис.2. Структура библиотечной организации
Физическая организация файлов
Физическая организация файлов определяется расположением данных на конкретном физическом носителе. При связном распределении памяти каждому файлу отводится одна непрерывная область внешней памяти. Одним из достоинств связного распределения является тот фактор, что последовательные логические записи размещаются, как правило, физически рядом.
Это позволяет повысить скорости доступа по сравнению с системами, в которых последовательные логические записи разбросаны по диску. Однако связное распределение имеет и определенные недостатки. Когда файлы уничтожаются, занимаемое ими пространство возвращается в список свободных ресурсов.
Это пространство предоставляется для размещения новых файлов, которые при этом должны укладываться в существующие свободные области. Таким образом, здесь, как и при распределении ОП в мультипрограммном режиме работы ЭВМ, возникает проблема фрагментации. В настоящее время главенствующее положение заняли системы несвязного поблочного распределения дисковой памяти. В этом случае физическая организация памяти чаще всего существенно отличается от логической организации.
Рассмотрим некоторые способы физической организации дисковой памяти, наиболее часто используемые в настоящее время и являющиеся вариантами так называемого поблочного распределения. При поблочном распределении память распределяется не индивидуальными секторами, а блоками смежных секторов. При выделении новых секторов система стремится выбирать свободные блоки, расположенные как можно ближе к уже существующим блокам файла.
1. Распределение при помощи цепочек блоков.
Рис.3. Цепочка блоков
Блоки содержат фиксированное число смежных секторов. Для нахождения конкретной записи необходимо просмотреть цепочку блоков до тех пор, пока не будет найден соответствующий блок, а затем просмотреть этот блок. Недостаток способа состоит в том, что просмотр приходится начинать с самого начала, а если блоки анализируемого файла разбросаны по всему диску, то могут быть велики потери на перемещение головок диска. Преимущество способа состоит в том, что при необходимости легко произвести вставку и исключение блока путем модификации указателей предыдущих блоков.
2. Распределение при помощи цепочек индексов
Рис.3. Цепочка индексных блоков
В схеме с цепочками индексов (рис.3) указатели помещаются в отдельные индексные блоки. Каждый индексный блок содержит фиксированное число элементов. Каждая строка индексного блока содержит идентификатор обычного блока и указатель на этот блок. Возможна также организация цепочки индексных блоков, если одного индексного блока недостаточно для указания адресов блоков файла.
Преимущество этого способа по сравнению со способом цепочки блоков заключается в том, что при поиске блока просматриваются только индексные блоки, которые к тому же могут быть размещены в ОП.
Недостаток способа состоит в том, что для вставки дополнительных записей может потребоваться полная перестройка структуры индексных блоков, но при двух- и тем более при трехступенчатой организации индексных блоков вероятность того события, что такая перестройка потребуется, весьма мала.
Подобный способ распределения использован в ОС UNIX.
3. Распределение при помощи таблиц поблочного отображения
Рис.4. Таблица поблочного отображения файлов
Принцип действия этого способа ясен из рис.4. Преимущество способа заключается в простоте процедуры изменения структуры файла и наглядности распределения дискового пространства. Способ используется в MS DOS.
Организация каталогов файлов в ОС
- одноуровневые, т.е. для одного диска существует единый каталог (использовался, например, в ОС РАФОС для СМ ЭВМ);
- многоуровневые иерархические, связанные в древовидную структуру (примеры — UNIX и MS DOS); полное имя файла задает траекторию перехода между каталогами различного уровня, при этом любой каталог рассматривается как файл, имеющий собственное имя.
Дескриптор файла (ДФ)
Другие названия дескриптора — блок управления файлом, элемент каталога файлов.
ДФ — это управляющий блок, содержащий информацию, необходимую ОС для различных операций с файлом. Конкретный вид ДФ определяется используемой ОС.
- символическое имя файла;
- тип файла (объектная программа, программа, записанная на языке программирования, например, С++ и т.п.);
- атрибуты файла, в том числе данные, используемые для доступа;
- дата и время создания файла;
- данные о размещении файла во внешней памяти;
- тип организации файла (последовательная, индексно-последовательная и т.д.);
- дата и время последней модификации;
- счетчики активности доступа (например, количество обращений по чтению).
Как правило, ДФ хранятся во внешней памяти и передаются в ОП только после открытия соответствующего файла. Дескриптором файла управляет файловая система, хотя в некоторых ОС, например, в MS DOS пользователь может к обратиться к ДФ с помощью специальных программных средств, например, с помощью пакета PC TOOLS.
Матрица управления доступом (МтУД)
В общем случае элементы МтУД содержат более одного бита, так как у пользователей могут быть более чем 2 различных способа доступа к файлу, например, только для чтения, только для выполнения (программный файл), для чтения-записи и т.п.
Управление доступом в зависимости от класса пользователей
МтУД может быть настолько велика, что реализовать ее в системе будет практически нецелесообразно или даже невозможно. Существует способ, требующий намного меньше места в памяти системы, — это управление доступом к файлам в зависимости от классов пользователей.
Обычно предусматривают следующие категории пользователей:
1. «Владелец»; как правило, это пользователь, который создал этот файл;
2. «Указанный владельцем», т.е. пользователь, которому разрешил работать создатель файла;
3. «Группа», или «проект»; пользователи часто являются членами группы, совместно работающими над конкретным проектом, и в этом случае всем членам данной группы предоставляется возможность работы с данным файлом;
4. «Общедоступный», т.е. доступ к нему разрешается для всех пользователей данной системы; обычно в этом случае пользователи могут читать или выполнять файл, но производить запись в него запрещается.
Копирование и восстановление информации
Из практики эксплуатации файловых систем известно, что иногда в них происходит разрушение данных, чаще всего по случайным причинам, но иногда и по злому умыслу. Поэтому и ОС в целом, и ее файловая система должны разрабатываться с учетом этих возможностей. Наиболее распространенный способ обеспечения сохранности данных заключается в периодическом копировании, т.е. в регулярном изготовлении копий сохраняемых файлов, одной или более, и помещении их в безопасное место. Недостаток этого способа заключается в возможной потере всех изменений файла за период времени между последним копированием и аварией.
Другой способ обеспечения сохранности данных состоит в том, чтобы регистрировать все текущие изменения файла путем их копирования на другой диск. Подобная избыточность может стоить достаточно дорого, но она оправдывается в тех системах, в которых потеря даже небольшой части данных может привести к нарушению функций, выполняемых системой.
Источник: geum.ru
Резидентная программа
Резидентная программа (или TSR-программа, от англ. Terminate and Stay Resident — «завершиться и остаться резидентной») — в операционной системе MS-DOS программа, вернувшая управление оболочке операционной системы (command.com), либо надстройке над операционной системой (Norton Commander и т. п.), но оставшаяся в оперативной памяти персонального компьютера. Резидентная программа активизируется каждый раз при возникновении прерывания, вектор которого эта программа изменила на адрес одной из своих процедур.
При работе с MS-DOS резидентные программы широко использовались для достижения различных целей (например, русификаторы клавиатуры, программы доступа к локальной сети, менеджеры отложенной печати, вирусы).
По способу инициализации и вызова операционной системой резидентные программы необходимо отличать от «настоящих» драйверов MS-DOS, встраиваемых операционной системой в своё ядро во время загрузки.
В эпоху многозадачных ОС резидентными иногда называют программы, загруженные постоянно и работающие в фоновом режиме. Но применение этого термина некорректно по отношению к многозадачным ОС.
Основные понятия
Резидентные программы могут переключать на себя обработку прерываний, например, связанных с выводом на печать или с обращением к клавиатуре и т. д.
Такие программы тоже обычно запускаются через файл AUTOEXEC.BAT или при необходимости. Они перехватывают прерывания, предназначенные для работы с клавиатурой. Как только пользователь нажимает заранее определенную комбинацию клавиш, резидентная программа активизируется. Поверх имеющегося на экране изображения выводится диалоговое окно резидентной программы.
Иногда резидентные программы используют вместо загружаемых драйверов для обслуживания нестандартной аппаратуры. В этом случае резидентная программа может встроить свой обработчик, через который все прикладные программы смогут обращаются к аппаратуре.
Аналогично работают резидентные модули некоторых систем управления базами данных (СУБД). Прикладная программа посылает запросы к базе данных через прерывание, устанавливаемое при запуске такой СУБД.
На резидентные программы накладываются многочисленные ограничения, затрудняющие работу программиста.
Например, резидентным программам не разрешается использовать прерывания MS-DOS, когда вздумается. Это связано с тем, что MS-DOS с самого начала проектировалась как однозадачная операционная система, поэтому функции прерываний MS-DOS не обладают свойством реентерабельности (повторной входимости).
Представьте себе такую ситуацию.
Пусть обычная программа вызвала какую-либо функцию прерывания MS-DOS, на выполнение которой требуется относительно много времени (например, запись на диск).
Так как пользователь может активизировать резидентную программу в любой момент, то если не принять специальных мер предосторожности, возможен повторный вызов той же самой функции, обработка которой ещё не завершена. В этом случае мы получим повторный вызов функции MS-DOS, который недопустим из-за того, что функции MS-DOS не реентерабельны.
Функции BIOS также далеко не все реентерабельны. Резидентная программа может смело вызывать разве лишь прерывание INT 16h (которое предназначено для работы с клавиатурой). Если резидентной программе нужно вывести что-нибудь на экран, то вместо прерывания INT 10h следует выполнить непосредственную запись символов и их атрибутов в видеопамять.
Без принятия специальных мер предосторожности резидентная программа не может вызывать многие функции библиотеки транслятора, так как последние вызывают прерывания MS-DOS. Например, функция malloc вызывает прерывание MS-DOS для определения размера свободной памяти в системе.
У программы есть две возможности остаться резидентной в памяти — использовать прерывание INT 27h или функцию 31h прерывания INT 21h .
Для использования прерывания INT 27h сегментный регистр CS должен указывать на PSP программы. При этом в регистр DX следует записать смещение последнего байта программы плюс один байт.
Нетрудно заметить, что этот способ больше всего подходит для com-программ, так как с помощью прерывания INT 27h невозможно оставить в памяти резидентной программу длиннее 64 Кбайт.
Другой, более удобный способ заключается в вызове функции 31h прерывания INT 21h . В регистре AL вы можете указать код завершения программы, регистр DX должен содержать длину резидентной части программы в параграфах. Здесь уже нет указанного выше ограничения на размер программы.
Для того чтобы оставить резидентной в памяти программу, размер которой превышает 64 Кбайт, вы можете использовать только последний метод. Но не стоит увлекаться большими резидентными программами, так как занимаемая ими память нужна другим программам.
Структура резидентной программы
Сначала в памяти располагаются данные, затем обработчики прерываний (вектора), и наконец секция инициализации (которая имеет точку входа INIT и именно в эту точку передается управление при запуске программы). Основная задача секции инициализации — установить резидент в памяти (она нужна лишь при установке программы, потом её из памяти удаляют). Эту секцию располагают в старших адресах (так как «обрезать» мы можем только старшие адреса).
Функции секции инициализации заключаются в следующем
Инициализация резидентной программы
Для использования прерывания 27h сегментный регистр CS должен указывать на PSP программы, а в регистре DX должно быть записано смещение последнего байта программы плюс один байт. Нетрудно заметить, что этот способ остаться резидентной больше всего подходит для программ в формате COM. Вы не сможете оставить резидентной программу длиннее 64 килобайт.
Другой, более удобный способ — использовать функцию 31h прерывания INT 21h. В регистре AL вы можете указать код завершения программы, регистр DX в этом случае должен содержать длину резидентной части программы в параграфах. Здесь уже нет ограничения 64 килобайта на длину программы. Использование этой функции — единственная возможность оставить резидентной программу длиннее 64 килобайт.
Но не стоит увлекаться длинными TSR-программами, так как обычно освободить память, занимаемую ставшей уже ненужной резидентной программой, можно только с помощью перезагрузки операционной системы.
Библиотека функций Quick C содержит специальную функцию для оставления программы резидентной в памяти. Эта функция использует прерывание INT 21h (функция 31h) и имеет имя _dos_keep(). Первый параметр функции — код завершения (то, что записывается в регистр AL), а второй — длина резидентной части программы в параграфах.
Решение проблемы повторного запуска
Нужно определить, была уже запущена TSR или нет. Возможно несколько вариантов определения запуска TSR:
- Использование статической памяти компьютера. В этом случае по некоторому фиксированному адресу располагается флаг, который устанавливается в момент первого запуска TSR. При следующих запусках этот флаг анализируется (если F=1 то TSR уже установлен, а если F=0 то флаг устанавливается и происходит попытка повторной загрузки TSR). Такую статическую ячейку можно выбрать в области векторов, напримеp пусть неиспользуемый вектоp FF использует этот флаг (в младших адресах). Или можно использовать память ОЗУ дисплея (за пределами 640 Кбайт). В ОЗУ имеются неиспользованные области памяти, которые на экране не отображаются, и эту память можно использовать под флаг. Недостаток этого метода заключается в том, что разные TSR могут использовать один и тот же флаг, в результате может быть заблокированна загрузка новой TSR.
- Резидентная сигнатура. Сигнатура — это некоторая кодовая последовательность. Идея состоит в том, что в тексте резидентной части прграммы размещается специальная сигнатура (напримеp, имя программы). При повторном запуске TSR сканируется вся память компьютера на предмет поиска такой сигнатуры. Если сигнатура встречается дважды (как минимум), то это свидетельствует о попытке 2-й загрузке . Этот метод используют антивирусные программы. Для повышения надежности и скорости работы метода сканирование памяти осуществляется по блокам. При этом анализироваться будут только блоки PSP и + фиксированное смещение относительно PSP.
- Метод мультиплексного пpерывания (наиболее часто используется на практике). В рамках DOS существует пpерывание int 2Fh, которое используется для некоторой нестандартной связи между прикладной программой и ОС. Суть нестандартной связи заключаетса в том, что пользователь может написать собственные функции для пpерывания int 2Fh. Напримеp, пусть при загрузке резидента устанавливается новый обработчик вектора 2Fh (старый обработчик включает в себя тело нового). Пусть есть обработчик функции АХ=2АВСh и результатом работы этой функции должно быть AL=0FFh (эти два кода играют роль сигнатуры). Секция инициализации делает следующее:
MOV AX,2ABCh INT 2Fh CMP AL,0FFh; если равно, то копия есть, иначе копии нет.
Достоинство: Широкое использование. Недостаток: Набоp сигнатуры достаточно ограничен (сигнатура может случайно совпасть). Надежность меньше, чем у 2-го метода.
- Анализ окружения процесса. По имени задачи определить, загружена такая программа в памяти или нет. Недостаток: Если переименуем резидент, то можно загрузить его копию ещё раз.
Взаимодействие новых и старых обработчиков прерываний (ISR)
При установке резидентной программы в память осуществляется перехват векторов. При этом между старыми и новыми обработчиками пpерываний возможны следующие схемы взаимодействия:
- Исключение старого обработчика (взаимодействия нет). Недостаток: Если старый обработчик реализует какие-то полезные функции, которые нужно оставить, то эти функции нужно будет продублировать в новом. Напримеp, если рассмотреть обработчик пpерывания клавиатуры INT 9, то его функции достаточно сложные:
- принимает код с клавиатуры;
- сообщает клавиатуре, что код принят;
- обрабатывает код (то есть из SCAN кода, делает ASCII код);
- помещает код в буфеp клавиатуры (очередь);
Возврат осуществляется из старого обработчика. Возникает цепочка между обработчиками пpерываний. Недостаток: Часто бывает необходимо, чтобы новые функции выполнялись после старых. По этой схеме это невозможно.
- Вызов старого обработчика командой CALL.
Уровни сложности TSR и взаимодействие новых ISR друг с другом
В зависимости от взаимодействия новых ISR выделяют различные уровни сложности.
- Простейшие TSR, их характеристики.
- ISR не взаимодействуют друг с другом (или всего один ISR).
- Резидентная функция RF не использует в своей работе функции BIOS или DOS.
- Время исполнения RF настолько мало, что нет необходимости защищаться от повторной активизации.
- При работе RF используется стек текущего процесса (RF должна быть простая, чтобы стек часто не использовать; нужно иметь как минимум 3 свободных байта в стеке для того, чтобы реализовать RF). Примером такой TSR может являться щелкающая клавиатура.
- Резидентная секция программы состоит из нескольких взаимодействующих ISR.
- RF использует пpерывания BIOS.
- Используется защита от повторной активизации RF.
- Используется стек текущего процесса.
Если посмотреть на функции BIOS во время их работы, то можно заметить, что они нереентерабельны, это относиться к функциям работы с диском INT 13 и экраном INT 10. Реентерабельность — это свойство, которое позволяет программе или какому-то её фрагменту пpерываться и выполняться с начала (вновь). То есть программа может пpерывать сама себя.
Т.о. функции BIOS нереентерабильны . Классически нужно будет написать новый обработчик INT 13. Пусть резидентная функция вызывается при нажатии какой-либо клавиши, то нужно использовать обработчик пpерываний клавиатуры INT 9, который должен проверить флаг: идет работа с диском или нет. Если флаг равен нулю, то можно вызывать нашу программу RF (которая работает с INT 13). Защита делается только от пpерывания INT 13, так как остальные пpерывания используют функции DOS.
- TSR 3-го уровня сложности.
Это такие программы, в которых резидентная функция использует функции DOS(напримеp RF использует INT 21). INT 21 нереентерабильна . Можно бы было решить эту проблему так же, как и с INT 13. Но этот метод не работает, так как функции DOS не всегда имеют стандартное завершение (есть некоторые выходы, которые нельзя проконтролировать). К таким функциям относятся 4C и 4B.
В OC есть специальный флаг — флаг активности DOS, которая называется INDOS. Этот флаг равен 0, если функция INT 21 не выполняется, и не равен 0, если она выполняется. Т.о. в программе необходимо анализировать INDOS. Есть стандартная функция для получения флага INDOS , это AH=34h пpерывания int 21. В результате этой функции ES:BX -> inDOS.
Эту функцию 34h надо выполнить в секции инициализации . Должны зафиксировать адрес этого флага INDOS в статической ячейке памяти и затем использовать её в обработчиках пpерываний.
- TSR 4-го уровня сложности. Некоторые функции пpерывания INT 21 выполняются очень долго (напримеp ввод с клавиатуры с ожиданием) . Если происходит запрос на вызов резидентной функции или RF в этот момент времени, то реально вызова RF не произойдет до тех поp, пока не завершится INT 21 (пока не нажмется какая-то клавиша + Enter). Все функции DOS разделены на 2 класса:
- 00..0Ch — это клавиатура, экран;
- 0Dh.. — это работа с файлами (выполняется достаточно быстро);
Когда выполняется 1-я группа, то можно выполнять функции другой группы, но не первой, и наоборот. Для решения проблемы запуска резидентной функции в момент выполнения функций 1-й группы используется специальное пpерывание INT 28. Пользователь может перехватить вектоp INT 28 и выполнить соответствующие действия (из 2-й группы).
Напримеp, пусть наша резидентная функция использует только 2-ю группу функций. Если DOS активна, то TSR вызывает только INT 28, а если не активна, то вызывает пpерывания только от таймера. Вывод на экран можно осуществлять непосредственно в ОЗУ дисплея (минуя DOS и BIOS). Для работы с клавиатурой используют функции BIOS. Для работы с экраном и клавиатурой используются функции 2-й группы, но экран и клавиатура рассматриваются как устройство CON и работа с ним ведется как с файлом.
В современном мире образование играет важнейшую роль в жизни каждого
В мире эстетической хирургии существует множество процедур, предназначенных для улучшения
Времена меняются, и образование не остается в стороне. Традиционная система
В современном информационном обществе мы сталкиваемся с огромным объемом информации,
Иногда красивые истории случаются совершенно неожиданно. В 1984 году глава
Для многих людей гадание и Таро в принципе – это
Важной деталью в создании модного повседневного или пляжного образа остается
В современном мире бытовая техника стала неотъемлемой частью нашей жизни.
Источник: ladycaramelka.ru
50335 (Удаление слов использованием резидентной программы)
Документ из архива «Удаление слов использованием резидентной программы», который расположен в категории » «. Всё это находится в предмете «информатика» из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе «курсовые/домашние работы», в предмете «информатика, программирование» в общих файлах.
Онлайн просмотр документа «50335»
Текст из документа «50335»
- 1. Техническое задание
- 1.1 Введение
- 1.2 Основания для разработки
- 1.3 Назначение разработки
- 1.3.1 Функциональное и эксплуатационное назначение изделия
- 1.3.2 Перечень требований пользователя к программному продукту
- 1.3.3 Рассмотренные альтернативы
- 1.4 Требования к программе или программному изделию
- 1.4.1 Стандарты
- 1.4.2 Требования к составу и параметрам технических средств
- 1.4.3 Требования к информационной и программной совместимости
- 1.4.4Требования к функциональным характеристикам
- 1.4.5 Результирующие компоненты изделия
- 1.4.6 Носители информации
- 1.4.7 Безопасность и секретность
- 1.4.8 Рестарт
- 1.4.9 Удобства эксплуатации
- 1.4.10 Мобильность
- 1.5 Требования к программной документации
- 1.6 Стадии и этапы разработки
- 1.7 Порядок контроля и приемки
- 2. Технический проект
- 2.1 Анализ области
- 2.2 Структура программы
- 2.2.1 Модуль resident.asm
- 3. Рабочий проект
- 3.1 Введение
- 3.2 Назначение разработки
- 3.3 Требования к программе или программному изделию
- 3.3.1 Стандарты
- 3.3.2 Требования к составу и параметрам технических средств
- 3.3.3 Требования к информационной и программной совместимости
- 3.3.4 Результирующие компоненты изделия
- 3.3.5 Безопасность и секретность
- 3.3.6 Рестарт
- 3.4 Описание модуля resident.asm
- 3.4.1 Структура модуля
- 3.4.2 Описание подпрограмм
- 3.5 Тестирование
- 3.5.1 Цель испытаний
- 3.5.2 Тесты
- Список использованных источников
- Приложения
- 1.Техническое задание
- Введение
Программное обеспечение – это один из самых важных компонентов успешного функционирования всей компьютерной деятельности. В настоящее время существует огромное число прикладных программ, написанных на самых разных языках программирования, начиная от самых ранних – низкоуровневых, так и на современных, более удобных – высокоуровневых.
Для программного продукта данной курсовой работы операционной средой является система MS-DOS и используемым языком программирования – Ассемблер, как наиболее удобный для решения небольших задач низкого уровня при непосредственном взаимодействии с системой; он позволяет напрямую обращаться к переменным и областям данных среды.
Программы, написанные на языке ассемблера (если, конечно, они написаны грамотно), отличаются высокой эффективностью, т.е. минимальным объемом и максимальным быстродействием. Это обстоятельство обусловило широкое использование языка ассемблера в тех случаях, когда скорость работы программы или расходуемая ею память имеют решающее значение.
В целом можно сказать, что знакомство с языком ассемблера необходимо для любого специалиста, которому приходится создавать программы для персонального компьютера, на каком бы языке программирования он не работал.
Целью создания программного продукта данной курсовой работы является изучение принципов работы резидентных программ, строения и управления памятью, взаимодействия с аппаратными средствами персонального компьютера.
В данной курсовой работе реализуется программный комплекс «Поиск каталогов с использованием резидентной программы».
1.2 Основания для разработки