Курсовая работа по предмету "Программирование, компьютеры и кибернетика, ИТ технологии"


Интерпретатор команд MS DOS



27

Волжский университет имени В.Н.Татищева

Факультет “Информатика и телекоммуникации”

Кафедра “Информатика и системы управления”

КУРСОВАЯ РАБОТА

по дисциплине: “Системное программное обеспечение”

Тема:

“Интерпретатор команд 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. В курсовой работе я интерпретирую эти команды.

1. Теоретическая часть

1.1 Операционная система MS DOS

1.1.1 Файлы IO.SYS и MSDOS.SYS

Файлы IO.SYS и MSDOS.SYS, иначе называемые основными системными файлами MS DOS, содержат программы MSDOS, которые постоянно находятся в оперативной памяти компьютера.

1.1.2 Командный процессор DOS

Командный процессор DOS Обрабатывает команды, вводимые пользователем. Стандартный командный процессор MS DOS имеет имя COMMAND.COM, обычно он находится в корневом каталоге диска, с которого загружается DOS. Некоторые команды пользователя, TYPE,DIR,COPY, командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных (внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит её, то загружает в память и передаёт ей управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команд.

1.1.3 Базовая система ввода-вывода

Базовая система ввода-вывода (BIOS), находящаяся в постоянной памяти (постоянно запоминающем устройстве, ПЗУ) компьютера, формально не является частью MS DOS, однако тесно с ней связана. BIOS содержит программы для проверки оборудования компьютера, инициирования загрузки операционной системы (ОС) и программы для выполнения базовых (низкоуровневых) операций ввода-вывода с монитором, клавиатурой, дисками и принтером.

1.1.4 Загрузчик DOS

Ещё одна программа, которую можно считать частью DOS,- это загрузчик DOS. Он находится в первом секторе каждой дискеты и в первом секторе логического диска, с которого происходит загрузка DOS (то есть диска С:). Название этой очень короткой программы- загрузка в память системного файла DOS IO.SYS при начальной загрузке компьютера.

1.1.5 Диалог пользователя с DOS

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

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

1.1.6 Команды DOS

Любая команда, вводимая пользователем в 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, уже существует, то он замещается без каких либо предупреждений.

1.2 Особенности языка програмирования С++

С++ программно независимый язык. На языке С++ пишутся операционные системы, различные программы и т.д. При написании своей программы я столкнулся с одной проблемой - это работа со строками, чтобы выполнить определённую задачу мне приходилось добавлять в программу ещё несколько или больше функций для устранения ошибок. Например:

for (i=0;i<strlen(lptr);i++){ Разделение сткоки на два параметра

if (lptr[i]== )break; Копирование в ff до пробела

ff[i]=lptr[i];}

strncat(fs,ff,i);

В ff копируется посимвольно строка размером i, но при просмотре новой строки оказывалось символов не i, а в несколько раз больше, приходилось использовать strncat, она вырезает не нужные символы. И так почти на каждом шагу были проблема. Это мои первые замечания по ошибкам, возможно их прибавится.

2. Программная часть

2.1 Постановка задачи

Перед началом выполнения данной курсовой работы я поставил для себя целью изучить принципы работы с файлами в операционной системе DOS, команды, позволяющие работать с файлами, а также функции и системные вызовы языка С++, позволяющие копирование, удаление, переименование файлов, работа с командной строкой. В данной работе я постаралась наиболее подробно изучить операционную систему DOS в программируемой части и частично других операционных систем, получить практические навыки работы с операционной системой DOS. В курсовой работе я буду создавать и описывать программу, которая позволит работать с файлами, а именно, копировать, переименовывать и удалять. Данная программа в дальнейшем может быть использована студентами для изучения работы с файлами на лабораторных занятиях по изучению теоретического материала и приобретения практических навыков по дисциплине «Системное Программное Обеспечение», а также программа может быть использована в работе с операционной системой MS DOS.

2.2 Построение алгоритма решения задачи

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

Алгоритм программы

Для реализации моей задачи используется следующий алгоритм (рисунок 1.).

Описание алгоритма:

Ввод команды с клавиатуры

Индификация вводимой команды

Операции над параметрами команды

Выполнение команды

Рис. 1. Алгоритм программы.

2.3 Описание разработанной программы

Моя программа интерпретирует команды MS DOS

В программе можно пользоваться четырьмя командами:

Exit- программа завершается.

Copy - копирование файла или файлов.

Ren -переименование файла.

Del -Удаление файла.

В программе я использую встроенные библиотеки С++. Таб. 1

В основном программа работает со строковыми функциями. Эти функции нужны для обработки строк с клавиатуры, для устранения ошибок С++.

strtok -для устранения ошибок в строке

strncat -копирует определённое количество символов в переменную.

strstr - для поиска слова в строке.

strcpy -копирует строку в переменную.

strcat -добавляет строку в переменную.

Strrev- реверсирует строку.

Strlen- определяет количество символов в строке

Strlwr-все символы преобразовывает в строчные.

Strpbrk- ищет определённые символы.

Почти в любой программе не обойдешься без собственных функций, они упрощают программирование, программа становится более понятна и удобна в изучении. В моей программе я использую шесть своих функций FILCOP, GAD, GIP, DELFILE, RENFILE, COPYES.

Filcop - функция для копирования файлов.

Gad - функция для выреза одного пути без имени файла из строки.

Gip - функция для выреза одного имени файла из строки.

Delete- функция удаления файлов.

Renfile- функция переименования файлов.

Copyes- функция обрабатывающая строку и вызова функции Filcop. Она разделяет строку на два параметра копирования- какой файл и куда копировать с учётов шаблонов (*?).

После загрузки программы появится меню с приглашением «>>>>». Теперь можно вводить команды. После ввода команды программа определяет её.

Если:

EXIT - программа завершается.

REN -оставляет в введённой строке только два параметра (какой файл, на какой переименовывать) и вызывает функцию Renfile.

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

Del- оставляет в введённой строке только один параметр (какой файл) и вызывает функцию Delete.

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

Название библиотеки

Описание функции

Stdlib.h

Преобразование данных, генерирование случайных чисел, получение и установка переменных среды SHELL

Time.h

Организация имитационного процесса системного времени

Iostream.h

Потоки ввода вывода

Conio.h

Прототип функции задержки

Stdio.h

Обозначение потоковых файлов

Sysstat.h

Системные вызовы для работы с файлами

Systypes.h

Системные вызовы для работы с файлами

Fstream.h

Операции ввода вывода в файлах

String.h

Обработка строк

Fcntl.h

Флаги

Io.h

Организация ввода вывода

Math.h

Использование математических функций

Таблица 1. Библиотеки C++.

3. Заключение

В данной курсовой работе были рассмотрены команды MS DOS, позволяющие копировать, удалять, переименовывать файлы. А также функции и системные вызовы языка С++, позволяющие организовывать копирование, удаление файлов и т.д. Данная работа позволила мне более углубленно изучить работу с строковыми функциями, различные тонкости языка и увидеть недостатки С++. В курсовой работе была создана и описана программа, позволяющая работать с файлами в среде MS DOS. Данная программа может быть использована студентами для изучения работы с файлами в среде MS DOS и частично с UNIX, на лабораторных занятиях по изучению теоретического материала и приобретения практических навыков по дисциплине «Системное Программное Обеспечение».

4. СПИСОК ЛИТЕРАТУРЫ

Герхард Франкен, Сергей Молявко MS DOS для пользователя.- Киев, 1993.

С. Краковяк Основы организации и функционирования ОС ЭВМ.- М.: Мир, 1998.

С. Кейслер Проектирование операционных систем для малых ЭВМ. - М.: Мир, 1996.

Э. Немет, Г. Снайдер Unix. Руководство системного администратора. - Киев.: BHV, 1997.

Дегтярев Е.К. Введение в Unix.- М.: Память, 1992.

Свиридов С.В. Системные вызовы ОС UNIX.-М.:Память, 1992.

Дунаев С. UNIX-сервер. Настройка, конфигурирование, работа в операционной среде, Internet-возможности: в 2-х томах.Том 1.-М.:Диалог -МИФИ, 1999.

Дунаев С. UNIX-сервер. Настройка, конфигурирование, работа в операционной среде, Internet-возможности: в 2-х томах.Том 2.-М.:Диалог -МИФИ, 1999.

Шамер Л., Негус К. UNIX (серия «Без проблем»):Пер. с англ. -М.:Бином, 1998.

Кейлингерт П. Элементы операционных систем. Введение для пользователей. Пер. с англ.-М.:Мир,1995.

Персон Р. Windows 95 в подлиннике. Пер. с англ.-СПБ:BHV-Санкт -Петербург, 1996.

5. Приложение

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <string.h>

#include <ctype.h>

#include <stdlib.h>

#include <dir.h>

//Процедура для копирования файла

//FILCOP----------------------------------------------------------------------

int FILCOP(char *sd,char *sf)

{

FILE *in, *out;

in = fopen(sd, "r"); открывает фаил и копирует в буфер содержимое

out = fopen(sf, "w"); открывает или создаёт фаил

while (!feof(in))

fputc(getc(in), out); заполняет новый фаил

fclose(in); fclose(out); закрывает фаил

return(0); возрашет функции значение 0

}

Функция для создания полного пути

//ANY----------------------------------------------------------------------

char *GAD(char *sm, char *namf)

{ char *zzx,kr[254],*newfil; kr[0]=



Не сдавайте скачаную работу преподавателю!
Данную курсовую работу Вы можете использовать для написания своего курсового проекта.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем курсовую работу самостоятельно:
! Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ.
! Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу.
! Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться.
! План курсовой работы Нумерованным списком описывается порядок и структура будующей работы.
! Введение курсовой работы Что пишется в введении, какой объем вводной части?
! Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать.
! Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа.
! Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема.
! Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом.
! Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ.

Читайте также:
Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия.
Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта.
Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты.
Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести.
Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя.
Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика.

Сейчас смотрят :

Курсовая работа Методика развития координационных способностей у детей младшего школьного возраста
Курсовая работа Убийство матерью новорожденного ребёнка
Курсовая работа Прибыль предприятия: ее формирование, распределение и использование
Курсовая работа Цель и методы рекламы
Курсовая работа Юридическая ответственность: понятие, виды, принципы
Курсовая работа Наследование по закону и по завещанию
Курсовая работа Сюжетно-ролевая игра, как фактор формирования взаимоотношений детей старшего дошкольного возраста со сверстниками
Курсовая работа Ценовая политика предприятия
Курсовая работа Операции коммерческого банка с пластиковыми картами
Курсовая работа Управление закупками в торговой фирме (на примере ООО "Орио")
Курсовая работа Политический лидер в современной России
Курсовая работа Особенностьи проявления самооценки у детей старшего дошкольного возраста
Курсовая работа Виды и составы преступлений
Курсовая работа Организация банкета-чая на 20 человек
Курсовая работа Оценка стоимости предприятия