Учебная работа. Курсовая работа: Интерпретатор команд MS DOS
Факультет “Информатика и телекоммуникации”
Кафедра “Информатика и системы управления”
КУРСОВАЯ РАБОТА
по дисциплине: “Системное программное обеспечение”
Тема:
“Интерпретатор установок 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, был не много похож на современные компы – неспешный монитор, работа только с однобокими 160- Кбайтными дискетами и т.д. Но эти способности были выше, чем у конкурирующих индивидуальные компы.
1-ая версия Ms Dos тоже владела еще наиболее умеренными способностями, чем современные ОС. Она обеспечивала работу на компе только 1-го юзера и одной программки (другими словами однопользовательской и однозадачной), поддерживала работу только с дискетами, клавиатурной и алфавитно-цифровым экраном. Зато Ms Dos была малогабаритной, предъявляла достаточно умеренные требования к аппаратуре и делала нужный минимум функций для юзеров и программ.
За те два 10-ка лет, которые прошли с момента возникновения 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. Если этот каталог не задан, то файлы копируются в текущий каталог.
Если во 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,
она вырезает не нужные знаки. И так практически на любом шагу были неувязка. Это мои 1-ые замечания по ошибкам, может быть их прибавится.
2. Программная часть
2.1 Постановка задачки
Перед началом выполнения данной курсовой работы я поставил себе целью изучить принципы работы с файлами в операционной системе DOS, команды, дозволяющие работать с файлами, также функции и системные вызовы языка С++, дозволяющие копирование, удаление, переименование файлов, работа с командной строчкой. В данной работе я постаралась более тщательно изучить операционную систему DOS в программируемой части и отчасти остальных операционных систем, получить практические способности работы с операционной системой DOS. В курсовой работе я буду создавать и обрисовывать программку, которая дозволит работать с файлами, а конкретно, копировать, переименовывать и удалять. Данная программка в предстоящем быть может применена студентами для исследования работы с файлами на лабораторных упражнениях по исследованию теоретического материала и приобретения практических способностей по дисциплине «Системное Программное Обеспечение», также программка быть может применена в работе с операционной системой MS DOS.
2.2 Построение метода решения задачки
метод решения поставленной задачки, выполненный при помощи графического способа изображения алгоритмов – блок-схемой представлен ниже.
метод
программки
Для реализации моей задачки употребляется последующий метод (набросок 1.).
Описание метода:
1. Ввод команды с клавиатуры
2. Индификация вводимой команды
3. Операции над параметрами команды
4. Выполнение команды
Рис. 1. метод программки.
2.3 Описание разработанной программки
Моя программка интерпретирует команды MS DOS
В программке можно воспользоваться 4-мя командами:
1) Exit- программка заканчивается.
2) Copy – копирование файла либо файлов.
3) Ren –переименование файла.
4) Del –Удаление файла.
В программке я использую интегрированные библиотеки С++. Таб. 1
В главном программка работает со строковыми функциями. Эти функции необходимы для обработки строк с клавиатуры, для устранения ошибок С++.
· strtok –для устранения ошибок в строке
· strncat -копирует определённое количество знаков в переменную.
· strstr — для поиска слова в строке.
· strcpy –копирует строчку в переменную.
· strcat –добавляет строчку в переменную.
· Strrev- реверсирует строчку.
· Strlen- описывает количество знаков в строке
· Strlwr-все знаки преобразовывает в строчные.
· Strpbrk- отыскивает определённые знаки.
Практически в хоть какой программке не обойдешься без собственных функций, они упрощают программирование, программка становится наиболее понятна и комфортна в исследовании. В моей программке я использую 6 собственных функций FILCOP, GAD, GIP, DELFILE, RENFILE, COPYES.
· Filcop — функция для копирования файлов.
· Gad – функция для выреза 1-го пути без названии файла из строчки.
· Gip – функция для выреза 1-го названии файла из строчки.
· 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. СПИСОК ЛИТЕРАТУРЫ
1) Герхард Франкен, Сергей Молявко MS DOS для юзера.- Киев, 1993.
2) С. Краковяк Базы организации и функционирования ОС ЭВМ (Электронная вычислительная машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач).- М.: мир, 1998.
3) С. Кейслер Проектирование операционных систем для малых ЭВМ (Электронная вычислительная машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач). — М.: мир, 1996.
4) Э. Немет, Г. Снайдер Unix. Управление системного админа. — Киев.: BHV, 1997.
5) Дегтярев Е.К. Введение в unix.- М.: Память, 1992.
6) Свиридов С.В. Системные вызовы ОС unix.-М.:Память, 1992.
7) Дунаев С. UNIX-сервер. Настройка, конфигурирование, работа в операционной среде, Internet-способности: в 2-х томах.Том 1.-М.:Диалог -МИФИ, 1999.
8) Дунаев С. unix-сервер. Настройка, конфигурирование, работа в операционной среде, Internet-способности: в 2-х томах.Том 2.-М.:Диалог -МИФИ, 1999.
9) Шамер Л., Негус К. unix (серия «Без заморочек»):Пер. с англ. -М.:Двучлен, 1998.
10) Кейлингерт П. Элементы операционных систем. Введение для юзеров. Пер. с англ.-М.:мир,1995.
11) Персон Р. 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); возрашет функции
}
Функция для сотворения полного пути
//ANY———————————————————————-
char *GAD(char *sm, char *namf)
{ char *zzx,kr[254],*newfil; kr[0]=’