Курсовая работа: Програма емуляції роботи командного процесора операційної системи

1.) базова система вводу-виводу (BIOS);

2.) блок початкового завантаження (BOOT RECORD);

3.) модуль обробки переривань (DOS.COM);

4.) утиліти (FORMAT.COM, DISKCOPY.COM);

5.) модуль розширення базової системи вводу-виводу (BIO.COM);

6.) командний процесор (COMMAND.COM).

Командний процесор COMMAND.COM розташовується на системному диску як звичайний файл. При завантаженні на згадку частина зазначеного файлу, називається резидентною (оскільки вона постійно розміщається в ОЗП), розташовується за BIO.COM і DOS.COM, інша частина - транзитна, розташовується, починаючи зі старших адрес пам'яті процесора. Резидентна частина разом із двома файлами (DOS.COM і BIO.COM) становлять ядро ОС, що постійно перебуває в оперативній пам'яті. Основними функціями командного процесора є: прийом і розбір команд, отриманих із клавіатури або з командного файлу; виконання вбудованих команд DOS, що перебувають усередині файлу COMMAND.COM; завантаження й виконання зовнішніх програм DOS і прикладних програм (це файли типу COM і EXE); обробку файлу автозапуску (AUTOEXEC.BAT) при завантаженні системи; стандартну обробку переривань. Комп’ютер, на якому буде працювати командний процесор повинен мати такі параметри: оперативної пам’яті 1Mb або більше; мінімум процесор 286DX/66MHz; ОС MS-DOS не нижче версії 5.0. Ще одним важливим елементом є файлова система жорсткого диску. Так як MS-DOS не працює з файловою системою NTFS, тоді дана програма не зможе працювати з даною файловою системою через іншу будову пам’яті. Тому дана програма буде працювати з файловою системою FAT16 чи FAT32.


2.2 Передача параметрів у мові С++

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

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

Організація передачі параметрів функції через стек і використання його для динамічних локальних змінних – це стандартний прийом в мові С++. Неважливо скільки параметрів має програма на мові С++, «най лівіший» параметр завжди зберігається в стеку за адресою, безпосередньо наступною за збереженою в стеку адресою повернення, наступний параметр, що повертається, зберігається безпосередньо після «най лівішого» параметра і т.д. Оскільки порядок і тип передаючих параметрів відомі, їх завжди можна знайти в стеку.

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

2.3 Системні ресурси та опис принципів роботи

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

конецформыначалоформыКомп’ютер, який необхідний для запуску програми(мінімальна конфігурація):

- процесор 286DX/66MHz або кращий;

- ОС MS-DOS;

- Оперативної пам’яті 1Mb або більше.

Програма повинна містити:

1.Точку входу в програму;

2.Головну суперпетлю (частина інтерактивної програми, яка містить нескінченний цикл чекання дії користувача);

3. Модуль аналізу команди користувача;

4. Модулі, які відповідають командам, реалізованим в даному варіанті.

Крім того, програма обов’язково повинна реагувати на команди exit (або аналогічну), за якою програма повинна коректно завершувати свою роботу, та help (або аналогічну), за якою видається коротка довідка про написану програму. Кожна з команд повинна мати такий параметр (наприклад, “/?”), за яким користувачу повинна надаватись довідка по використанню даної команди.


3. Практична частина

3.1 Розробка алгоритму програми

В даному пункті описується алгоритм по якому буде написана програма емуляції роботи командного процесора ОС. Дані в програму будуть передаватись за допомогою командної стрічки. В тимчасову змінну будуть потрапляти дані введені у командній стрічці. Командна стрічка буде розбиватись на команду і відповідні аргументи, після чого буде проводитись аналіз командної стрічки наступним чином:

Алгоритм основної програми

1. Створюємо масив command_line довжиною 100 символів та встановлюємо command_number=6 – максимальна кількість команд.

К-во Просмотров: 345
Бесплатно скачать Курсовая работа: Програма емуляції роботи командного процесора операційної системи