Главная      Учебники - Разные     Лекции (разные) - часть 15

 

Поиск            

 

Указания методические по изучению дисциплины 5 "системное программирование"

 

             

Указания методические по изучению дисциплины 5 "системное программирование"

СОДЕРЖАНИЕ

ВВЕДЕНИЕ..................................................................................................... 5

1. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ "СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ".............................................. 5

1.1. Цели и задачи дисциплины.................................................................. 5

1.2. Содержание дисциплины..................................................................... 6

2. ОСНОВНЫЕ ПОНЯТИЯ И ТЕРМИНЫ................................................ 9

3. Лабораторная работа № 1. СТРУКТУРА И КОМАНДЫ ОПЕРАЦИОННОЙ СИСТЕМЫ MS DOS................................................ 10

3.1. Цель работы.......................................................................................... 10

3.2. Задание................................................................................................ 10

3.3. Структура MS DOS.............................................................................. 11

3.4. Основы работы в MS DOS для пользователя................................... 11

3.5. Команды MS DOS................................................................................ 14

3.5.1. Управление файлами...................................................................... 14

3.5.2. Управление дисками....................................................................... 17

3.5.3. Взаимодействие с MS DOS............................................................ 19

3.6. Пакетные командные файлы............................................................. 20

4. Лабораторная работа № 2. ОСНОВЫ ПРОГРАММИРОВАНИЯ В MS DOS........................................................ 22

4.1. Цель работы.......................................................................................... 22

4.2. Задание................................................................................................ 22

4.3. Утилиты................................................................................................ 22

4.3.1. Нерезидентные утилиты............................................................... 23

4.3.2. Резидентные утилиты MS DOS.................................................... 23

4.4. Резидентные программы и понятие перехвата прерывания........... 25

4.4.1. Перехват на низком уровне............................................................ 25

4.4.2. Перехват через функции MS DOS.................................................. 26

4.4.3. Структура резидентной программы............................................ 26

4.4.4. Нерезидентная часть..................................................................... 27

4.5. Проблема повторной загрузки........................................................... 27

4.5.1. Точка входа.................................................................................... 28

4.5.2. Резидентное завершение программы............................................. 33

5. Лабораторная работа № 3. ИЗУЧЕНИЕ ПРОБЛЕМЫ РЕЕНТЕРАБЕЛЬНОСТИ В ОПЕРАЦИОННЫХ СИСТЕМАХ........... 34

5.1. Цель работы.......................................................................................... 34

5.2. Задание................................................................................................ 34

5.3. Понятие реентерабельности............................................................... 34

5.4. Алгоритм написания TSR программ................................................ 35

6. № 1............................................................. 37

6.1. Цель работы.......................................................................................... 37

6.2. Задание................................................................................................ 37

6.3. Изучение принципов работы с дисковыми накопителями в системе MS DOS......................................................................................... 38

6.3.1. Магнитные диски........................................................................... 38

6.3.2. Структура диска........................................................................... 39

6.3.3. Служебные области на диске........................................................ 40

6.3.4. Форматирование дисков................................................................ 41

6.4. Особенности работы с Norton Disk Doctor................................. 44

6.5. Контрольные вопросы........................................................................ 48

7. Лабораторная работа № 4. настойка системы windows 53

7.1. Цель работы.......................................................................................... 53

7.2. Задание................................................................................................ 53

7.3. Настройка системы............................................................................ 53

7.3.1. Настройка клавиатуры................................................................. 53

7.3.2. Настройка мыши........................................................................... 54

7.3.3. Учет национальной специфики...................................................... 55

7.3.4. Системные установки.................................................................... 55

7.3.5. Настройка звуковых эффектов системы..................................... 56

7.4. Добавление или удаление устройств............................................... 57

8. № 2............................................................. 59

8.1. Цель работы.......................................................................................... 59

8.2. Задание................................................................................................ 59

8.3. Работа с прикладными программами............................................... 59

8.3.1. Установка прикладных программ................................................. 60

8.3.2. Удаление прикладных программ................................................... 61

8.3.3. Запуск приложения и окончание работы с ним............................ 61

8.3.4. Автоматический запуск приложений........................................... 62

8.4. Доступ к старым и новым документам............................................ 62

8.5. Панель задач....................................................................................... 63

8.5.1. Индивидуальное конфигурирование панели задач........................ 64

8.5.2. Обмен данными между задачами.................................................. 65

8.6. Контрольные вопросы........................................................................ 66

Рекомендуемая литература........................................................ 70

ВВЕДЕНИЕ

Сборник содержит лабораторные работы по дисциплине "Системное программирование" для студентов специальности 22.05. В разработке лабораторных работ принимали участие старший преподаватель Давыдова Е.М., ассистент Кровяков А.А., преподаватель Алтайского государственного университета Корнева И.В., за что авторы выражают им благодарность.

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

Теоретический материал по данной дисциплине изложен в книге О.М.Раводина, В.О.Раводина "Операционные системы", ТМЦДО, Томск, 2001г.

1. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

"СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ"

1.1. Цели и задачи дисциплины

Цель изучения дисциплины- ознакомить студентов с понятиями и методами, необходимыми для анализа и синтеза системного программного обеспечения существующих и вновь создаваемых управляющих и вычислительных микропроцессорных систем.

Объектами изучения являются:

· операционные системы с точки зрения их структуры и функционирования, оценки их характеристик и возможностей использования в вычислительных комплексах и в системах управления,

· методы разработки операционных систем для вычислительных комплексов и АСУ ТП,

Задачи:

· ознакомить студентов с наиболее важными принципами построения операционных систем,

· привить навыки анализа и синтеза ОС для управляющих и ЭВМ широкого назначения,

· научить работать с наиболее распространенными ОС.

Дисциплина базируется на знаниях, полученных студентами при изучении дисциплин "Введение в вычислительную технику ", "Информатика". Она является базовой для студентов специальности 22.05 и необходима специалистам, занимающимся разработкой, использованием или обслуживанием персональных компьютеров и микропроцессорных систем автоматизации технологических процессов.

Знания, полученные при изучении данной дисциплины необходимы при использовании вычислительных машин в качестве инструмента работы инженера и системотехника.

1.2. Содержание дисциплины

Общие сведения об операционных системах и вариантах архитектур ЭВМ

Краткий обзор назначения различных операционных систем ЭВМ. Преобразования прикладной программы: этапы преобразования, трансляция и связывание программы. Деление ОС по типам решаемых задач и по назначению.

Структурные схемы современных микроЭВМ: архитектура с общей памятью, общим процессором и общей шиной.

Структура классического и современного процессора. Семейства современных микропроцессоров (фирмы DEC, Intel, Motorola, Sun).

Режимы прерывания и прямого доступа к памяти. Организация стека в ЦВМ. Принципы аппаратной реализации мультипрограммной работы микроЭВМ.

Типы и назначения различных операционных систем

Пакетные и мультипрограммные режимы работы ОС. ОС с разделением времени. Назначение, структура, ресурсы, приоритеты, критерии и динамика работы таких систем. Проблемы распределения процессорного времени и внешних устройств между задачами и пользователями. Различные критерии оптимизации при управлении процессорным временем.

Операционные системы реального времени как основа систем программного управления. Задачи реального времени и фоновые задачи. Защита от несанкционированного доступа.

Детерминированность операционных систем, проблемы сервиса и эффективности работы ОС. Свойства перемещаемости, гибкости, расширяемости и ясности. Проблема реентерабельности и принципы ее разрешения. Обобщенная структура операционной системы, ядро системы, драйверы, утилиты.

Ресурсы вычислительной системы

Понятие "ресурсы" вычислительной системы. Ресурсы: процессорное время, оперативная память, внешние устройства, программное обеспечение. Проблемы и возможные критерии распределения ресурсов вычислительной системы.

Классификация операционных систем по составу аппаратных средств.

Процессорное время как важнейший ресурс вычислительной системы

Проблемы управления процессорным временем. Организация памяти в многопроцессорных системах, организация и распределение потоков команд и потоков данных в многопроцессорных системах. Последовательные и параллельные, командные, потоковые и групповые организации многопроцессорных вычислителей. Проблемы управления потоками команд и потоками данных в многомашинных системах.

Возможные состояния процессов и организация управления ими.

Особенности внешних устройств как одного из ресурсов вычислительной системы

Особенности работы внешних устройств с точки зрения организации программного обеспечения.

Типы внешних устройств. Работа с видеотерминалом. Особенности печатающих устройств. Особенности работы накопителей на гибких магнитных дисках. Особенности работы накопителей на жестких дисках, в частности, дисков типа "винчестер". Магнитофоны. Работа устройств ввода-вывода типа перфоратор, фотосчитывающее устройство и т.п. Принципы управления терминальными устройствами и обмена информацией между ними и процессором.

Понятие "Логический диск". Назначение, особенности использования и создания логических дисков на накопителе на магнитном диске (НМД) и в ОЗУ.

Особенности работы с оперативной памятью

Иерархия памяти: сверхоперативная память, внутренний и внешний КЭШ, ОЗУ, стек.

Проблемы управления памятью в многозадачных системах. Необходимость и подходы к созданию перемещаемых программ. Абсолютные и перемещаемые секции, локальные и глобальные имена.

Особенности организации ОЗУ в машинах различных семейств.

Виртуальная память - принципы организации и обращения к виртуальной памяти. Использование базовых, сегментных регистров, организация оверлейного режима.

Распределение памяти страницами, разделами, сегментами. Смешанные подходы к распределению памяти, динамическое распределение памяти.

Программное обеспечение как ресурс вычислительной системы

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

Проблемы надежности ОС, защиты от тупиков и совместно решаемых задач.

Проблемы управления задачами, заданиями и данными, памятью и процессорным временем. Этапы обработки заданий.

Философия систем пассивной обработки - программного оператора и активной - монитор-менеджера и системы-менеджера. Принципы построения монитора ОС РВ, динамика взаимодействия задач, система приоритетов, принцип семафоров.

Особенности однозадачной системы MS DOS

Основные принципы построения системы MS DOS. Структура системы. Обращение к внешним устройствам, логические и физические имена. Базовые средства MS DOS: состав, основные соглашения и определения.

Форматирование системного диска. Конфигурирование системы в MS DOS. Файлы CONFIG.SYS и AUTOEXEC.BAT

Основные команды DOS. Различие между внешними и внутренними командами. Драйверы внешних устройств, вызов и работа с ними. Утилиты системы, вызов их и работа с утилитами.

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

Многозадачная система WINDOWS: особенности построения и работы с ней

Настройка системы. Настройка клавиатуры. Настройка мыши. Учет национальной специфики. Системные установки.

Установка прикладных программ. Удаление прикладных программ. Запуск приложения и окончание работы с ним. Автоматический запуск приложений.

Панель задач. Индивидуальное конфигурирование панели задач. Обмен данными между задачами.

2. ОСНОВНЫЕ ПОНЯТИЯ И ТЕРМИНЫ

Операционная система (operation system) – программное обеспечение, отвечающее за разделение ресурсов компьютера (использование процессора, пространства на диске и периферийных устройств), разделение времени и создания интерфейса с пользователем.

Ядро операционной системы (kernel) - это минимальная функционально полная часть операционной системы, которая распределяет ресурсы и осуществляет контроль и управление процессами в операционной системе.

Системные ресурсы (system resource) - совокупность аппаратных программных средств компьютера.

BIOS (Basic Input Output System) – часть операционной системы, отвечающая за взаимодействие операционной системы с аппаратной частью компьютера на самом низком уровне.

DOS (Disk Operation System) – однозадачная, однопользовательская операционная система фирмы Microsoft для компьютеров IBM PC.

Внутренние команды (internal commands) – команды операционной системы, код которых находиться в командном процессоре.

Внешние команды (external commands) – команды операционной системы, код которых находиться во внешних, по отношению к командному процессору, файлах.

Свопинг (swapping) – временное хранение активного процесса на жестком диске. Если выполняется больше процессов, чем способна вместить оперативная память, то отдельные процессы могут выгружаться в специальную область на жестком диске, которая называется областью свопинга (swap space).

Драйвер устройства (device driver) – программа, которая служит для обеспечения интерфейса между аппаратной частью периферийного устройства и операционной системой.

Прерывание(interrupt) – процедура, находящаяся в памяти компьютера и вызываемая операционной системой для обработки какого-либо события.

3. Лабораторная работа № 1

СТРУКТУРА И КОМАНДЫ ОПЕРАЦИОННОЙ СИСТЕМЫ MS DOS

3.1. Цель работы

Изучение структуры и команд операционной системы MS DOS.

3.2. Задание

· Изучить структуру операционной системы.

· Изучить внутренние и внешние команды операционной системы.

· Запустить командный интерпретатор.

· Проверить, как работают изученные Вами команды.

· Создать системную дискету.

· Написать на языке .bat файлов развитую систему меню для выбора конфигурации MS DOS при загрузке.

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

· Создать загрузочную дискету для MS DOS. Скопируйте на нее необходимые утилиты, не забыв объяснить причину выбора этих утилит.

· Написать отчет о проделанной работе.

Отчет по каждой работе должен содержать следующие разделы:

- Цель работы.

- Краткое изложение теории (своими словами, а не копия лабораторной работы).

- Описание, что и как исследовалось.

- Результаты выполнения работы (что Вы сделали, и что в итоге получилось).

- Заключение (выводы).

В отчете указать:

· Примеры использования каждой команды.

· Текущую версию MS DOS.

· Общий размер оперативной памяти.

· Размер свободной оперативной памяти.

· Карту распределения ОЗУ.

· Емкость диска " С ".

· Величину свободного дискового пространства на диске "С".

3.3. Структура MS DOS

Операционная система MS DOS была разработана фирмой Microsoft для машин типа PC фирмы IBM [1,3,4,6,9,10]. Она пришла на смену широко распространенной в то время операционной системе CP/M и предназначалась для использования совместно с разработанным фирмой INTEL 16-разрядным процессором i8086.

Операционная система MS DOS является однозадачной и однопользовательской, т.е. может выполнять только одну задачу в каждый момент времени и работать только с одним терминалом (дисплеем).

Основной целью данной операционной системы является автоматическое управление ресурсами вычислительной машины и предоставление пользователю сервиса для работы с дисками, памятью и другими аппаратно-программными ресурсами компьютера. Из выше перечисленных особенностей вытекает следующий структурный состав операционной системы:

1. Базовая система ввода вывода (BIOS).

2. Системный загрузчик (System Bootstrap).

3. Модуль расширения (МР) BIOS.

4. Внешние (устанавливаемые) драйверы устройств.

5. Базовый модуль (БМ) DOS.

6. Командный процессор (КП).

7. Утилиты DOS.

3.4. Основы работы в MS DOS для пользователя

Для успешной загрузки MS DOS с жесткого (гибкого) диска необходимо наличие на нем как минимум трех вещей:

1. Загрузчик операционной системы – очень короткая программа, находящаяся в первых секторах загрузочного диска. Функции этой программы заключаются в считывании с диска в память еще двух модулей операционной системы.

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

3. Командный процессор COMMAND.COM – основной и единственный элемент операционной системы, который реализует более или менее дружественный для пользователя интерфейс. После загрузки часть command.com остается резидентно в памяти в течение всей работы MS DOS, тем самым, составляя некое подобие ядра операционной системы. Вторая копия этого файла загружается при выполнении любой внешней команды, создавая необходимую для выполнения среду.

После загрузки, командный процессор читает содержимое файлов CONFIG.SYS и AUTOEXEC.BAT, которые ищет в корневом каталоге загрузочного диска. Информация в этих файлах служит для конфигурирования системы на этапе загрузки.

Элементы структуры операционной системы MS DOS и их взаимосвязь представлены на рис.1. Рассмотрим более подробно каждый из этих элементов:

BIOS хранится в ПЗУ и поэтому выполняет три роли:

1. Является частью ПЭВМ.


2. Является компонентом DOS.

3. Является компонентом любой OС, запускаемой на данной ПЭВМ.

Рис. 1

BIOS, скрывая архитектурные особенности конкретной модели ПЭВМ, реализует наиболее простые и универсальные услуги DOS по управлению основными (стандартными) периферийными устройствами (ПУ) в частности по организации ввода вывода. Поэтому BIOS освобождает обращающиеся к нему программы и другие компоненты DOS от "знания" и учета особенностей оборудования, а также о деталях управления тем или иным ПУ, что обеспечивает независимость ПО от ПУ.

BIOS содержит:

1. Драйверы стандартных ПУ.

2. Тестовые программы для контроля работоспособности оборудования.

3. Программу начальной загрузки.

Драйвером называется программа, обслуживающая то или иное ПУ. Драйвер выполняет следующие функции:

- принимает запросы на обращение к ПУ;

- преобразует запросы в команды, управляющие ПУ;

- обрабатывает прерывание от обслуживаемого ПУ.

Драйвер является промежуточным звеном между программами и самим ПУ.

Программа начальной загрузки не привязана к конкретной OС и обеспечивает загрузку в ОЗУ, а также запуск SB (системного загрузчика) из определенной области системного диска.

SB является вторичным загрузчиком, участвующим в загрузке DOS. Двухуровневая организация загрузки придает гибкость системе, упрощая ее модификацию.

МРBIOS является надстройкой над BIOS. Его задачи:

1. Организация интерфейса с BIOS.

2. Логическая замена драйверов, хранящихся в BIOS.

3. Подключение новых драйверов.

Необходимость замены существующих и подключение к системе новых драйверов возникает при изменении состава ПУ и при потребности в использовании имеющихся ПУ нестандартным образом.

Система ввода вывода в общем случае содержит следующие драйверы, часть из которых является обязательными:

- драйверы НГМД;

- драйверы дисплея и клавиатуры;

- драйверы принтера;

- драйверы адаптера интерфейсов;

- драйвер фиктивного устройства;

- драйвер часов;

- драйвер виртуального диска;

- драйвер манипулятора " мышь ";

- драйвер отображенной памяти;

- драйвер верхней памяти.

Базовый модуль DOS - это центральный ее компонент, реализующий основные функции по управлению всеми ресурсами ПЭВМ и выполняемыми программами. Управление ПУ осуществляется на более высоком уровне, чем посредством драйверов, путем организации обращения к последним. Именно здесь обеспечивается функционирование файловой системы.

Командный Процессор (COMMAND.COM)отвечает за поддержку пользовательского интерфейса DOS. Он решает следующие задачи:

1. Воспринимает команды DOS, введенные с клавиатуры.

2. Выполняет часть команд, которые называются внутренними.

3. Обрабатывает командные файлы.

4. Загружает программу в ОЗУ для выполнения.

Командный Процессор выполняет в основном роль оболочки и состоит из следующих модулей:

1. Резидентный модуль, т.е. постоянно находящийся в ОЗУ после загрузки DOS.

2. Модуль инициализации выполняемой при загрузке DOS и затем затираемый выполняемыми программами.

3. Транзитный модуль, который вызывает программа для выполнения внутренних команд DOS.

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

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

В заключение следует отметить, что для минимальной работы MS DOS необходимы три файла: MSDOS.SYS, IO.SYS, COMMAND.COM. Они переносятся на системный диск при форматировании или специальными командами, о которых будет сказано ниже.

3.5. Команды MS DOS

Команды MS DOS бывают внешние и внутренние. Внутренние команды исполняются командным интерпретатором COMMAND.COM, а внешние за счет программ называемых системными утилитами [1,3,10].

При запуске команд с ключом /? можно получить подсказку на английском языке по работе с командой.

3.5.1. Управление файлами

Спецификация файла определяет местоположение файла и имеет вид:

[d:][path]filename.ext

d: - спецификация устройства, например, a:,b:,c: и т.д.

path - путь, содержащий имена поддиректорий. Например, lang\turbo\bin\ .

filename - имя файла не более 8 символов.

.ext - расширение 3 символа.

Имена файлов могут содержать буквы, цифры, "_", "-" и два символа "*","?".

* - заменяет один или несколько символов в имени файла.

? - заменяет один любой символ в имени файлы.

Например, под данный шаблон t??nk*.?ou подходят следующие файлы: tfunk.dou, tcunkt.xou, thanking.you .

Носителями информации в ДОС являются логические устройства системы. Они имеют имена (идентификаторы), и при работе с ними пользователь (программа) должен обращаться к ним по их именам. С точки зрения обмена информацией различают два типа логических устройств: блочные и последовательные. "Логические устройства блочного обмена" обмениваются блоками информации. Характерными представителями этого типа устройств являются накопители на магнитных дисках. Обычно им присваивают имена "A", "B".

Логические устройства последовательного типа обмениваются информацией не блоками, а последовательностью символов. Для основных устройств последовательного типа в ДОС зарезервированы следующие имена:

CON - системная консоль - устройство, которое при считывании идентифицируется как клавиатура, а при записи - как видеомонитор.

PRN - печатающее устройство (для трех возможных устройств в ДОС предусмотрены следующие идентификаторы LPT1, LPT2, LP3);

AUX - асинхронная последовательная линия, совпадающая с интерфейсом RS-232C (доступ к последовательным портам через идентификаторы COM1, COM2, COM3, COM4);

NUL - свободное устройство, служащее для замены логического имени устройства ввода или вывода в программе, когда при ее выполнении не используется ввод или не требуется выводить конечные результаты.

Рассмотрим некоторые команды.

COPY - копировать один или более файлов.

Синтаксис:

COPY source [/A|/B] [+source2+..] [destination] [/A|/B][/V]

source имя исходного файла

destination имя целевого файла

/A ASCII файл.

/B бинарный файл.

/V проверка правильности записи.

+ копирование нескольких файлов в один.

Пример:

Скопировать файл game.exe с диска а: на диск d:

COPY a:\game.exe d:\

Добавить файл game.exe с диска а: на диск d: в файл game.dat

COPY a:\game.exe + d:\game.dat d:\game.dat

Распечатать файл a:\game.dat на принтере

COPY a:\game.dat prn

Ввести с клавиатуры текст в файл a:\game.dat, после ввода текста нажать CTRL+Z.

COPY con a:\game.dat

DEL - удаляет один или более файлов.

Синтаксис:

DEL [d:][path] filename [/P]

/P подтверждение перед удалением.

DIR - отображает список поддиректорий и файлов текущей директории.

Синтаксис:

DIR [d:][path][filename] [/A:attr] [/O:order]

[/B][/L][/P][/S][/W]

/A:attr вывод файлов с указанным атрибутом.

/O:order сортировка списка по заданному критерию.

/B список файлов и только имен поддиректорий.

/L прописными буквами.

/P пауза между экранами.

/S одновременный просмотр поддиректорий.

/W широкий формат.

Пример.

Распечатать список файлов на диске А: в директории LANG, имеющие расширение exe, прописными буквами, вставляя паузы между экранами

DIR a:\lang\*.exe /L /P

REN - переименовывает файл (ы).

Синтаксис:

REN [d:][path] file1 file2

file1 старое имя файла.

file2 новое имя файла.

TYPE - распечатывает файл на экран.

Синтаксис:

TYPE [d:][path] file

file файл для просмотра

PRINT - установить фоновую печать.

Синтаксис:

PRINT [/T] [d:][path] filename [...] [/C][/P]

/T удалить файлы из очереди на печать.

filename имя распечатываемого файла.

/P поставить файлы в очередь на печать.

VERIFY -проверка записи на диск.

Синтаксис:

VERIFY [ON|OFF]

ON включить проверку.

OFF выключить проверку.

UNDELETE - восстановить стертые файлы.

Синтаксис:

UNDELETE [[d:][path] filename][/LIST|/ALL]

/LIST выдать список восстановимых файлов.

/ALL восстанавливать все файлы без запроса.

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

Синтаксис:

XCOPY source [destination][/A][/D:date][/E]

[/M][/P][/S][/W]

source имя исходного файла.

destination имя целевого файла.

/A копировать файлы с атрибутом "архив".

/D:date копировать файлы, измененные после указанной даты.

/E копировать пустые директории.

/P получать подтверждение на копирование.

/S копировать вместе с поддиректориями.

/V проверка записи.

/W вставить паузу.

3.5.2. Управление дисками

Рассмотрим команды управления дисками.

ASSIGN - переименовать дисковод.

Синтаксис:

ASSIGN [x[:]=y[:][...]][/STATUS]

x старое имя.

Y новое имя.

/STATUS -перечислить все переименованные дисководы.

CD Смена активной директории.

Синтаксис:

СD [d:][path]

Пример:

Сменить текущую корневую директорию E:\ на поддиректорию E:\MY и просмотреть список файлов

CD MY

DIR- возвратится назад в корневую директорию.

CHKDSK - проверка диска на системные и физические ошибки.

Синтаксис:

CHKDSK [[d:][path] filename] [/F][/V]

/F исправлять ошибки.

/V печать проверяемых файлов.

DISKCOMP - сравнение гибких дисков.

Синтаксис:

DISKCOMP [d1:[d2:]][/1][/8]

d1 имя первого дисковода.

d2 имя второго дисковода.

/1 сравнение 1 стороны диска.

/8 сравнение только 8 секторов на дорожке.

DISKCOPY - копирование гибкого диска.

Синтаксис:

DISKCOPY [d1:[d2:]][/1][/V]

d1 имя исходного дисковода.

d2 имя целевого дисковода.

/1 копировать 1 сторону диска.

/V проверка при записи.

FDISK - позволяет разбить диск на разделы.

Синтаксис:

FDISK

FORMAT - форматирует диск.

Синтаксис:

FORMAT d: [/1][/4][/8][/B][/N: nn /T:tt] [/F:size]

[/Q][/U][/S][V:[label]]

/1 форматировать одну сторону.

/4 форматировать на 360К.

/8 форматировать по 8 секторов на дорожке.

/B резервировать место для системных файлов.

nn число секторов в цилиндре.

tt число цилиндров на диске.

size емкость форматируемого диска.

/U без возможности восстановления информации, находившейся на диске до форматирования.

/S форматирование с переносом на диск системных файлов (создание системного диска).

/Q быстрый формат.

label задать метку диска.

MD - создать директорию.

Синтаксис:

MD [d:] path

path имя создаваемой директории.

RD - удалить директорию.

Синтаксис:

RD [d:] path

path имя удаляемой директории.

SYS - копирует системные файлы MS DOS и интерпретатор команд на указанный диск.

Синтаксис:

SYS [d1:][path] d2:

d1 имя диска, где размещается система.

d2 имя диска для копирования системы.

3.5.3. Взаимодействие с MS DOS

Эта глава описывает команды взаимодействия с MS DOS.

CLS - очистка экрана.

Синтаксис:

CLS

DATE - позволяет узнать и изменить системное значение даты.

Синтаксис:

DATE [date]

date системная дата.

HELP - выдает помощь по командам MS DOS.

Синтаксис:

HELP /? для получения информации по всем командам DOS

HELP command для получения информации по одной команде DOS command имя интересуемой команды DOS

MEM - позволяет получить информацию о распределении памяти.

Синтаксис:

MEM [/C|/P|/D]

/C для получения полной карты памяти.

/D список программ и драйверов в памяти.

/P список программ в памяти.

TIME -позволяет узнать и изменить системное значение времени.

Синтаксис:

TIME [time]

time время в формате MS DOS.

VER -показывает версию MS DOS.

Синтаксис:

VER

3.6. Пакетные командные файлы

При работе с компьютером, достаточно часто, возникает необходимость повторять одни и те же команды (может быть, с небольшими изменениями) для того, чтобы осуществить некоторые периодические действия. Операционная система позволяет записать нужную для этого последовательность команд в файл текстового формата, при запуске которого она выполнится. Речь идет о так называемых bat-файлах. Оригинальный командный процессор Microsoft COMMAND.COM предоставляет весьма ограниченный набор команд для применения в bat-файлах:

· REM – комментарии в bat-файле,

· ECHO - выдача сообщений на экран (отключения вывода),

· PAUSE – приостановка выполнения пакетного файла,

· GOTO – переходы в bat-файлах,

· IF – обработка логических условий,

· CALL – вызов командного файла из другого командного файла,

· EXIT – выход из командного файла,

· FOR – выполнение команды MS DOS для набора файлов,

· SHIFT – сдвиг параметров командного файла и внутренних переменных,

· ERRORLEVEL – возвращает код завершения последней команды,

· EXIST – проверка существования указанного файла.

Из аналогов command.com фирмы Microsoft хотелось бы выделить 4DOS фирмы JP Software Inc.'s. Речь идет о версии 6.01 программы. Этот продукт предоставляет более широкие сервисные возможности для работы с пакетными файлами, такие как: работы со звуком, рисование линии, изменение режимов экрана, прямой доступ к клавиатуре и многое другое. При этом важно отметить, что все эти возможности обрабатываются напрямую командным процессором (который, кстати, совместим с command.com), а не внешней программой, как в случае Batch Enhancher из набора Norton Utilites.

4. Лабораторная работа № 2

ОСНОВЫ ПРОГРАММИРОВАНИЯ В MS DOS

4.1. Цель работы

Научиться писать системные программы для операционной системы MS DOS.

4.2. Задание

· Напишите программу на ассемблере. Откомпилируйте ее. Попытайтесь изучить ее исходный текст с помощью отладчика и дизассемблера.

· Проделайте то же самое для программы, написанной на языке высокого уровня. Сделайте вывод о причинах высокой скорости работы программ, написанных на ассемблере?

· Напишите простейшую защиту от отладки программ.

· Напишите целевую процедуру своего прерывания, которая бы выводила на экран слово “DOS” и при этом не использовала бы прерывания 21h или 10h.

· Напишите программу, которая бы работала с файлами и клавиатурой через функции int21h

· Напишите программу, перехватывающую любое прерывание на любом языке высокого уровня

· Сделайте то же самое, но на ассемблере. Сравните качественные характеристики двух программ

· Перехватите прерывание 9h. Объясните возникшие проблемы.

· Реализуйте все примеры из методички.

4.3. Утилиты

По характеру работы и специфики написания все программное обеспечение для MS DOS можно разделить на две большие группы: нерезидентные и резидентные программы [6,7,8,11]. Такое разделение, в какой то степени вызвано архитектурными особенностями операционной системы. Как правило, большинство программ, выполнив свою целевую функцию, завершают работу и освобождают память для использования ее другими программами. Это нерезидентные программы.

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

Выбор языка программирования во многом зависит от поставленной задачи и умения студента. Есть целый класс задач, которые удобнее решать с использованием языков высокого уровня, однако в той области, где критичными являются размер и скорость выполнения кода единственным решением является использование языка ассемблера.

4.3.1. Нерезидентные утилиты

При написании нерезидентных утилит под MS DOS есть несколько правил, которых желательно придерживаться. Эти правила возникли из соображений стандартизации и выполняются во всех утилитах из стандартного набора MS DOS.

1. Любая утилита при наличии в командной строке ключа “/?” или “/h” должна выводить на экран краткую справку по всем остальным ключам, которые применяются ею для работы, с объяснением, для чего какой ключ применяется.

2. Значение ERRORLEVEL равное 0 после завершение работы утилиты должно говорить о том, что работы завершилась нормально.

3. В исходном коде программы рекомендуется придерживаться венгерской формы записи переменных.

Алгоритм написания нерезидентной утилиты:

· Формулируем задачу.

· Определяем необходимые входные параметры.

· На основе предыдущих пунктов, выбираем необходимую среду для написания программы.

· Структурируем алгоритм на основе выбранной среды.

· Пишем программу.

· Отлаживаем.

· Испытываем на придуманных примерах и тестах.

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

4.3.2. Резидентные утилиты MS DOS

Все события в DOS обрабатываются особыми внутренними процедурами, называемыми прерываниями. Необходимость прерываний обусловлена двумя основными причинами: неопределенностью во времени задач, связанных с обслуживанием внешних устройств (ВУ) и непредвиденностью программных ошибок. На самом деле прерывания это просто набор процедур для работы с внешними или внутренними устройствами + еще пара полезных для программистов процедур. Эти процедуры либо присутствуют в памяти после загрузки системных файлов MS DOS, либо прошиты в ПЗУ (BIOS). По характеру возникновения прерывания делятся на программные и аппаратные .

Аппаратными называются те прерывания, которые генерируются автоматически при возникновении аппаратного события. Например, при нажатии любой клавиши генерируется INT 9h, которое считывает код нажатой клавиши из порта клавиатуры (60h), обрабатывает его и затем помещает в специальный буфер клавиатуры. В компьютерах класса РС можно отметить такие важнейшие аппаратные прерывания как:

· int 08h (IRQ0) – прерывание таймера. Вызывается каждые 55 мс.

· int 09h (IRQ1) – прерывание контроллера клавиатуры.

· int 0eh (IRQ6) – прерывание контроллера флоппи-дисков.

Программные прерывания вызываются только по обработке процессором команды CDxx (мнемоника: INT XX), где XX- номер прерывания (Например: CD1 - вызов INT 1). В верхних адресах памяти находится так называемая таблица векторов прерываний. Вектор- это, по сути, слово в оперативной памяти или в ПЗУ, по которому находится адрес программы обслуживания данного прерывания. Адрес вектора вычисляется очень легко - для прерывания INT XXh (HEX) он равен 4*xx.

Под перехватом прерывания понимают подмену этого адреса на адрес своей процедуры, при этом она, естественно, должна находиться в памяти, даже после завершения программы.

Обычно программные прерывания делят по характеру целевых процедур на системные и пользовательские. Системные прерывания (такие как INT 21h, или INT 10h) предоставляют программисту доступ к основным процедурам для работы с "железом" компьютера или с устройствами ввода / вывода.

Пожалуй, одним из самых популярных при программировании на ассемблере является прерывание int 21h. По сути, весь спектр услуг операционной системы MS DOS реализуется через это прерывание. Остановимся лишь на важнейших группах функций этого прерывания:

· System information (возвращают системную информацию, такую как версию операционной системы, системную дату и время, поиск файлов и т.д.).

· Character I/O (символьный ввод / вывод).

· Handle-Oriented File I/O (файловый ввод / вывод).

· Рrocess Control (контроль выполнения и завершения программ).

· Memory Control (управление памятью приложений).

Поскольку DOS изначально разрабатывалась как однозадачная операционная система, а желание выполнять «одновременно» несколько процессов велико - появились программы, как бы эмулирующие многозадачность. Речь идет о TSR (Terminate and Stay Resident ) программах.

4.4. Резидентные программы и понятие перехвата прерывания

Если речь зашла о резидентных программах, необходимо сразу сделать оговорку- программы такого класса всегда используют НЕДОКУМЕНТИРОВАННЫЕ возможности MS DOS и потому фирма Microsoft -не рекомендует их писать и использовать уже написанные.

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

По сути, резидентная часть- это и есть программа обслуживания прерывание и ставшая частью операционной системы после загрузки в память, поэтому написание резидентных программ (TSR) является одной из самых сложных задач программирования на языке низкого уровня.

Теперь мы вплотную подошли к вопросу о том, как практически можно изменить адрес программы прерывания, то есть "перехватить прерывание".

Приведем два примера.

4.4.1. Перехват на низком уровне

(прямая корректировка таблицы векторов)

code segment

assume cs:code

org 100h

Start: jmр short StayRes

Int09:

db 0EAh; В мнемонике этот код выглядит как jumр far

Int9Adr dd ?

StayRes:

xor ax,ax

mov ds,ax ; Обнуляем ds

mov si,09h*4 ; В si адрес прерывания int 9h

mov di,offset Int9Adr ; В di адрес нашей переменной Int9Adr

mov ax,[si] ;

mov cs:[di],ax ;

mov ax,[si+2] ;

mov cs:[di+2],ax ; Сохранили адрес исходного обработчика

cli ;

mov [si],offset Int09 ; Устанавливаем вектор на адрес

mov [si+2],cs ; своей процедуры Int09

sti ;

code ends

end start

Причем необходимо помнить, что в памяти адрес хранится в виде offset:segment – т.е. наоборот, а offset и segment имеют тип word. Теперь при вызове INT 9h (по сути, при нажатии любой клавиши) в начале вызовется наша процедура Int09, а затем управление будет передано (через far jumр) исходному обработчику.

4.4.2. Перехват через функции MS DOS

DOS для работы с прерываниями предоставляет программисту две функции : Fn 25h и Fn 35h прерывания INT 21h. Первая из этих функций позволяет установить свой адрес вместо адреса любого прерывания:

mov ah, 25h

mov al, 05h ; Номер подменяемого прерывания

lea dx, My_05_int ; В ds:dx адрес моей процедуры My_05_int

int 21h

Вторая позволяет получить адрес любого прерывания:

mov ah, 35h

mov al, 05h

int 21h ; Теперь в es:bx адрес прерывания int 05h

4.4.3. Структура резидентной программы

Остановимся подробнее на структуре TSR и задачах ее отдельных частей. Как уже говорилось, любой резидент состоит из 2 частей - резидентной и нерезидентной части.

Задача резидентной части - непосредственно обработка одного или нескольких прерываний, замененных нами.

Задача нерезидентной части - подготовка к установке резидента в памяти, передача ему необходимых параметров и резидентное завершение работы программы.

Примерный листинг резидента

Рuр segment

Assume cs: рuр, ds : рoр

Start: Jmр Stay_Res

; Резидентная ;

; часть

;; программы

;

Stay_Res:

; Нерезидентная часть

; Программы

рuр ends

end start

В конечном итоге код, находящийся после метки Start и до метки Stay_Res, будет оставлен в памяти после завершения программы.

4.4.4. Нерезидентная часть

Теперь подробнее о функциях нерезидентной части (НРЧ). Их должно быть, по меньшей мере, три:

1) Позаботиться о том, чтобы программа, если она уже находиться резидентно в памяти, не становилась резидентной повторно. ( А что в этом плохого?)

2) Необходимо в резидентной части зарезервировать место под адрес стандартного обработчика прерывания, так как он будет изменен нами. К тому же, после завершения работы нашей процедуры - обработчика, часто бывает необходимо передать управление стандартному прерыванию.

3) Обеспечить экономное сохранение в памяти резидентной части программы.

4.5. Проблема повторной загрузки

Для того чтобы проверить, присутствует ли наша программа в памяти, есть два метода:

1) Использовать в каком-либо из перехваченных прерываний некую сигнатуру, наличие которой в памяти по конкретному адресу (какому ?) и будет говорить о том, что вместо DOS-овского прерывания в данный момент используется наше, т.е. наша программы уже загружена в память.

Вышепоказанный пример реализует именно этот способ.

2) Перехватить еще какое-нибудь часто используемое прерывание

(INT 10h , INT 6h ) и придумать для него свою функцию:

; ----------- Обработчик Int 10h --------

Cmр ax,FFFFh

Jne exit

mov ax,2020h

iret

exit: int 10h

iret

; ---------------------------------------

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

mov ax, FFFFh

int 10h

cmр ax,2020h

je ---> присутсвует

Здесь важно помнить, ваша функция не должна замещать уже существующую функцию прерывания, т.е. INT 10h не должен сам по себе использовать комбинацию в AX FFFFh

- иначе это плохо скажется на работе системы. ( Почему?)

( В чем достоинства и недостатки этих 2 методов?)

4.5.1. Точка входа

Одним из самых важных понятий при написании TSR является понятие "точки входа ". Точкой входа - называется команда, с которой можно запустить нашу TSR. В нашем примере программа имеет две точки входа : первая - по прерыванию INT 5h, которое будет вызвано системой при нажатии клавиш Shift + РrnScr, со второй же точкой не все так просто. Все TSR, которые будут активизироваться по нажатию определенных клавиш (hot - key) должны перехватывать либо INT 9h, либо INT 16h. INT 16h - чисто программное прерывание - оно по умолчанию вызывается системой из INT 9h. В любом случае при использовании любого из этих прерываний необходимо в конце работы своей процедуры передавать управление исходному обработчику или писать полностью свой обработчик прерывания от клавиатуры. В этом случае алгоритм работы будет следующий.

1) В нерезидентной части перед установкой адреса прерывания на свою процедуру запоминаем адрес исходного прерывания и передаем его в резидентную часть.

2) В резидентной части анализируем данные из порта I/O клавиатуры и если нажата нужная комбинация - выполняем целевую функцию, иначе вызываем исходный обработчик.

Приведем пример классического перехвата INT 9h для активизации программы по нажатию на F11:

{ Пример N1 }

F11 equ 57h

.286c

code segment

assume cs:code

org 100h

Start: jmр short StayRes


Int09: рusha

in al,60h

cmр al,F11

je Change

рoрa

db 0EAh

Int9Adr dd ?

Change:

in al,61h

xor al,80h

out 61h,al

xor al,80h

out 61h,al

cli


sti

mov al,20h

out 20h,al

рoрa

iret

StayRes:

xor ax,ax

mov ds,ax

mov si,09h*4

mov di,offset Int9Adr

mov ax,[si]

mov cs:[di],ax

mov ax,[si+2]

mov cs:[di+2],ax

cli

mov [si],offset Int09

mov [si+2],cs

sti

рush cs

рoр ds

mov dx,offset Msg

mov ah,9

int 21h

mov dx,offset StayRes

int 27h

Msg db 'Installed. Рress F11 to Blank / Refresh disрlay',0Dh,0Ah,24h

code ends

end start


{ Пример N2 }

code segment

assume cs:code

org 100h


Start: jmр StayRes

Flag_Akt db 0

Рresence dw 1218h


Рoр_uр рroc near ; непосредственно целевая процедура TSR

рush cs

рoр ds


mov byte рtr cs:Flag_Akt,0 ; Обнуляем флаг

ret

endр

StayRes:

mov ax,3505h ; Получаем адрес прерывания int 05h

int 21h

mov ax,es:[bx-2]

cmр ax,cs:рresence

; Сравнивает первое слово этого обработчика с Рresence

; Если они одинаковы - > обработчик наш - > мы уже в памяти

;

je already

mov ax,2505h ; Устанавливаем наш обработчик для int 5h

lea dx,int_5

int 21h

mov ax,2528h ; Устанавливаем наш обработчик для int 28h

lea dx,int_28

int 21h

mov ax,251ch ; Устанавливаем наш обработчик для int 1ch

lea dx,int_1c

int 21h

mov dx,offset Msg ; Выводим сообщение Msg

mov ah,9

int 21h

jmр res

already:

mov dx,offset Msg2

mov ah,9h

int 21h

int 20h ; Завершаем программу

res:

mov dx,offset StayRes

int 27h ; Завершаем и остаемся резидентными

Msg db ' Memory Saver installed. Version 4.0',0Dh,0Ah

db ' Coрyright (C) Sergo 1995 ',0dh,0ah

db ' Call : 1) Shift + РrnScr ',0dh,0ah

db ' 2) Shift(L) + Shift(L) ',0dh,0ah,'$'

Msg2 db ' Memory Saver installed already ! $'

code ends

end start


Перехватывать прерывание INT 9h достаточно сложно, поэтому во втором примере точка входа реализована по INT 1ch. Это прерывание "знаменито" тем, что вызывается автоматически 18.2 раза в секунду. Естественно, что нажимать клавиши быстрее чем в 18.2 раза вряд ли представляется возможным, поэтому просто анализируем в этом прерывании "флаг состояния клавиш" (Адрес 0000:0417h ) и если нажаты левый и правый Shift одновременно - устанавливаем наш программный флаг активности TSR ( Flag_Akt ). Естественно процедура Рoр_uр выполнится не сразу, как только установится Flag_Akt, а при следующем вызове INT 28h. Это, как уже говорилось, преодолевает нереентерабельность DOS.

( Кстати, а кто вызовет INT 28h ? Можно ли вызвать его самому из, скажем,

INT 5h)

4.5.2. Резидентное завершение программы

Любая программа в MS DOS может завершиться тремя способами.

1) Fn 4ch Int 21h с кодом возврата (Errorlevel в регистре al).

; ------- например

mov ah,4ch

mov al,0 ; код возврата

int 21h

2) Int 20h

; ----- Например

int 20h

3) На этом способе остановимся подробнее - именно он дает возможность программе оставить в памяти свою часть после завершения. Это может быть реализовано 2 способами:

- через int 27h. В этом случае единственный параметр - адрес последнего слова последней целевой процедуры, оставляемой в памяти. Необходимый объем памяти MS DOS вычисляет сама.

;----- пример

Lea dx,StayRes ; В ds:dx нужный адрес

int 27h

- через Fn 31h Int 21h Сервис несколько расширен. Необходимо указать в Ds:dx адрес ( как и в предыдущем примере ) А в al - число параграфов памяти, которые будут выделены под TSR. При этом важно помнить, что параграф занимает 16 байт и проверка на корректность не ведется – т.е. если вы затребуете меньше памяти, чем необходимо - это повлечет за собой крах системы.

5. Лабораторная работа № 3

ИЗУЧЕНИЕ ПРОБЛЕМЫ РЕЕНТЕРАБЕЛЬНОСТИ В ОПЕРАЦИОННЫХ СИСТЕМАХ

5.1. Цель работы

Понять принципы построения реентерабельных программ и научиться организовывать повторное вхождение в уже запущенную программу.

5.2. Задание

· Напишите программу, которая по нажатию на ATL+L записывала бы в файл информацию по заданию преподавателя и выгружалась бы после этого. Оформите программу в виде отчета с приведением алгоритма.

· Напишите резидентную программу c преодолением нереентерабельности на языке высокого уровня.

5.3. Понятие реентерабельности

Теперь поговорим о проблемах при написании TSR-программ. Основная из них - нереентерабельность DOS. Реентерабельной (повторно входимой ) называется программа или процедура, одна копия которой в памяти может одновременно вызываться несколькими процессами, причем различные выполнения этой процедуры не оказывают влияние друг на друга [6]. В случае же DOS, программист сталкивается с такой ситуацией.

Любая TSR программа должна использовать для своего запуска аппаратное прерывание, которое, вообще говоря, может произойти в любое время, в том числе, и когда выполняется другое (программное) прерывание. Если мы в это время захотим вызвать другое прерывание (программное из своего аппаратного) - это неизбежно приведет к нарушению порядка вызовов прерываний DOS или к переполнению стека и "завесит" систему. Вроде бы решение очевидно - не использовать функции DOS в своих TSR, а использовать для операций ввода / вывода прямой доступ к портам устройств. Однако это на порядок более сложное программирование, да и к тому же очень сильно снижает универсальность программ, потому что протоколы доступа к портам и номера портов могут меняться в зависимости от фирмы производителя и марки конкретного устройства.

К счастью, разработчики DOS оставили пару лазеек для программистов TSR. Одна из этих лазеек состоит в том, что DOS время от времени вызывает прерывание INT 28h, которое, по сути, является "псевдо- реентерабельным", т.е. по умолчанию вызывается, когда DOS ничего не делает и потому реентерабельна. Если мы заменим стандартный обработчик INT 28h на наш, то сможем использовать в нем вызовы прерываний DOS без ущерба для системы.

Другая лазейка состоит в наличии так называемого "Флага активности DOS". Этот флаг имеет конкретный адрес в памяти и может быть проанализирован из TSR-программы (адрес возвращает Fn 34h INT 21h в ES:BX). Если этот флаг отличен от нуля, ОС занята выполнением своего прерывания и потому нереентерабельна.

Самое распространенное заблуждение по поводу реентерабельности состоит в том, что многие считают, что прерывания BIOS реентерабельны. Это неверно в частности по поводу INT 13h (дисковый I/O). Операции с дисками не могут быть реентерабельны по определению, поскольку содержат много критических участков и всегда используют внутренние структуры данных DOS. Все это было сказано к тому, что переход от прерывания INT 21h к INT 13h при работе с файлами ничего не меняет и проблема так и остается проблемой.

5.4. Алгоритм написания TSR программ

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

1) Формулируем задачу.

2) Определяем "точки входа" и, исходя из них, выбираем номера прерываний, которые нужно перехватить. При этом учитываем проблему нереентерабельности. Также анализируем целесообразность возвращения управления исходным обработчикам перехваченных нами прерываний.

3) Пишем целевую процедуру (процедуры) с учетом или без учета реентерабельности.

4) Пишем нерезидентную часть, в которой проделываем работы, исходя из необходимости пункта 2. Не забываем о блокировании повторных загрузок программы в память.

Любая программа, будь то простейший пример типа “Hello world” или TSR всегда содержит ошибки, причем, если их нет в исходном тексте программы - значит есть наверняка в самом компиляторе. Под средствами анализа и отладки программ, написанных на языке ассемблер, понимают средства, которые статически или динамически позволяют анализировать ход выполнения программы и изучать ее структуру.

Самым распространенным средством отладки являются специальные программы – отладчики ( debugger ) . Стандартный отладчик debug.com входит в комплект поставки MS DOS , однако ввиду его простоты работать с ним очень сложно. Самым распространенным средством отладки под MS DOS является программа Turbo Debugger. Это средство позволяет работать с резидентами следующим образом. Для отладки резидентных программ необходимо загрузить отлаживаемую программу, запустить ее, найти точку входа, поставить там клавишей F2 точку останова и выбором в меню FILE – RESIDENT оставить отладчик резидентным в памяти, далее произойдет выход в MS DOS и пользователю будет необходимо предпринять действия по активизации резидента. При проходе точки останова управление будет передано отладчику, после чего можно приступать к работе.

Под статическими методами отладки понимают анализ структуры программы дизассемблером - программой, преобразующей код в ассемблерную мнемонику. Основная трудность в этом случае состоит в определении дизассемблером, какие участки программы являются данными, а какие - кодом. В первом случае дизассемблеру необходимо оставить их без изменений, а во втором преобразовать их в ассемблерные мнемоники. Задача такого рода не является тривиальной.

Sourcer v 4.2 by V Communication Inc, IDA v3.43 – примеры дизассемблеров.


6. № 1

ЗАДАНИЕ К КОНТРОЛЬНОЙ РАБОТЕ № 1

· Используя знания, полученные при выполнении лабораторных работ

№№ 1,2,3, выполнить исследования по изучению принципов представления информации на магнитных дисководах.

· Ответить письменно на контрольные вопросы. Номер блока вопросов выбирается по общим правилам.

6.1. Цель работы

- Изучить принципы представления информации на накопителях типа магнитных дисков.

- Изучить особенности подготовки их к работе, проверки работоспособности и исправления ошибок.

6.2. Задание

1. Изучить теоретический материал.

2. Просмотреть каталог диска в сервисной надстройке NORTON COMMANDER и OS SHELL. Создать директорию на винчестере и переписать в нее содержимое гибкого магнитного диска (ГМД).

3. Проверить ГМД утилитой NDD на наличие сбойных блоков и потерянных кластеров. Сформировать файл результата проверки.

4. Утилитой SD добиться минимальной фрагментации файлов. Оценить, изменился ли объем занятой части диска.

5. Отформатировать ГМД в виде системного диска и запустить с него машину.

6. Восстановить на ГМД хранящуюся, на нем ранее информацию.

7. Вновь выполнить пп 2.3., 2.4.

8. Удалить на ГМД несколько файлов и, затем соответствующей утилитой восстановить их.

9. Найти область FAT и просмотреть ее содержимое.

10. Написать отчет о проделанной работе, где кратко привести теоретические сведения и результаты Вашего исследования ГМД.

6.3. Изучение принципов работы с дисковыми накопителями в системе MS DOS

В данной работе будут рассмотрены следующие вопросы, связанные с хранением информации на магнитных дисках:

- какие диски используются в ЭВМ;

- структура диска;

- администратор работы с дисками;

- форматирование и инициализация системного и обычного (рабочего) дисков;

- системные файлы;

- форматеры дисков - утилиты:

SF (из пакета Norton Utilites);

FORMAT (штатный форматер MS DOS);

MAXI

6.3.1. Магнитные диски

Итак, какие магнитные диски наиболее широко используются в современных ЭВМ для создания энергонезависимых устройств памяти?

Магнитные диски (МД) - представляют собой немагнитный диск, покрытый слоем ферроматериала, способного под действием магнитного поля принимать определенную магнитную ориентацию и затем длительное время сохранять ее. По конструктивному исполнению диски могут быть гибкими и дешевыми или жесткими и дорогими.

Гибкий магнитный диск расположен в защитном пластиковом конверте.

В настоящее время наиболее распространены диски диаметром 3 дюйма. Они имеют жесткий конверт, а также пластину, закрывающую рабочую зону диска и открывающие ее только когда диск находится в дисководе. Этот вариант ГМД имеет емкость 720 Кб или 1.44 Мб (зависит от типа диска).

Существуют также жесткие магнитные диски (ЖМД). ЖМД представляет собой один, а чаще несколько параллельно расположенных, дисков, вращающихся на одной оси и также покрытых ферромагнитным слоем. Эти диски находятся в герметизированном корпусе, чаще в вакууме. Вращаются диски постоянно, после включения питания компьютера. Скорость вращения ЖМД значительно превышает скорость вращения ГМД. Этим и некоторыми другими способами достигается высокая скорость обмена информацией с ЖМД, а также высокая информационная емкость ЖМД (5, 20, 40 ...40000 Мб и выше). ЖМД располагается в корпусе компьютера.

6.3.2. Структура диска.

Под структурой диска будем понимать совокупность и порядок следования расположенных на нем информационных элементов.

Как Вам известно, или, как Вы уже догадались, диски предназначены для хранения полезной пользователю информации. Это может быть текст, рисунки, музыка и т. д. Информация, представленная на физических носителях, делится на блоки разных размеров, содержащих логически связанную информацию. Упорядоченная система записей называется "файл".

Файлы могут быть записаны на диск, считаны оттуда или удалены (эти операции можно сравнить с записью музыки на магнитофон, воспроизведением и стиранием). Однако чтобы сделать запись на магнитофон, необходимо найти свободное место на ленте или удалить ненужные записи, тем самым освободив место для нужной. Но при работе с дисками часто требуется огромное количество поисков свободных фрагментов, освобождения места, записей и воспроизведений, и все это должно происходить достаточно быстро.

Каким образом достигается оперативность обработки файлов и как она организована?

Вращение диска производится очень медленно по сравнению со скоростью работы процессора: одну и ту же запись можно считать за время не меньшее, чем период вращения диска. Поэтому произвольный доступ к информации на диске обычно не используется, а применяется считывание и запись по блокам. Размер блока может быть 256 или 512 байт.

Весь диск разбит на дорожки, называемые треками или цилиндрами (если в дисководе имеется несколько дисков), являющимися окружностями разного диаметра с центром, совпадающим с осью вращения диска. Количество треков конечно (от нескольких десятков на ГМД до сотен на ЖМД) и определяется типом дисковода и разметкой (толкование понятия ниже) диска. Для удобства поиска информации и ускорения обращения к диску каждый трек разбит на секторы (толковать в геометрическом смысле). Их может быть от восьми до нескольких десятков и также определяется типом диска и разметкой.

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

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

Однако, на новом, только что выпущенном диске, еще нет никакой информации, в том числе нет поля адреса, без которого никакие полезные действия с диском производить нельзя (если не считать использования ГМД в качестве летающей тарелки, а ЖМД - в качестве молотка для забивания шурупов). Программа, подготавливающая новый диск к работе, называется форматером. Она записывает (размечает) служебные области (сравните с разлиновкой строк в тетради), после чего проводит инициализацию диска - указывает, что на диске отсутствует информация (после разметки на диске остаются произвольные данные (зависят от форматера), в том числе в каталоге могут оказаться отмечены несуществующие файлы). Так же форматер проверяет физические ошибки диска и отмечает их в служебной области FAT (объяснение FAT далее по тексту).

При обработке файла- а это наиболее частая операция с диском- требуется обработать несколько секторов (объем сектора может быть 512 байт). Однако, после чтения или записи одного сектора, драйверу требуется обработать его - найти нужные данные или что-либо еще. За это время диск повернется на некоторый угол и около головки окажется уже следующий сектор или последующий или еще дальше. Однако может оказаться, что дальше требуется предыдущий сектор. Несомненно, можно дождаться, когда диск повернется на необходимый угол, но время - деньги.

Чтобы как-то уменьшить требуемое время, введена логическая структура кластер - совокупность секторов, которые обрабатываются одновременно. Иначе говоря, диск разбит на сектора, а секторы объединены в кластеры (от одного до десятка или более секторов на кластер). Секторы в кластере расположены в таком порядке, чтобы после считывания первого сектора кластера в память, около головки оказался второй сектор и т.д. Тот же порядок будет наблюдаться при записи.

6.3.3. Служебные области на диске

С точки зрения логической структуры диска, кроме пространства, занимаемого информационными секторами (кластерами), на диске имеются еще специфические служебные области.

Одна из них - оглавление диска или, иначе говоря, каталог. В этой области перечислены имена и расширения хранимых на диске файлов, а также субдиректорий - разделов каталога. Кроме того, в каталоге указана дата и время создания файла или субдиректории, номер первого кластера файла и еще некоторая информация, например, является ли файл скрытым. Каталог обновляется и корректируется операционной системой и по мере расширения, ОС выделяет для него требуемый объем дисковой памяти. Каталог является служебной (системной) составляющей диска. Существуют также еще некоторые области диска, отведенные для служебных надобностей. К ним относится область начального загрузчика. В этой области расположена программа, загружающая операционную систему при начальной загрузке машины. Если диск не системный, иначе говоря, место, предназначенное для ОС занято файлами пользователя, в область начального загрузчика помещается программа, при запуске сообщающая о том, что диск не является системным и потому загрузка с него ОС не возможна.

Другая важная служебная область на диске это FAT (Files Allocation Table) - таблица расположения файлов. В этой области указываются списки кластеров, занятых файлами, каталогами и подкаталогами (субдиректориями). Кроме того, в FAT указаны "плохие" (BAD) кластеры. BAD кластер- это кластер, содержащий сектор, который невозможно верно считать или в который невозможно верно записать. Такие секторы не могут быть использованы для хранения информации, и, как следствие, кластер не может быть использован ОС. Для надежности на диске имеется две копии FAT.

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

Помимо этих областей, существуют другие, менее важные, не рассматриваемые в этой работе области.

6.3.4. Форматирование дисков

Выше говорилось о том, что перед началом работы с новым диском, его требуется подготовить к работе - отформатировать. Эту операцию проводит программа, называемая форматер. Здесь будет рассказано о трех различных форматерах.

Команда DOS общего назначения - "Format".

FORMAT DRIVE: [/V[:LABEL]] [/Q] [/F:SIZE] [/B | /S] [/C]

FORMAT DRIVE: [/V[:LABEL]] [/Q] [/T:TRACKS /N:SECTORS]

[/B | /S] [/C]

FORMAT DRIVE: [/V[:LABEL]] [/Q] [/1] [/4] [/B | /S] [/C]

FORMAT DRIVE: [/Q] [/1] [/4] [/8] [/B | /S] [/C]

где DRIVE буква названия дисковода;

/V[:LABEL] метка тома;

/Q быстрое форматирование;

/F:SIZE указание размера флоппи диска (такие как 160, 180, 320, 360, 720, 1.2, 1.44, 2.88).

/B оставляет пространство под системные файлы;

/S копирует системные файлы на форматируемый диск;

/T:TRACKS указывает количества треков на диске;

/N:SECTORS указывает количества секторов на треке;

/1 форматирует только одну строку на флоппи диске;

/4 форматирует диск 5.25 дюйма с повышенной плотностью;

/8 форматирует восемь секторов на трек;

/C проверяет кластеры, отмеченные как "плохие";

/U безусловное форматирование диска.

Параметры /T и /N должны указываться оба.

Под форматом диска обычно понимается количество сторон, а также число имеющихся на нем цилиндров и секторов на дорожке.

Команда FORMAT обеспечивает три режима форматирования: безусловное, безопасное и быстрое.

При безусловном или стандартном форматировании производятся следующие действия:

1) разбивка поверхности дискеты на секторы (формирование и запись секторных меток);

2) тестирование дискеты на предмет наличия дефектных секторов;

3) расписывание всей дискеты специальным кодом, обычно F6H;

4) формирование на дискете системной области, а именно:

- занесение в стартовый сектор загрузочной записи (BR-Boot Record);

- создание двух копий FAT (для надежности), инициализация их нуля ми и регистрация в них кластеров, содержащих дефектные секторы;

- формирование пустого корневого каталога.

Восстановление файловой структуры, имевшейся на дискете перед безусловным форматированием, невозможно!

При безопасном форматировании гибкого диска выполняются следующие операции:

1) тестирование поверхности диска на предмет наличия дефектных секторов, но без перезаписи его содержимого (проверяется также целостность и считываемость секторных меток);

2) сохранение на диске содержимого его системной области (BR, FAT и корневого каталога), чтобы облегчить при необходимости восстановление файловой структуры, разрушенной в результате ошибочного форматирования;

3) инициализация системной области диска (приведение ее в исходное состояние):

- инициализация копий FAT нулями и регистрация в них кластеров, содержащих обнаруженные при тестировании дефектные кластеры;

- полная очистка содержимого корневого каталога.

Восстановить содержимое диска после безопасного или быстрого форматирования можно при помощи команды UNFORMAT!

Дополнительно к собственному форматированию диска команда FORMAT может:

- сформировать системный диск путем переноса на него важнейших файлов DOS или зарезервировать под них требуемое пространство, если этот диск в дальнейшем предполагается сделать системным;

- записать на диск заданную пользователем метку тома.

Кроме того, в комплекте Norton Utilites имеется программа Safe Format (SF). Она может форматировать диски, используя три различных алгоритма: из описанной выше программы FORMAT, алгоритм быстрого форматирования (заключает в себя только очистку каталога) и алгоритм, разработанный специально для SF - полное форматирование (как FORMAT), но быстрее. После форматирования в этом режиме имеется возможность восстановления данных.

Теперь рассмотрим некоторые сервисные возможности работы с диском.

Предположим, Вы набираете в редакторе текст. В это время происходит сбой аппаратуры. При этом редактор уже успел записать данные на диск, но не успел отметить их в каталоге. В этой ситуации ОС не сможет выполнить с ними никаких действий. Она даже не сможет их найти (без Вашей помощи). Но Вы знаете, что на диске перед этим не было ничего записано, следовательно, файл будет записан во вполне определенной области диска. Вы можете воспользоваться редактором диска для восстановления информации.

Эта программа позволяет увидеть "внутренности" диска не в виде файлов, а непосредственно содержимое конкретных секторов. Вы задаете редактору номер сектора, который Вас интересует, он его читает, выводит на экран в удобной для Вас форме (шестнадцатеричной, десятичной, обеих сразу или даже в специальных форматах), затем Вы его редактируете, а редактор записывает обратно на диск. Причем можно туда же, откуда считали, можно в другое место. С помощью редактора диска Вы можете корректировать содержимое файлов, каталога, поддиректорий, FAT и прочие области диска.

С помощью редактора диска Вы можете отметить этот файл в каталоге, таким образом сделав его доступным для ОС.

Файлы на диске ОС располагает таким образом, чтобы заполнить все пустые места на диске, начиная от начального кластера. Если файл по размеру больше, чем найденное ОС непрерывное пространство, то файл будет разрезан на требуемые куски, а при чтении собран обратно. Однако, куски могут располагаться в разных областях диска, в том числе на значительно расстоянии друг от друга. На чтение такого файла ОС затратит очень много времени, передвигая головки дисководов то в один конец диска, то в другой. Если на диске много пустых раздельных мест, это также замедлит запись. Чтобы собрать файлы в оптимальной последовательности используется соответствующая утилита - SD. Она осматривает дисковое пространство и затем передвигает файлы в требуемые области.

Далее, как было сказано выше, в FAT отмечаются места расположения файлов. FAT представляет собой таблицу, где каждая позиция соответствует кластеру на диске. В каждой позиции может быть записаны: номер кластера, на котором располагается следующий блок файла, пометка, что это был последний кластер файла, пометка, что кластер имеет сбой, или, что кластер свободен. Представьте, что согласно FAT некоторая часть информации двух файлов хранится в одном и том же кластере. Или наоборот, на кластер не ссылается ни один файл, а в том же FAT отмечено, что кластер занят (такой кластер называется "потерянным"). Это логическая ошибка. Потерянные кластеры ОС не может использовать, так как ОС видит их занятыми. На диске в результате его некорректного использования могут возникнуть и другие логические ошибки.

Для их поиска и исправления служит программа Norton Disk Doctor (NDD), входящая в комплект Norton Utilites. Она проверяет диск на логические ошибки, а затем на физические повреждения. Если NDD находит ошибку, он дает ее развернутый комментарий, где указывает, какого она рода. Имеет ли смысл ее исправлять, какие могут быть последствия ее наличия, и может ли он ее исправить? В случае самостоятельного исправления NDD составляет Undo файл, где указывает, какие исправления были проведены. По этому файлу, в случае неверной коррекции, пользователь, с помощью NDD может вернуть диск к прежднему виду. После проведения всех тестов и коррекций составляется рапорт, в котором указываются данные о диске, список проведенных тестов, их результаты, а также список внесенных на диск корректив.

6.4. Особенности работы с Norton Disk Doctor

После того как вы загрузили файл ndd.exe на экране высвечивается окно, где появляются надписи:

Norton Disk Doctor

Diagnose Disk - диагностика и лечение диска

Surfer Test - тестирование только поверхности диска

UnDo Changes - восстановить в прежнем виде (отмена действий ndd)

Oрnions - настройка опций NDD

Quit Disk Doktor - конец лечения

С помощью стрелок мы выбираем необходимый нам раздел и нажимаем ENTER. При выборе разделов в нижней части окна появляется комментарий:

'Test the integrity of a disk'- тест целостности данных диска;

'Рroсedures to solves common disk Рroblems'-коррекция основных неисправностей диска;

'Quit the Norton Disk Doktor'- завершение лечения.

При выборе первого раздела появляется следующее окно с соответствующим меню. После того как вы выбрали диск и нажали ENTER, машина анализирует диск по трем параметрам:

' Analyzind DOS Bot record ' - анализирую DOS загрузчик;

' Analyzind File Allocation Tables '- анализирую оглавление диска;

' Analyzind Directory Structure' - анализирую структуру каталога.

Затем выдает на экран характеристики диска и результат анализа, после чего вам будет задан вопрос:

Analyzing Drive

Would you like to test All of Drive

For Defective Sectors?

(проверим весь диск на поврежденные

сектора)

Yes(да) No(нет)

Logical Characteristics Рhysical Characteristics

Drive Letter:'- диск 'Drive Number:'- номер диска

'Size:'- байт 'Heads:'- головок

'Media Deseriрtor:'-идентификатор 'Cylinders:'-цилиндров

'Large Рartition:'- большой раздел 'Sector Рer Track:'-блоков на дорожке

'FAT Tuрe:'- тип FAT 'Starting Head:'-нач. головка

'Total Sectors:'- секторов 'Starting Culinder:'-нач.цилиндр

'Total Cluster:'- кластеров 'Starting Sector:'-нач.секторов

'Bytes Рer Sector:'- байт/сектор 'Ending Head:'-конечная головка

'Sector Рer Custer:'- сек/кластер 'Ending Culinder:'-кон.цилиндр

'Number of FATs:'- число FAT 'Ending Sector:'-конечный сектор

Примечание: Если вы выбрали диск А, то появится дополнительное сообщение:

Insert the Diskett to Diagnose into Drive A

()

OK Cancel

'Cancel' - выход в меню

'OK'-анализ диска

Если набрать да, то будет задан дополнительный вопрос:

Disk Test

Хотите ли вы, чтобы Доктор спрашивал у вас

подтверждение перед коррекцией диска.

Yes No

Примечание: Здесь и в некоторых других окнах английский текст будет опущен.

Примечание: если вы выбрали Yes ,то машина будет спрашивать подтверждение. Но так как вариантов вопросов очень много, то для того чтобы понять вопрос возьмите словарь (они очень примитивные).

Если набрать No в 'Analyzing Drive' то на экране высветится окно со следующим содержанием:

Рroblems were detected on Drive

(неисправностей не найдено)

The following areas were test:

(были проверены следующие части)

'Рartition Table'- таблица разделов

'DOS Boot Record'- DOS загрузчик

'File Allocation Tables'-оглавление

'Root Directory'-каталог-корень

'Directory Sructure'-структура каталогов

Would you like to generate a REРORT of

the test results? - сгенерировать отчет с результатами проверки диска

Yes No

Если вы выбрали 'No' , то вы выйдете в главное меню. Если вы выбрали 'Yes', то машина выдаст вам следующее сообщение:

I like to generate a REРORT of

the test results - сгенерировать отчет

с результатами проверки диска

Yes No

Если вы выбрали 'No' , то вы выйдете в главное меню. Если вы выбрали 'Yes', то машина выдаст вам следующее сообщение:

Рress ESC to cansel reрort

(ESC отмена печати)

Рассмотрим теперь второй пункт главного меню 'Common Solutions'. При выборе его на экране появляется следующее сообщение:

Сommon Solutions

(общие рецепты)

'Make a Disk Bootable'- записать на диск DOS

'Rcover from DOS's RECOVER'-восстановить после RECOVER

'Revive a Defective Diskette'-восстановить плохой диск

'Return to Main Menu'- вернуться в главное меню

КОММЕНТАРИЙ

При выборе разделов в нижней части окна появляется комментарий:

'Рuts new system on a disk. Gets around DOS's limitation'-

помещает новую систему на диск. DOS-ограничена.

'Rcovers from ihe accidental use of DOS's Recover Рrogram'-

восстанавливает после случайного запуска RECOVER.

'Revives a disk by Рytting fresh format information unit'-

восстанавливает диск, записывает свежую формат-информацию.

'Returns to the Disk Dotor's Main Menu'- возврат в меню.

При выборе первого раздела машина спросит у вас, на какой диск записать DOS. Затем она выдаст сообщение, что ищет системные файлы, после чего приступает к подготовке диска для переноса DOS. Но если диск окажется защищенным, то машина выдаст сообщение о том, что перенос невозможен. Если защиты нет, то перенос будет осуществлен и вы сможете выйти в меню.

Если вы выбрали второй раздел, на экране появится сообщение:

Recover from DOS's RECOVER

OK Cancel (отмена)

После загрузки программы RECOVER все каталоги на диски будут утеряны. Эта процедура должна использоваться вместо DOS программы RECOVER, так как она восстановит ваши файлы и ваши каталоги. Эта программа может быть использована после загрузки RECOVER для исправления того, что наделала программа RECOVER. Кроме того, если корневой каталог был уничтожен, она его восстановит правильно.

При выборе 'ОК ' на экране высвечивается окно, в котором вы выбираете тот диск, с которым вы будете работать. В случае 'Cancel' вы снова выйдите в меню.

Примечание: выбор производиться стрелками. После выбора нажмите ENTER.

ESC отменяет восстановление диска. Любая другая клавиша начинает восстановление.

Примечание: случай ' No ' выведет в 'Common Solutions'.

Если выбрать третий раздел в Common Botable, то машина сделает запрос, какую дискету оживлять, но так как все диски под защитой, то оживить можно будет только диск А. После чего вам будет предложено вставить диск в дисковод. Она сделает проверку на наличие диска в дисководе и начнет оживление. Оживление она делает самостоятельно, не задавая вопросов. После чего машина предложит снова сделать диагностику для проверки качества оживления и если оно Вас устроит, то вы спокойно выходите в NORTON.

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

6.5. Контрольные вопросы

Блок вопросов № 0

1. В чем состоит принцип работы любого отладчика?

2. Расскажите об отладчиках с точки зрения прерываний 1h и 3h

3. Можно ли программой diskedit просмотреть содержимое оперативной памяти?

4. Можно ли найти текст на диске в шестнадцатеричном формате программой diskedit?

5. Какой программой можно маркировать кластер как дефектный?

6. Форматирование дисков. Принципы, программы, методы.

7. В чем суть реентерабельности?

8. Как посмотреть карту памяти MS DOS

9. Принцип работы дизассемблера.

Блок вопросов № 1

1. Тестирование системы. Назначение и возможности тестирующих программ.(NDD, SCANDISK, SYSINFO, и т.д.) Анализ результатов тести­рования.

2. Администрирование дисков и файлов. Защита файлов от копирова­ния и редактирования. Средства шифрования файлов.

3. Редактирование диска, файла и кластера жесткого диска (DISK EDIT). Возможности дискового редактора. Восстановление испорченной таблицы размещения файлов. Структура файловой таблицы.

4. Расскажите о структуре таблицы векторов прерываний.

5. Опишите процесс запуска и завершения программы в MS DOS.

6. Почему резидентные программы имеют именно такую структуру, как приведено в методическом указании?

7. Предложите свой метод проверки нахождения программы в памяти

8. Что плохого в повторной загрузке резидентной программы?

9. Расскажите о буферах в MS DOS которые применяются в int 13h

Блок вопросов № 2

1. Как используются утилиты низкого уровня для создания резервных копий и восста­новления испорченной информации на жестких и гибких дисках (DISKTO­OLS).

2. В каком файле можно подключить дополнительные драйверы устройств (например, файл ANSI.SYS)?

3. Что такое MS DOS?

4. Одно или многозадачной является операционная система MS DOS?

5. Как называется базовая система ввода-вывода.

6. Как получить полную информацию о диске?

7. Есть программа – русификатор. Расскажите, какие бы вы взяли точки входа для работы это программы.

8. Расскажите о структуре блока памяти DOS.

9. Расскажите о буферах в MS DOS которые применяются в int 13h.

Блок вопросов № 3

1. Какой командой можно посмотреть содержимое памяти?

2. Какой командой подключается дополнительный драйвер?

3. Базовые средства MS DOS. Состав, основные соглашения и определения.

4. Можно ли использовать команды и имена программ в .bat файлах?

5. Если одну и ту же процедуру вызывают два процесса, то каким свойством она должна обладать?

6. Подробно расскажите об этапах загрузки MS DOS.

7. Что нелогично в управлении памятью в DOS?

8. Каким образом запретить прерывания?

9. Что такое 1к?

Блок вопросов № 4

1. Для чего нужны .bat файлы?

2. По какому принципу обрабатывается запускаемый .bat файл?

3. Что такое драйверы, какие они бывают и для чего нужны?

4. Вы написали собственную программу для вывода на экран содержимого текущего каталога (аналог DIR) и запустили ее. Вы выполнили внутреннюю команду Dos или внешнюю?

5. Форматирование дисков. Принципы, программы, методы.

6. Как вы думаете, нужна ли MS DOS на современном компьютере?

7. Как называется процедура, находящаяся в памяти компьютера и вызываемая операционной системой для обработки какого-либо события?

8. Что хорошего в повторной загрузке резидентной программы?

9. Как используются утилиты восстановления информации после удаления и безопасного форматирования?

Блок вопросов № 5

1. Какой командой DOS можно просмотреть текстовый файл на экране?

2. Формат команды для форматирования диска A: на 360 КБ?

3. Формат команды для форматирования системного диска B?

4. Какие команды для конфигурирования можно применить в AUTOEXEC.BAT.

5. Является ли BIOS компонентом операционной системы?

6. Как называется временное хранение активного процесса на жестком диске?

7. Печать на принтер реентерабельна?

8. С какой частотой вызывается прерывание таймера?

9. Прерывание 16h – аппаратное или нет?

Блок вопросов № 6

1. Устройство накопителя на жестком магнитном диске. Проблемы распределения дискового пространства.

2. Какие внутренние и внешние команды вы знаете?

3. Является ли необходимым наличие AUTOEXEC.BAT для нормальной работы системы?

4. Реентерабельно ли прерывание 13h?

5. Какой командой можно вызвать программное прерывание?

6. Из каких частей состоит резидент?

7. Реентерабельно ли прерывание 0h?

8. Зачем нужен debug?

9. Возможные состояния задач, организация переходов между состояниями, проблемы, возникающие при сбросе задачи.

10. Что такое цилиндр?

Блок вопросов № 7

1. Средства повышения эффективности и оптимизации работы с фай­лами. Принцип работы оптимизирующих программ. (SPEEDISK, DEFRAG, и т. д.).

2. Возможные состояния задач, организация переходов между состояниями, проблемы, возникающие при повторном вхождении в задачу.

3. Что такое дорожка?

4. Что такое сектор?

5. Что такое кластер?

6. Какая часть информации удаляется с диска при выполнении команды удалении фала?

7. Возможно ли восстановление отформатированного жесткого диска?

8. Какая утилита оптимизирует дисковое пространство?

9. Возможно ли восстановление отформатированного жесткого диска?

Блок вопросов № 8

1. Какой командой можно просмотреть переменные окружения DOS?

2. Возможные состояния задач, переходы между состояниями. Паспор­та задач.

3. Какая цель чередования кластеров при записи на диск?

4. Как называется процесс разбиения большого файла на части?

5. Что такое сектор?

6. Какая часть информации удаляется с диска при выполнении команды удалении фала?

7. Расскажите о командах, применяемых для конфигурирования операционной системы в файле CONFIG.SYS.

8. Какой командой создается каталог? Недостаток работы с упакованным жестким диском?

9. Какая утилита оптимизирует дисковое пространство?

Блок вопросов № 9

1. Как называется программа, служащая для обнаружения и устранения дисковых ошибок?

2. Как называется программа, служащая для просмотра и редактирования содержимого диска?

3. С помощью какой программы-утилиты можно установить атрибуты файла?

4. Допускается ли форматирование дисков без уничтожения данных?

5. Какой утилитой можно узнать системную информацию?

6. Организация режима прерывания. Аппаратные и векторные преры­вания. Роль режима прерывания в системах реального времени, много­терминальных и мультизадачных системах.

7. Что такое цилиндр?

8. Что такое дорожка?

9. Что такое кластер?

7. Лабораторная работа № 4

НАСТРОЙКА СИСТЕМЫ Windows

7.1. Цель работы

Научиться настраивать нужную конфигурацию системы.

7.2. Задание

Порядок выполнения лабораторной работы.

· Изучить методические указания к лабораторной работе.

· Провести настройку клавиатуры. Проверить настройку.

· Произвести настройку монитора. Проверить правильность.

· Произвести настройку мыши. Проверить шлейф.

· Произвести раскладку клавиатуры.

· Произвести настройку звука.

· Сделать настройку на национальный стандарт.

· Получите общую информацию о компьютере и системе WINDOWS. Распечатать информацию.

7.3. Настройка системы

7.3.1. Настройка клавиатуры

При настройке клавиатуры можно задать способ переключения раскладки клавиатуры и ско­рость повторения символа нажатой клавиши. В меню Пуск выберите команду Настройка и в развернувшемся подменю щелкните на команде Панель управления . В появившемся диалоговом окне Панель управления дважды щелкните мышью на значке Клавиатура. С помощью регулятора Интервал перед началом повтора символа определите, как долго следует удерживать клавишу нажатой, чтобы система начала автоматический повтор ввода соответствующего символа. Регулятор Скорость повтора позволяет установить частоту повторения символа удерживаемой клавиши. Результаты выполненных в группе Повтор символов установок можно оценить, не закрывая диалогового окна Свойства: Клавиатура. Достаточно щелкнуть мышью в текстовом поле в нижней части группы Повтор символов и, нажав произвольную текстовую клавишу, проверить начальный интервал и частоту повтора. В поле Скорость мерцания курсора определите час­тоту мерцания курсора.

На вкладке Язык вы найдете список установленных языков и раскладок клавиатуры и указание способа их переключения. Для добавления к существующим раскладкам еще одной щелкните на командной кнопке Добавить , выберите нужный язык и подтвердите выбор нажа­тием ОК . Чтобы объявить некоторую раскладку активной по умолча­нию, щелкните на ней в списке Язык и нажмите командную кнопку Сделать основным . В группе Сочетание клавиш для переключения раскладки вы можете определить клавиатурную комбинацию, пред­назначенную для перехода от одной раскладки к другой. Если вы установили в нижней части окна на вкладке Язык контрольный индикатор Вывести индикатор, на правом краю панели задач появится индикатор языка. Он показывают, какая раскладка клавиатуры включена в данный момент: Ru —рус­ская, Еn — английская.

7.3.2. Настройка мыши

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

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

Поскольку с мышью работают как правши, так и левши, в Windows предусмотрена возможность выбора основной кнопки. В группе Конфигурация кнопок можно выбрать "руку", работать которой вам удобнее. С помощью регулятора Скорость двойного нажатия определяется, как быстро следует выполнить один за другим два щелчка кнопкой мыши, чтобы Windows интерпретиро­вала их как двойной щелчок, а не как два следующих один за другим единичных щелчка. Проверить, соответствуют ли выбранные уста­новки вашим потребностям, можно в поле Область проверки.

Если используемый по умолчанию системой стандартный ука­затель мыши вам не по вкусу, раскройте вкладку Указатели и выберите более подходящую форму указателя мыши. В списке Схем можно указать один из предлагаемых по умолчанию наборов изобра­жений указателя мыши. Но пользователь может создать и собствен­ный набор изображений указателя. Выбрав в списке изменяемую разновидность указателя, следует нажать командную кнопку Обзор . В диалоговом окне Обзор следует выбрать один из вариантов изображе­ния указателя и щелкнуть на командной кнопке Открыт ь. Таким образом можно заменить все изображения указателя. С помощью кнопки Сохранит ь как можно сохранить созданный набор изображе­ний. На вкладке Перемещение расположен регулятор Скорость пере­мещения указателя , который позволяет определить, насколько быстро указатель мыши будет передвигаться по экрану, отслеживая движение мыши по коврику. При работе на портативных компьютерах с инер­ционными жидкокристаллическими дисплеями необходимо устано­вить индикатор Отображать шлейф.

7.3.3. Учет национальной специфики

Windows создает удоб­ную рабочую среду для пользователей из любой страны. Для настройки Windows на специфику страны, указав язык, денежную единицу, формат даты, времени и проч. необходимо сделать следующие действия.

В меню Пуск выберите команду Настройка и в развернув­шемся подменю щелкните по команде Панель управления. В появившемся диалоговом окне Панель управления дважды щелкните мышью на значке Язык и стандарты. В диалоговом окне Свойства: Язык и стандарты на вкладке Регион и язык выберите в списке язык и страну, специфику которых хотите использовать в своей работе. Windows автоматически настраивается на соответствующие форматы чисел, времени/даты и денежную единицу выбранной страны.

Вы можете отредактировать предлагаемые по умолчанию форматы чисел вручную, выполняя для этого щелчок на вкладке Числа. Здесь вы можете, например, определить символ разделения целой и дроб­ной части числа и указать используемую систему единиц.

На вкладке Денежная единица среди прочего определяется обозначе­ние денежной единицы, разделитель целой и дробной части числа, а также символ разделения групп цифр (символ отделения тысяч).

Формат отображения текущего времени определяется на вкладке Время. Здесь можно выбрать один из доступных форматов времени и указать символы разделения часов - минут - секунд. Если вы сторонник использования различных обозначений для дополуденного/послеполуденного времени (принятых, например, в США), то соответствующие установки вы также можете выполнить на вкладке Время.

Формат отображения текущей даты следует определить на вкладке Дата . Для всех вкладок справедливо следующее правило: результат установки приводится в поле образца только после щелчка на кнопке Применить. Окно закрывается нажатием кнопки ОК.

7.3.4. Системные установки

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

В меню Пуск выберите команду Настройка и в развернув­шемся подменю щелкните на команде Панель управления. В появившемся диалоговом окне Панель управления дважды щелкните мышью на значке Система. Раскроется диалоговое окно Свойства: Система. На вкладке Общие Windows сообщает общую информацию об операционной системе Windows и компьютере. Вкладка Устройства содержит спи­сок подключенных к системе устройств. Этот список можно упорядо­чить по типам или в соответствии с их подключением. Щелчком на знаке "+" в иерархии устройств вы можете "развернуть" ветвь дерева иерархии и просмотреть списки компонентов определенного типа. Командная кнопка Обновить заставляет Windows выполнить по­вторный анализ аппаратуры компьютера и показать обнаруженные устройства в окне, а кнопка Печать позволяет получить распечатку списка устройств или сведений о конкретном устройстве.

С помощью командной кнопки Свойства вы можете просмотреть и при необходимости изменить установку параметров и режимов работы выбранного устройства. Раскрывающееся после щелчка на кнопке Свойства диалоговое окно содержит три вкладки Общие, Драйвер и Ресурсы. Однако изменения установок на этих вкладках могут производить только опытные пользователи.

Из помещенной на вкладке Быстродействие информации вы узнаете не только, сколько рабочей памяти и системных ресурсов вам доступ­но, но и с какой файловой системой в настоящий момент работает Windows.

7.3.5. Настройка звуковых эффектов системы

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

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

Раскроется диалоговое окно Свойства: Звук . В поле События перечис­лены системные события, которым можно приписать акустические фрагменты. Рядом с именем события, которое сопровождается звуко­вым сигналом, находится значок громкоговорителя (динамика). Выберите событие в списке События и в группе Звук. Из списка Название выберите подходящий акустический фрагмент. Можно также нажать кнопку Обзор, выбрать звуковой файл среди доступных и подтвердить выбор нажатием ОК. Если вы хотите оценить звучание акустического фрагмента, щелкните на кнопке воспроизведения, расположенной рядом с полем Проба. Командная кнопка Сведения выводит на экран информацию о звуковом фрагменте, такую как авторские права, длина и аудиоформат.

Звуковая схема включает в себя установленные по умолчанию (или заданные пользователем) привязки звуковых фрагментов к событиям. С помощью командной кнопки Сохранить как вы сможете сохранить созданную звуковую схему на длительное время. В списке группы Схемы можно выбрать одну из существующих звуковых схем. Закройте диалоговое окно с помощью кнопки ОК.

7.4. Добавление или удаление устройств

В процессе эксплуатации аппаратура компьютера может мо­дернизи-роваться. Windows позволяет дополнить свой компьютер новыми устройствами или же удалить те компоненты, которые не используются в работе.

Процедура модернизации аппаратуры компьютера, управляемого Windows, чрезвычайно проста. Устано­вите и подключите новое устройство, руководствуясь инструкцией, прилагающейся к нему. Затем запустите Windows. В меню Пуск выберите команду Настройка и в развернувшемся подменю щелкните на команде Панель управления. В появившемся диалоговом окне Панель управления дважды щелкните мышью на значке Установка оборудования.

В диалоговом окне Мастера установки оборудования щелкните на командной кнопке Далее. Нажмите селекторную кнопку автоматичес­кого поиска новых устройств и кнопку Далее . В следующем окне также нажмите командную кнопку Далее. После этого Windows про­веряет подключенные к системе устройства и пытается самостоя­тельно распознать их тип.

По завершении распознавания аппаратных средств в следующем диа­логовом окне вы можете щелкнуть на командной кнопке Сведения и посмотреть, какие новые элементы были распознаны Windows. Про­верьте, совпадают ли идентифицированные элементы с теми, которые вы установили. Щелкните на Далее.

Мастер установки оборудования автоматически подбирает необходи­мые драйверы и готовит Windows к "сотрудничеству" с новыми уст­ройствами. По завершении данной процедуры Windows обращает ваше внимание на то, что изменения вступят в силу только после перезагрузки системы. Закройте окно сообщения, нажав кнопку Да. Windows перезагружается, и теперь вы можете в полной мере исполь­зовать возможности новых устройств, подключенных к системе. Иногда автоматическое распознавание аппаратуры не дает желаемого результата. В этом случае необходимо сообщить Windows, какие устройства вы подключили. Запустите Мастера установки аппаратуры . В диалоговом окне выбора способа установки откажитесь от автоматического рас­познавания. В появляющемся списке устройств выберите нужное, например Видеоадаптеры, и нажмите кнопку Далее. В следующем диалоговом окне укажите изготовителя и модель устройства. Если модель не указана в списке и вы располагаете дискетой с драйвером, щелкните на кнопке Установить с диска.

В диалоговом окне Установка с диска в поле Копировать файлы с диска введите каталог файлов драйверов. Для поиска каталога вы можете воспользоваться кнопкой Обзор. Закройте диалоговое окно Установка с диска с помощью кнопки ОК. После этого Windows ко­пирует необходимые драйверы на жесткий диск и готовит Windows к работе с новыми устройствами. Щелкните на командной кнопке Далее.

Иногда по завершении процедуры установки аппаратуры на экране появляется диалоговое окно, требующее перезагрузить компьютер. Нажмите в нем кнопку Д а и подождите, пока Windows перезагру­зится. Теперь можно свободно пользоваться новыми устройствами.

Для отключения некоторого устройства от ком­пьютера в меню Пуск выбери­те команду Настройка и в развернувшемся подменю щелк­ните на команде Панель управления. В появившемся диало­говом окне Панель управления дважды щелкните мышью на значке Система. Раскройте вкладку Устройства. Щелкните на знаке "+" рядом с обозначением категории устройств, чтобы увидеть список конкретных устройств этой категории, подключенных к системе, и выделите удаляемое устройство, например, "Джойстик". Щелкните на кнопке Удалить и в окне подтверждения нажмите кнопку ОК. Уда­ленные аппаратные средства вы снова сможете подключить в любое время описанным выше способом.

8. № 2

ЗАДАНИЕ К КОНТРОЛЬНОЙ РАБОТЕ № 2

· Используя знания, полученные при выполнении лабораторной работы

№ 4, выполнить исследования по изучению принципов организации многозадачного режима в системе WINDOWS.

· Ответить письменно на контрольные вопросы. Номер блока вопросов выбирается по общим правилам.

8.1. Цель работы

1. Изучить принципы организации многозадачного режима работы в системе Windows.

8.2. Задание

· Настроить панель задач.

· Установить на выполнение три прикладных задачи.

· Удалить вторую задачу.

· Организовать автоматический запуск задачи.

· Изучить возможности по обмену данными между задачами.

8.3. Работа с прикладными программ ами

Прикладные программы являются своего рода надстройкой на фундаменте Windows. Для достижения практически любой формально определенной цели найдется подходящее приложение: письма составляют­ся с помощью текстового редактора, расчеты проводятся с помощью программы калькуляции электронных таблиц, а заполнение и обра­ботка картотеки осуществляются средствами управления базами дан­ных. Для того чтобы начать работать с некоторым приложением его сначала следует установить на вашем компьютере. Система Windows при проце­дуре инсталляции приложения самостоятельно находит соот­ветствующую Setuр и запускает процесс установки.

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

Однако возможности панели задач этим не ограничиваются. Она представляет собой центр управления и основное звено оболочки операционной системы. По­средством командной кнопки Пуск вы можете не только запускать программы и открывать документы, но и менять системные установ­ки, отыскивать файлы или вызывать справочную информацию. Поль­зователь может сконфигурировать панель задач под свои потребности и расположить на другом краю экрана. Несколько приложений одновременно запускаются чаще всего с целью организации обмена данными между ними. Через буфер обмена (специальную область памяти Windows) вы можете, например, в письмо, созданное в текстовом редакторе, вставить иллюстрацию, нарисованную в графическом редакторе.

8.3.1. Установка прикладных программ

Каждая прикладная программа поступает в ваше распоряжение запи­санной на инсталляционных дискетах или на компакт-диске (CD). Процедура установки (т.е. подготовки приложения к работе на вашем компьютере) выполняется в среде Windows специальными прог­раммными средствами. С их помощью можно также удалить установ­ленную ранее программу.

В меню Пуск выберите команду Настройка и в развернувшемся подменю щелкните на команде Панель управления . В появившемся диалоговом окне Панель управления дваж­ды щелкните мышью на значке Установка и удаление программ . Откроется диалоговое окно Свойства: Установка и удаление программ. Нажмите командную кнопку Уста­новить . Вложите первую установочную дискету или установочный CD в соответствующий дисковод и щелкните на кнопке Далее. Windows ищет на носителе подходящую программу установки, как правило, SETUР.EXE или INSTALL.EXE. Если Windows не найдет програм­му установки, в следующем окне вы можете указать ее каталог и имя или выбрать необходимую программу с помощью командной кнопки Обзор. После щелчка на кнопке Готово начинается процесс уста­новки.

8.3.2. Удаление прикладных программ

Иногда возникает необходимость избавиться от установ­ленного приложения и удалить его файлы с жесткого диска. Большинство программ, разработанных специально для Windows, включают специально предназначенные для этого средства. Чтобы получить к ним доступ, в по­явившемся диалоговом окне Панель управления необходимо дважды щелкнуть на значке Установка и удаление программ . В открывшемся окне в списке приведены все установленные пакеты программных средств, которые Windows в cостоянии удалить автоматически. Если удаляемая программа отсутствует в списке, вы должны обратиться к справочнику этого приложения и прочитать, как удаляется данный продукт. Выделите имя удаляемой программы и щелкните на кнопке Добавить/удалить . После того, как Вы утвердительно (кнопка Да) отве­тите на выводимый запрос об удалении, Windows удалит все файлы программы.

8.3.3. Запуск приложения и окончание работы с ним

Чтобы приступить к работе с Windows-приложением, его необходимо запустить. После запуска программы вы можете приступить к работе с ней и выполнить запланированные операции. После окончания работы вы закрываете прикладную программу.

Щелкните на командной кнопке Пуск и выберите команду Программы. Если искомое приложение, например Провод­ник, присутствует в развернувшемся меню, его можно запустить, просто щелкнув на соответствующем элементе меню. Если же необхо­димого приложения в этом меню нет, поищите его в подменю (их имена завершаются стрелкой), например, в подменю Стандартные. Каждое подменю, которое образуется уже при инсталляции приложе­ния, может содержать множество программ или других, подменю.

Если имя программы не найдено в меню Пуск и подменю, то ее следует запустить прямо из папки или из Мой компьютер Проводника . Для открытия папки жесткого диска дваж­ды щелкните мышью на значке Мой компьютер, а затем дважды — на значке соответствующего жесткого диска. Теперь, выполняя двойные щелчки на значках папок, вы сможете передвигаться по иерархически упорядоченным папкам. Для того чтобы попасть на более высокий уровень, с помощью команды Вид/Панель инструментов активизи­руйте панель инструментов и щелкните на значке Переход на один уровень вверх. Как только нужный файл будет найден, дважды щелк­ните на нем для запуска программы. Если вы хотите закрыть прог­рамму, выберите в меню Файл/Выход или щелкните на кнопке Закрыть строки заголовка.

8.3.4. Автоматический запуск приложений

Во время постоянной работы над одной и той же проблемой использу­ются, как правило, одни и те же инструменты. Windows позволяет сделать так, чтобы соответствующие приложения открывались одновременно с запуском операционной системы в каждом сеансе работы. Сделать это можно следующим образом.

Щелкните на командной кнопке Пуск и из меню Настройка выберите команду Панель задач. Щелкните на ярлычке вкладки Настройка меню , а затем — на кнопке Доба­вить. Введите каталог и имя нужного файла или щелкните на кнопке Обзор. В диалоговом окне Обзор посредством списка Папка определите дисковод. Выполняя двойные щелчки мышью на значках папок , вы можете выполнить поиск программы вручную. С помощью значка На один уровень вверх вы сможете перейти от вложенной папки к объемлющей. Как только искомый файл будет найден, отметьте его мышью и щелкните на кнопке Открыть.

Щелкните на Далее. В следующем диалоговом окне вы увидите иерархическую структуру меню Пуск/Программы. Выберите подменю Автозагрузка и снова нажмите Далее . Введите имя, которое должно появиться в подменю, и закройте диалоговое окно с помощью кнопки Готово. При следующем запуске внесенная в меню программа будет автоматически запускаться вместе с операционной системой.

Для того чтобы удалить программу из папки (подменю) Автозагрузка, на вкладке Настройка меню щелкните на командной кнопке Удалить. Щелкните на знаке "+" расположенном слева от имени папки Авто­загрузка , и отметьте, удаляемый значок. Щелкните на кнопке Удалить, а затем — на Закрыть. В завершение нажмите в окне Свойства: Панель задач кнопку ОК.

8.4. Доступ к старым и новым документам

В большинстве случаев работа над документом в приложении не ограни­чивается одним сеансом. Для того, чтобы вы смогли быстро продолжить работу над документом, Windows хранит список 15 файлов, обработанных последними.

Поиск документа, над которым вы работали ранее, может занять достаточно много времени: сначала нужно найти родительское приложение документа, запустить его, а затем открыть требуемый файл. Однако можно поступить проще: нажмите кнопку Пуск и выберите команду Документы. Windows выводит на экран имена 15 документов, обработанных последними. Для активизации конкретного документа достаточно щелкнуть на его имени: Windows запускает соответствующее приложение и открывает документ.

Если вы хотите очистить список документов, из меню Пуск выберите команду Настройка/Панель задач . На вкладке Настройка меню щелкните в группе Mеню "Документы " на кнопке Очистить .

Windows позволяет упростить процедуру создания нового документа и, обойтись при этом, без явного обращения к родительскому приложению. Для этого необходимо от­крыть папку, в которую должен быть помещен документ. В качестве такой папки может выступать сама поверхность рабочего стола Windows. Затем следует щелкнуть правой (!) кнопкой мыши в сво­бодной области папки и выбрать команду Создать. В нижней части появляющегося меню Windows выводит список доступных типов до­кументов. В этот список входят типы документов, порождаемых всеми установленными в Windows приложениями. Щелкните мышью на имени нужного типа документа. Windows создаст новый объект вы­бранного типа и поместит его значок в папку. Двойной щелчок на новом значке запускает соответствующее приложение и открывает новый документ. Можно приступать к вводу данных.

8.5. Панель задач

Если одновременно запущено несколько приложений (задач), говорят о многозадачном режиме работы. Вы хотели бы перейти из одного активного приложения в другое, не закрывая первое. Панель задач, расположенная на нижнем краю экрана, обеспечивает свободное переключение из одного активного приложения в другое.

Каждое работающее приложение обозначено на панели задач собственной кнопкой-значком. На этой же кнопке (если хватает места) значится имя обрабатываемого приложением документа. Для того чтобы перейти в другое активное приложение, достаточно один раз щелкнуть мышью на панели задач на соответствующей кнопке. Нажатая кнопка-значок панели задач показывает, какое из приложений является активным в настоящий момент, т.е. находится на переднем плане.

Если вы хотите подходящим образом разместить на экране все актив­ные приложения, щелкните правой (!) кнопкой мыши в свободной зоне (3) панели задач. Пользуясь контекстным меню, вы можете разместить окна программ, например, в виде Каскада или одним щелчком Свернуть все окна.

Windows знает и другие, не использующие мышь, способы переклю­чения из одного активного приложения в другое. С помощью комбинации клавиш [Alt] [Esc] можно перейти в следую­щее активное Windows-приложение. Удерживая клавишу [Alt] нажа­той, нажмите клавишу [Esc] несколько раз — пока на экране не по­явится нужное приложение.

Смену активной задачи можно произвести и с помощью комбинации клавиш [Alt] [Tab]. Удерживая клавишу [Alt] нажатой, нажмите клави­шу [Tab]. На экране будет представлен список всех открытых прило­жений (в виде значков). Нажмите клавишу [Tab] несколько раз — пока значок нужного приложения не будет взят в рамку. Как только обе клавиши будут отпущены, на экране появится окно приложения, в которое вы хотели перейти.

8.5.1. Индивидуальное конфигурирование панели задач

Вы хотели бы изменить позицию и размер панели задач, а также мо­дифицировать меню Пуск.

По умолчанию панель задач расположена на нижнем краю экрана, но это положение — не единственно возможное. При желании можно "припарковать" панель задач к верх­нему, правому или левому краю экрана. Для этого необходимо поместить указатель мыши в свободную часть панели задач. Далее следует нажать левую кнопку мыши и, не от­пуская ее, отбуксировать панель на другой край экрана и там отпустить кнопку мыши, панель задач займет новое положение. Иногда в результате подобных действий панель задач оказывается слишком узкой, а ее значки становятся слишком мелкими. Для того чтобы несколько увеличить размер панели, следует растянуть ее по направлению к середине экрана. С этой целью позиционируйте ука­затель мыши на ближнем к центру экрана краю панели задач (указатель становится похож на двунаправленную стрелку), нажмите левую кнопку мыши и, удерживая ее нажатой, перетащите границу панели задач к центру экрана.

Если вы хотите изменить параметры конфигурации панели задач, щелкните на кнопке Пуск и в меню Настройка выбе­рите команду Панель задач. Для того чтобы иметь постоянный доступ к панели задач, необходимо активизировать опцию Расположить по­верх всех окон. При желании с помощью опции Автоматически уби­рать с экрана можно включить "режим скрытности", когда панель задач появляется на экране только при помещении курсора мыши на край экрана, за которым прячется панель. Если в меню Пуск вместо больших должны появиться уменьшенные изображения значков, в главном меню установите флажок Мелкие значки. Если вы постоянно хотите знать, который час, рекомендуется активизировать опцию Отображать часы. Изображение часов появляется в правом углу па­нели задач.

С помощью вкладки Настройка меню в диалоговом окне Свойства: Панель задач вы можете добавить в меню Пуск/Программы отсутствующие там программы или удалить ненужные.

Для того чтобы ввести в структуру меню дополнительное приложение, следует щелкнуть на кнопке Добавить. Задайте путь и имя нужного файла или щелкните на кнопке Обзор, чтобы разыскать его. В диало­говом окне Обзор с помощью списка Папка определяется нако­питель. Двойным щелчком мыши на значке Папка раскрывают ее. С помощью кнопки На один уровень вверх возвращаются в объ­емлющую папку. Таким образом, можно "путешествовать" по иерар­хии папок. Как только искомый файл будет найден, следует выделить его мышью и щелкнуть на кнопке Открыть.

Щелкните на кнопке Далее. В следующем диалоговом окне вы уви­дите иерархическую структуру меню Пуск/Программы. Выделите папку (подменю), в которой позднее должен появиться значок прог­раммы, и нажмите кнопку Далее. В заключение введите имя, которое должно появиться в меню Пуск, и закройте диалоговое окно нажа­тием Готово. Теперь вы можете быстро запускать это приложение через меню Пуск. Для того чтобы удалить программу из меню Пуск, щелкните в диалоговом окне Свойства: Панель задач на командной кнопке Удалить. В открывающемся диалоговом окне выделите уда­ляемый значок и щелкните на кнопке Удалить . С помощью знаков " + " и " - " вы можете перемещаться по иерархической структуре меню.

Дополнительная информация . Опытные пользователи могут также щелкнуть в диалоговом окне Свойства: Панель задач на командной кнопке Дополнительно. Загру­жается Проводник и представляет структуру меню Пуск. Щелчком на знаке "+" и "-" вы можете раскрывать и закрывать папки (подменю). В раскрытом окне Проводник вы можете перетащить зна­чок программы (при нажатой кнопке мыши) из правого поля в левое и поместить его в нужное подменю (папку) меню Пуск. И наобо­рот, можно удалить объекты из меню Пуск, буксируя нужный объект при нажатой кнопке мыши из окна Проводник в корзину для бумаг. Завершив манипуляции, закройте окно Проводник и диалоговое окно свойств панели задач посредством кнопок Закрыть .

8.5.2. Обмен данными между задачами

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

Запустите оба приложения, между которыми хотите осуществить об­мен данными, например, графический и текстовой редакторы. Если вы хотите поместить в буфер обмена фрагмент иллюстрации, перей­дите в графический редактор и выделите нужную часть иллюстрации. Затем выберите в меню Правка команду Копировать или нажмите (Ctrl)(С). Выделенная часть иллюстрации помещается в буфер обмена — специальным образом организованную область памяти, в которой можно сохранить копию данных любого типа. В меню Правка графи­ческого редактора вы можете также выбрать команду Вырезать. В этом случае выделенная часть иллюстрации будет удалена в оригинале и останется только в буфере обмена, откуда ее можно будет ввести в нужный документ.

Перейдите в приложение, обрабатывающее документ, в который нужно вставить содержимое буфера обмена (например, в текстовой редактор). Для вставки содержимого буфера обмена выберите в меню Правка команду Вставить. Теперь в текстовой документ вставлена иллюстрация, созданная графическим редактором. Команда Вставить доступна лишь в том случае, если формат вставляемого фрагмента понятен целевому приложению.

Дополнительная информация . Если вы выполните полную инсталляцию Windows, то сможете посмотреть содержимое буфера обмена с помощью специальной утилиты Просмотр буфера обмена, которая располагается в меню Пуск /Программы /Стандартные.

8.6. Контрольные вопросы

Блок вопросов № 0

1. Возможные варианты архитектуры ЭВМ. Чем они отличаются, достоинства и недостатки?

2. Возможные варианты перевода исходной программы в машинный код?

3. Что такое многозадачность? Как она реализуется на уровне операционной системы?

4. Что такое прикладная программа? Как ее установить? Как удалить?

5. Что можно задавать при настройке клавиатуры?

6. Как можно добавить новые возможности в системе Windows после ее инсталляции?

Блок вопросов № 1

1. Общая структура вычислительной машины. Назначение и характеристики ее основных элементов.

2. Какие проблемы возникают при управлении оперативной памятью в многозадачных операционных системах? Как распределяется память между процессами? Зачем это делается?

3. Структура системного программного обеспечения. Система автома­тизации программирования.

4. Возможно, ли чтобы Windows позволял сделать так, чтобы соответствующие приложения открывались одновременно с запуском операционной системы в каждом сеансе работы? Как это сделать?

5. Что можно задавать при настройке мыши? Для чего?

6. Возможна ли настройка Windows на специфику страны? Каким образом?

Блок вопросов № 2

1. Опишите структуру процессора. Какую роль выполняет каждый из элементов процессора?

2. Что такое "режим прерывания"? Для чего он используется и как реализуется.

3. История развития языков. Классификация языков программирования.

4. Для чего и как используется Мастер установки оборудования?

5. В каком случае можно свободно пользоваться новыми устройствами?

6. Сколько последних файлов хранит Windows?

Блок вопросов № 3

1. Что такое "Иерархия памяти"? Типы и назначения различных типов памяти. Что такое "Виртуальная память"?

2. Что такое "Операционная система"? Каковы ее функции? Ее состав?

3. Принципы построения ОС с разделением времени. Критерии распределения процессорного времени.

4. От чего зависят быстродействие и надежность работы компьютера?

5. Как осуществляется обмен данными?

6. Если вы выполните полную инсталляцию Windows, то сможете посмотреть содержимое буфера обмена с помощью чего?

Блок вопросов № 4

1. Понятие "ресурсы" вычислительной системы. Какими ресурсами управляет ОС?

2. Что такое "Виртуальная машина"? Что такое "Виртуальная операционная система"? Принципы распределения ресурсов в виртуальной ОС.

3. Какие современные микропроцессоры Вы знаете (Alpha, PowerPC, UltraSparc, Merced, Эльбрус, Athlon)? Особенности их структуры, характеристики.

4. Какой программой можно просмотреть содержимое оперативной памяти?

5. Что такое "Рабочий стол"? Как с ним можно работать?

6. Что нужно сделать, чтобы найти объект?

Блок вопросов № 5

1. Структура программного обеспечения современной ЭВМ.

2. Что такое "Операционная система реального времени"? Основные принципы ее построения.

3. Можно ли изменить установку параметров и режимов работы выбранного устройства?

4. Как узнать, сколько рабочей памяти и системных ресурсов вам доступ­но, и с какой файловой системой в настоящий момент работает Windows.

5. Как сразу безвозвратно удалить некоторый объект, минуя Корзину?

6. Как получить полную информацию о диске?

Блок вопросов № 6

1. Проблемы управления процессами в операционной системе. Возможные состояния процессов.

2. Философия операционных систем пассивной обработки (подход программного оператора), особенности построения таких систем, целе­вая функция, алгоритм работы системы пакетной обработки.

3. Операционная система, назначение, структура.

4. Можно ли отнести Проводник к специальным образом организованной папке? Почему?

5. Как изменить имя файла?

6. Как перейти в каталог расположенный уровнем выше?

Блок вопросов № 7

1. Краткий обзор назначения различных операционных систем ЭВМ. Системы одно- и многопользовательские, с разделением времени, пакетной обработки, реального времени и т.п.

2. Как реализуется процесс интерпретации? Какие достоинства и недостатки он имеет?

3. Три возможных типа архитектуры ЭВС. Особенности каждого типа, достоинства и недостатки.

4. Что такое панель задач? Как она расположена?

5. Как можно узнать системную информацию?

6. Сколько подпапок может содержать одна папка?

Блок вопросов № 8

1. Что такое "Диалоговые ОС"?

2. Расскажите о принципе "Семафоров" при построении ОС. Достоинства и недостатки использования этого принципа.

3. Распределение памяти разделами, страницами, сегментами. Статическое и динамическое распределение. Назначение, реализация.

4. Как можно изменить имя ярлыка? А иконку?

5. Какой командой можно уничтожить не пустой каталог TMP, в котором имеются файлы и другие поддиректории?

6. Какой командой создается каталог?

Блок вопросов № 9

1. Преобразования исходной программы в машинный код методом компиляции.

2. Классификация ОС. Основные цели и свойства операционных систем.

3. Обрабатывающие программы: трансляторы, редакторы, отладчики, редактор связей, загрузчик. Их назначение, способы вызова.

4. Как можно задать свою собственную конфигурацию?

5. В чем проявляется многозадачность Windows?

6. Можно ли сказать, что директория - это ярлык?

Рекомендуемая литература

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

2. Толковый словарь по вычислительным системам. Под ред. В.Иллингуорта, Э.Л.Глейзера, И.К.Пайла: Пер. с англ. А.К. Белоцкого и др./ Под ред. Е.К.Масловского. M.: Машиностроение, 1989. 568с.

3. Фролов А.В., Фролов Г.В. Введение в MS DOS, MS Windows, MS Word for Windows.-М.: Диалог-МИФИ,1994.- 264с.

4. Англо-русский толковый словарь: Мультимедиа-системы. Телекоммуникац. компьютерные сети. Безопасность компьютер. систем и сетей/[А. А. Мячев и др.]; Под ред. И. А. Мизина и др. - М.: Радио и связь. -1995. - 191,[1] с.. - На рус. яз. - Российская Федерация. - ISBN 5-256-01166-

5. Ж.К. Голенкова и др. "Руководство по архитектуре IBM PC AT", Консул, Минск, 1993.

6. Морс С.П., Алберт Д.Д. Архитектура микропроцессора 80286: Пер. с англ.- М.: Радио и связь, 1990.- 304с.

7. Брамм П., Брамм Д. Микропроцессор 80386 и его программирование: Пер. с англ.- М.: Мир, 1990.- 448с.

8. Бродин В.Б., Шагурин И.И. Микропроцессор i486. Архитектура, программирование, интерфейс.- М.: "ДИАЛОГ-МИФИ", 1993.- 240с.

9. Григорьев "Микропроцессор i486. Архитектура и программирование", Гранал, Москва, 1993. Руководство программиста по процессору Intel Pentium, Техническая документация уровня 2, (C) Intel Corp.

10. Вульф А. Операционные системы реального времени в русле развития вычислительной техники. // Электроника № 7. 1985. с 45-56.

11. Операционная система реального времени для микроЭВМ. Под ред. И.Р.Крамфуса. М.: Мир. 1984. 36с.

12. Финогенов Л.Г. Программирование измерительных систем реального времени.- М.: Энергоатомиздат. 1990.- 256 с.

13. Юров В., Хорошенко С. Ассемблер (учебный курс) Санкт-Петербург, Москва, Харьков, Минск: из-во Питер, -1999.-672 с.

14. Абель П. Язык ассемблера для IBM PC и программирования/ Пер. с англ. Ю.В. Сальникова. М.: Высш. шк., 1992.-447 с.

15. Зубков С.В. Assembler, DOS, Windows и Unix.-М.: ДМК, 1999.-640 с.

16. Рыбкин Е.Н., Юдин А.Ю. Программные средства ПЭВМ: операционная система MS DOS.-М.: Финансы и статистика, 1991.-112 с.: ил.

17. Вебер Р. Конфигурирование ПК на процессорах 386/486. Пер. с нем.-М.: Мир, 1995.- 192 с., ил.

18.Питер Абель. Язык ассемблера для IBM PC и программирования. - Москва: «Высшая школа», 1992.

19. Борзенко А. Загрузка без секретов. // Компьютер–Пресс. 1992, № 10. с.57-62.

20. Ахметов К. DOSSHELL – окно в «Окна».// Компьютер – Пресс. 1993, № 2,3. с.13-17.

21. Ливеровский Л. Немного о дисассемблерах ( опыт работы с программой Source) . // Монитор 1993 , №3 с.40-47

22. Turbo Debugger User’s Manual c. 23 – 25