Розробка програми захисту файлів від видалення в операційній системі MS-DOS

 

Зміст


1. Вступ

2. Технічні характеристики

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

2.2 Визначення структури вхідних даних

2.3 Визначення структури вихідних данних

2.4 Вимоги до технічних засобів

2.5 Вибір мови програмування

2.6 Опис алгоритму рішення задач

2.7 Виконання програми

3. Висновок

Список використаних джерел

Додатки

1. Вступ


Першою операційною системою є операційна система MS-DOS. Її використання в окремих випадках є необхідним (розробка програм, драйверів, заміна операційної системи), тому вона використовується і в наші дні.

В наш час компютерна техніка проникла майже у всі сфери людською діяльності, і доля цього проникнення дедалі більшає, використовується як в науковій, промисловій, торговій, інформаційній сфері, так і в якості мультимедійного обладнання, тому дедалі актуальнішим стає питання зручності користування цією технікою. Оскільки користувач веде роботу безпосередньо з операційною системою, вона має бути якомога зручнішою.

Засобом програмування для виконання курсового проекту була обрана мова С, тому що вона має ряд переваг. Це мова високого рівня, має великий спектр функцій і операторів, що дає широкий простір для програміста. Окрім того, мова С є мовою системного програмування, наряду із зручністю використання має високу швидкодію.

Темою курсового проекту є створення резидентної програми захисту файлів від видалення в операційній системі MS-DOS, яка може використовуватися особою в випадках захисту файлів від випадкового видалення.

Стандартний набір команд операційної системи МS-DOS не є досить зручним для користувача, тому що не в ньому не передбачені деякі функції, що могли б спростити роботу користувачу. Саме зовнішні команди MS-DOS призначені для спрощення роботи операційною системою. Відомо, що MS-DOS не дозволяє переглядати дерево каталогів, в той час коли ця команда важлива при роботі з каталогами і файлами, дає змогу наочно побачити структуру їх розташування, значно спрощує і пришвидшує роботу користувача за рахунок візуального інтерфейсу.

програма захист файл видалення

Створювана програма дозволятиме користувачу задати з командного рядка початковий шлях і отримати на екрані дерево каталогів, починаючи з цього шляху до каталогів найнижчого рівня.

Така програма знадобиться як рядовим користувачам, так і спеціалістам - низькорівневим програмістам, системним адміністраторам.

2. Технічні характеристики


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


Даний курсовий проект "Резидентна програма захисту файлів від видалення" полягає у написанні резидентної програми, що забороняє видалення файлів в MS-DOS в разі, якщо користувач захоче видалити деякі файли.

Програма повинна виконувати наступні функції:

а) виводити титульну сторінку;

б) виводить підказку для користувача;

в) розраховувати розміри резидентної частини програми в параграфах;

г) при завершенні програми залишитися в оперативній пам`яті резидентною;

д) встановлювати свої оброблювачі переривань 0x21h, 9h, 08h;

в) оброблювати системне переривання клавіатури 0х09h;

ж) оброблювати системне переривання таймеру 0х21h, функцію 41h;

Ця програма повинна працювати на будь-якому компютері, який сумісний з персональним компютером та має операційну систему MS-DOS. Ця програма буде складатися з єдиного програмного модуля.


.2 Визначення структури вхідних даних


Для програми вхідними даними можна вважати комбінацію клавіш, що користувач вводить з клавіатури.

Структура вхідних даних представлена в таблиці 2.1 Ця таблиця містить змінні, що дають змогу ввести та запам'ятовувати відповідну клавішу.


Таблиця 2.1 - Структура вхідних даних

ІдентифікаторТипДіапазон значеньПоясненняkeycodint-32000 32000Змінна яка зберігає код натиснутої клавішіflagInt-32000 32000Змінна яка зберігає тимчасові данніfFile--Змінна для пошуку файлів

2.3 Визначення структури вихідних данних


Для програми вихідними даними можна вважати ту дію коли компютер виводить повідомлення що видалення файлу заборонено, при цьому здійснюється переривання INT 41h.

Структура вхідних даних представлена в таблиці 2.1.


Таблиця 2.2 - Структура вихідних даних

ІдентифікаторТипДіапазон значеньПоясненняffile-Змінна для збереження даних у файл

2.4 Вимоги до технічних засобів


Дана програма розроблена на компютері з такими технічними та програмними характеристиками:

-Процесор Intel Сeleron 2600 ГГц;

-Оперативна память DDRII 633Mh 1 Гбайт;

-Графічний адаптер GeForce 7300 GT 256 Мбайт;

-Монітор LG FLATRON T730BH;

-Операційна система Microsoft Windows XP Professional SP2;

-Мова програмування Borland C;

Створена програма потребує значно меншого апаратного забезпечення. Для нормальної роботи програми потрібні такі технічні на програмні засоби:

Персональний компютер (ПК), сумісний з ІВМ РС\ХТ;

Кількість вільної оперативної памяті не менше 1 Мбайт;

Вмонтований накопичувач на магнітному диску загальним обємом не менше 50 Мбайт;

Монітор кольоровий чи чорно - білий;

Операційна система MS-DOS версією 3 і вище;


.5 Вибір мови програмування


Мова С є універсальною мовою програмування. Вона тісно повязана з операційною системою UNIX (UNIX та її програмне забезпечення написане на С). Сама мова, однак, не звязана з

якою-небудь однією операційною чи системною машинною і хоча її називають мовою системного програмування, тому що вона

зручна для написання операційних систем, він з рівним успіхом використовується при написанні великих обчислювальних програм, програм для обробки текстів і баз даних.

Мова С - це мова відносно "низького рівня", це означає, що С має справу з обєктами того ж виду, що і більшість ЕОМ, а саме, із символами, числами й адресами.

Вони можуть поєднуватися і пересилатися за допомогою звичайних арифметичних і логічних операцій, здійснюваних реальними ЕОМ.

У мові С відсутні операції, що мають справу безпосередньо з складними обєктами, такими як ряди символів, множини, чи списки з масивами, розглянутими як ціле. Тут, наприклад, немає ніякого аналога операціям, що оперують з цілими масивами і рядками. Мова не надає ніяких інших можливостей розподілу памяті, крім статичного визначення і механізму стеків, забезпечуваного локальними перемінних функцій. Для ефективної роботи компілятора досить усього 256 Kб оперативної пам'яті. Нарешті, сам по собі С не забезпечує ніяких можливостей уведення висновку: тут немає операторів уведення/висновку і ніяких убудованих методів доступу до файлів. Усі ці механізми високого рівня повинні забезпечуватися явно викликуваними функціями.

Аналогічно мова С пропонує тільки прості, послідовні конструкції потокові керування: перевірки, цикли, групування і підпрограми, але не мультипрограмування, рівнобіжні операції, чи синхронізацію спів програми.

Хоча відсутність деяких з цих засобів може виглядати як обтяжуюча неповноцінність, але утримання мови в скромних розмірах дає реальні переваги. Тому що С відносно малій, він не вимагає багато місця для свого опису і може бути швидко вивчений.

Спочатку, у тім виді, у якому його створив Деннис Ритчи, мова C містив усього 27 ключових слів. Коли з'явився стандарт ANSI C, було додано кілька нових зарезервованих слів. В Microsoft C набір ключових слів розширена і їхня кількість тепер перевищує 70.

Мова програмування С++ є мовою програмування загального призначення. Природна для нього область застосування - системне програмування, що розуміється в широкому змісті цього слова. Крім того, С++ успішно використовується в багатьох областях діяльності. Реалізація С++ тепер є на всіх машинах, починаючи із самих скромних мікрокомп'ютерів - до самих більших супер-эвм, і практично для всіх операційних систем.

Програми, написані мовою C, відрізняються високою ефективністю. Завдяки невеликому розміру модулів, що виконують, а також тому, що C являє собою мова досить низького рівня, швидкість виконання програм мовою C порівнянна зі швидкістю роботи їх асемблерних аналогів.

Мова C містить всі керуючі конструкції, характерні для сучасних мов програмування, у тому числі інструкції for, if/else, switch/case, while. На момент появи мови це було дуже більшим досягненням. Мова С також дозволяє створювати ізольовані програмні блоки, у межах яких змінні мають власну область видимості. Дозволяється створювати локальні змінні й передавати в підпрограми значення параметрів, а не самі параметри, щоб захистити їх від модифікації.

Мова C підтримує модульне програмування, суть якого складається в можливості роздільної компіляції й компонування різних частин програми. Наприклад, можна виконати компіляцію тільки тієї частини програми, що була змінена в ході останнього сеансу редагування. Це значно прискорює процес розробки великих і середніх проектів, особливо на машинах з обмеженими ресурсами.

Якби мова C не підтримувала модульне програмування, то після внесення невеликих змін у програмний код довелося б компілювати всю програму цілком, що може зайняти занадто багато часу.


.6 Опис алгоритму рішення задач


Програма забороняє видаляти файли в MS - DOS, вона програмується таким чином:

Для розширення набору стандартних функцій підключається наступні бібліотеки: dos. h - бібліотека для роботи з файловою системою MS - DOS, conio. h - бібліотека для створення графічного інтерфейсу

stdio. h - бібліотека для вводу-виводу даних, bios. h - бібліотека для роботи з функціями BIOS;

void interrupt (far *old21) (.); void interrupt (far *old28) (.) - Показник на стару функцію обробки переривань;

void interrupt far new21 (.); void interrupt far new28 (…) - Оголошення новій функції обробки переривань

Описуються змінні f1, f2, flag, qu типу int для запиту та натиснення клавіш F1 в структурі вхідних та вихідних даних;

unsigned size - Розраховується розмір резидентної частини TSR - програми;

size=_DS-_CS +_SP/16+1 - Обчислюємо розмір програми в параграфах;

old21=_dos_getvect (0x21) - Запам'ятовуємо старий вектор переривання 9;

_dos_setvect (0x21,new21) - Вбудовуємо свій обробник переривання 9;

old28=_dos_getvect (0x28) - Запам'ятовуємо старий вектор переривання 28;

_dos_setvect (0x28,new28) - Вбудовуємо свій обробник переривання 28;

clrscr (); textcolor (12); gotoxy (20,6) - Очищуємо екран, задаємо координати та створюємо титульну сторінку;

dos_keep (0,size) - Завершуємо програму і залишаємося в пам'яті;

void interrupt far new28 (…) - Новий обробник переривання 28;

asm cli - Заборона переривань;

_chain_intr (old28) - Передача керування на старий обробник переривання;

void interrupt far new28 (.) - Новий обрабник переривання;

asm cli - заборона переривань;

if (f1==1) - Якщо flag1 встановлений в 1, то виводиться допомога;

clrscr (); cputs ("DOPOMOGA KORISTUVATHU\n") - Очищуємо екран та виводимо допомогу користувачу;

f1=0 - сброс флага;

clrscr (); textcolor (12); gotoxy (20,16); - Очищуємо екран, задаємо координати та виводимо запит користувача;

flag=0 - Скидаємо флаг натиснення F1;

if (qu==2) clrscr () puts ("pitanie mozhno otkluchit") - Якщо встановлено флаг підтвердження запиту виводиться "pitanie mozhno otkluchit";

chain_intr (old28) - старий обробник переривання;


2.7 Виконання програми


Для запуску резидентної програми необхідно набрати її імя в командному рядку або вибрати її та запустити з будь - якого файлового менеджера. Наприклад: А: \VERTIK

Після запуску програми відбувається титульний аркуш на якому показано тему курсового проекту та його розробника.

При спробі видалення файлу програма повинна вивести попередження в якому повідомляється користувача про заборону видалення файлу.

3. Висновок


В процесі написання курсового проекту було створено резидентну програму яка забороняє видалення файлу в операційної системи MS - DOS.

В результаті розробки проекту мною самостійно була вивчена інформація про обробники переривань. Вивчив метод розміру та обчислювання програми в памяті компютера. Мною були вивчені засоби для графічного оформлення програми.

Також був вивчений теоретичний матеріал, що стосується операційної системи MS - DOS, її внутрішньої архітектури й організації.

В результаті цього було розроблено програму, що є досить зручною у користуванні і достатньо інформативною навіть для недосвідченого користувача. Програма досить схожа із стандартними MS - DOS, що полегшує сприйняття при роботі з нею.

Список використаних джерел


1.Александр Фролов, Григорий Фролов Аппаратное обеспечение IBM PC. Том 2. - М.: Диалог-МИФИ, 1992

2.Александр Фролов, Григорий Фролов MS-DOS для программиста. Том 2. - М.: Диалог-МИФИ, 1995

.Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т.1. Часть 1, 2,3. Операционная система MS-DOS. М: ДИАЛОГ-МИФИ, 1993

.Громов Ю.Ю., Татаренко С.И. Программирование на языке СИ: Учебное пособие. - Тамбов, 1995.

.Шаньгин В.Ф., Бєляєва А.Н. Програмування на мові С/С++. - М.: Высшая школа, 1992.

.Фролов А.В., Фролов Г.В. Библиотека системного программиста. Т.2. Аппаратное обеспечение IBM PC. Часть 1,2. - М: ДИАЛОГ-МИФИ, 1992

Додатки


Додаток А


Схема алгоритму програми

Рисунок А.1 - Схема роботи програми

Додаток Б


Лістинг програми

#include<conio. h>

#include<stdio. h>

#include<dos. h>

#include<bios. h>interrupt (far*old21) (.);interrupt (far*old28) (.);interrupt far new21 (.);interrupt far new28 (.);keycode, flag,f;main () {size;=_DS-_CS+_SP/16+1;=_dos_getvect (0x21);

_dos_setvect (0x21, new21);=_dos_getvect (0x28);

_dos_setvect (0x28, new28);();(25,10); printf ("************************************\n");(25,11); printf ("* *\n");(25,12); printf ("* КУРСОВА РОБОТА *\n");(25,13); printf ("* з системного програмування *\n");(25,14); printf ("* тема РЕЗИДЕНТНА ПРОГРАМА ЗАБОРОНИ ВИДАЛЕННЯ ФАЙЛІВ *\n");(25,15); printf ("* СТУДЕНТА 481 ГРУПИ *\n");(25,16); printf ("* КРИЖАНОВСЬКОГО В.В. *\n");(25,17); printf ("* *\n");(25,18); printf ("*************************************\n");(25,29); printf (" ДЛЯ ПРОДОВЖЕННЯ РОБОТИ НАЖМІТЬ ENTER");();=0;

_dos_keep (0, size);

}interrupt far new21 (.)

{(_AH==0x41)

{=1; _AL=0xFF;

}_chain_intr (old21);

}interrupt far new28 (.)

{(flag==1)

{ clrscr ();("ВИДАЛЕННЯ ERROR) \n");=0; }

_chain_intr (old28);

}


Зміст 1. Вступ 2. Технічні характеристики 2.1 Постановка задачі 2.2 Визначення структури вхідних даних 2.3 Визначення структури вихідних данн

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ