Волжский университет имени В.Н.Татищева
Факультет “Информатика и телекоммуникации”
Кафедра “Информатика и системы управления”
КУРСОВАЯ РАБОТА
по дисциплине: “Системное программное обеспечение”
Тема:
“Интерпретатор команд MS DOS”
Тольятти
ВВЕДЕНИЕ
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 ОПЕРАЦИОННАЯ СИСТЕМА MS DOS
1.1.1 Файлы IO.SYS и MSDOS.SYS
1.1.2 Командный процессор DOS
1.1.3. Базовая система ввода-вывода
1.1.4 Загрузчик DOS
1.1.5 Диалог пользователя с DOS
1.1.6 Команды DOS
1.2 НЕДОСТАТКИ ЯЗЫКА ПРОГРАМИРОВАНИЯ С++
2. ПРОГРАММНАЯ ЧАСТЬ
2.1 ПОСТАНОВКА ЗАДАЧИ
2.2 ПОСТРОЕНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ
2.2 АЛГОРИТМ
2.3. ОПИСАНИЕ РАЗРАБОТАННОЙ ПРОГРАММЫ
3. ЗАКЛЮЧЕНИЕ
4. СПИСОК ЛИТЕРАТУРЫ
5. ПРИЛОЖЕНИЕ
MsDos была создана в 1981 г. фирмой Microsoft по заказу IBM для разрабатывающихся тогда компьютеров IBM PC. Компьютер IBM PC, для которого была написана MsDos, был мало похож на современные компьютеры – медленный микропроцессор Intel-8088, 256 Кбайт оперативной памяти, без жёсткого диска, алфавитно-цифровой чёрно-белый монитор, работа лишь с односторонними 160- Кбайтными дискетами и т.д. Однако эти возможности были выше, чем у конкурирующих персональные компьютеры.
Первая версия Ms Dos тоже обладала гораздо более скромными возможностями, чем современные ОС. Она обеспечивала работу на компьютере лишь одного пользователя и одной программы (то есть однопользовательской и однозадачной), поддерживала работу лишь с дискетами, клавиатурной и алфавитно-цифровым дисплеем. Зато Ms Dos была компактной, предъявляла довольно скромные требования к аппаратуре и выполняла необходимый минимум функций для пользователей и программ.
За те два десятка лет, которые прошли с момента появления IBM PC, технические характеристики компьютеров совершили фантастический рывок вперёд. Современные компьютеры превосходят по всем показателям (быстродействию, объему оперативной и дисковой памяти, возможностям монитора и т.д) компьютеры начала 80х годов в сотни и даже тысячи раз. Поэтому фирма Microsoft внесла в MsDos много изменений и добавлений, чтобы расширить её возможности и более эффективно использовать новые, более мощные, компьютеры.
Как наличие автомобилей не отменяет необходимости уметь ходить на своих двоих, так и наличие Windows, Windows 95, Windows NT не ликвидирует (хотя и сильно сокращает) потребности в MS DOS и DOS-программах:
· до сих пор остаётся множество областей деятельности, где DOS-программы успешно работают, а применение решений, требующих иных ОС, невозможно или экономически не целесообразно;
· при повреждении таких ОС, как WINDOWS 3.1, WINDOWS for Workgroup и Windows 95 (что случается весьма часто) для исследования причин неисправности и их устранения обычно приходится использовать MS DOS и DOS-программы.
Операционная система MSDOS в наше время не используется как основная ОС, но без неё не обойдешься. При установке Windows используют команды MSDOS. В курсовой работе я интерпретирую эти команды.
Файлы IO.SYS и MSDOS.SYS, иначе называемые основными системными файлами MS DOS, содержат программы MSDOS, которые постоянно находятся в оперативной памяти компьютера.
Командный процессор DOS Обрабатывает команды, вводимые пользователем. Стандартный командный процессор MS DOS имеет имя COMMAND.COM, обычно он находится в корневом каталоге диска, с которого загружается DOS. Некоторые команды пользователя, TYPE,DIR,COPY, командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных (внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит её, то загружает в память и передаёт ей управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команд.
Базовая система ввода-вывода (BIOS), находящаяся в постоянной памяти (постоянно запоминающем устройстве, ПЗУ) компьютера, формально не является частью MS DOS, однако тесно с ней связана. BIOS содержит программы для проверки оборудования компьютера, инициирования загрузки операционной системы (ОС) и программы для выполнения базовых (низкоуровневых) операций ввода-вывода с монитором, клавиатурой, дисками и принтером.
Ещё одна программа, которую можно считать частью DOS,- это загрузчик DOS. Он находится в первом секторе каждой дискеты и в первом секторе логического диска, с которого происходит загрузка DOS (то есть диска С:). Название этой очень короткой программы- загрузка в память системного файла DOS IO.SYS при начальной загрузке компьютера.
Диалог пользователя с DOS осуществляется в форме команд-строк символов, вводимых с клавиатуры. Каждая команда пользователя означает, что DOS должна выполнить то или иное действие, например, напечатать файл или выдать на экран оглавление каталога.
Команды DOS состоит из имени команды или вызываемой программы и, возможно, параметров, разделённых пробелами. Ввод каждой команды заканчивается нажатием клавиши ENTER.
Любая команда, вводимая пользователем в MS DOS, вызывает выполнение либо внутренней команды (из COMMAND.COM) либо какой-либо программы или командного файла.
Команды DOS состоят из имени команды и, возможно, параметров разделённых пробелами. Имя команды и параметры могут набираться как прописными, так и строчными латинскими буквами. Ниже полностью описаны три команды DEL,REN,COPY, подробная характеристика, примеры правильного написания для работы с ними. Моя программа интерпретирует их с небольшими изменениями.
· Для удаления файлов в DOS имеется команда DEL.Формат команды:
DEL Имя файла
В имени файла можно употреблять символы * и ?.
Примеры:
DEL *.bak–удаление всех файлов с расширением bak из текущего каталога.
DEL my.txt- удаление файла my.txt из текущего каталога.
· Для переименования файлов в DOS имеется команда REN. Формат команды:
REN имя-файла1 имя-файла2
Параметры. Параметр имя-файла1 задает имя переименуемого файла, параметр имя-файла2 –новое имя файла.
Примеры:
REN xxx.doc xxx.txt –переименование файла ххх.doc в текущем каталоге. Новое имя файла xxx.txt.
· Для переименования файлов в DOS имеется команда COPY. Формат команды:
COPY имя-файла1 имя-файла2
В имени файла можно употреблять символы * и ?, а также указывать имя диска и каталога.
Выполнение команд. Если в параметре имя-файла1 указанно имя каталога, то файлы копируются из этого каталога в, иначе – из текущего каталога. Каталог, в котором копируются файлы, можно задать параметром имя-файла2 или указанием каталога в параметре имя-файла2. Если этот каталог не задан, то файлы копируются в текущий каталог.
Если во втором параметре команды задано имя файла, то оно указывает новое имя копируемого файла. Символы * и ? в имени файла во втором параметре команды указывают, что соответствующие символы в именах копируемых файлов при копировании не меняются.
Примеры:
COPY xxx.doc xxx.txt –копирование файла ххх.doc в текущем каталоге; создаётся файл xxx.txt в текущем каталоге.
COPY a:\*.* - копирование всех файлов из корневого каталога диска а: в текущий каталог.
COPY a:\*.* d: -- копирование всех файлов из корневого каталога диска а: в текущий каталог диска D:.
COPY \t\*.doc c:\*.txt - копирование всех файлов с расширением.doc из каталога \t текущего диска в текущий каталог диска с:. Файлы получают расширение txt.
Если файл с таким же именем, как у копии, создаваемой командой COPY, уже существует, то он замещается без каких либо предупреждений.
С++ программно независимый язык. На языке С++ пишутся операционные системы, различные программы и т.д. При написании своей программы я столкнулся с одной проблемой - это работа со строками, чтобы выполнить определённую задачу мне приходилось добавлять в программу ещё несколько или больше функций для устранения ошибок. Например:
for (i=0;i<strlen(lptr);i++){ Разделение сткоки на два параметра
if (lptr[i]==' ')break; Копирование в ff до пробела
ff[i]=lptr[i];}
strncat(fs,ff,i);
В ff копируется посимвольно строка размером i, но при просмотре новой строки оказывалось символов не i, а в несколько раз больше, приходилось использовать strncat, она вырезает не нужные символы. И так почти на каждом шагу были проблема. Это мои первые замечания по ошибкам, возможно их прибавится.
Перед началом выполнения данной курсовой работы я поставил для себя целью изучить принципы работы с файлами в операционной системе DOS, команды, позволяющие работать с файлами, а также функции и системные вызовы языка С++, позволяющие копирование, удаление, переименование файлов, работа с командной строкой. В данной работе я постаралась наиболее подробно изучить операционную систему DOS в программируемой части и частично других операционных систем, получить практические навыки работы с операционной системой DOS. В курсовой работе я буду создавать и описывать программу, которая позволит работать с файлами, а именно, копировать, переименовывать и удалять. Данная программа в дальнейшем может быть использована студентами для изучения работы с файлами на лабораторных занятиях по изучению теоретического материала и приобретения практических навыков по дисциплине «Системное Программное Обеспечение», а также программа может быть использована в работе с операционной системой MS DOS.