Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы Word.docx
Скачиваний:
25
Добавлен:
16.03.2016
Размер:
352.09 Кб
Скачать

Лабораторна робота №1 Загальні теоретичні відомості:

Пакетні файли

Пакетный файл (англ. batch file, в просторечии - пакетник, батник, батничек) - текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа - интерпретатор (как правило COMMAND.COM или CMD.EXE) читает его строка за строкой и последовательно исполняет команды. Пакетный файл - аналог shell script в Unix-подобных операционных системах. Пакетные файлы полезны для автоматического запуска приложений. Основная область применения - автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера. Примерами таких операций могут служить - обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т.п.

Для виконання даної лабораторної роаботи вам знадоблятся наступні команди та змінні оточення:

Команда чи змінна оточення

Характеристика

Ver

Команда, що виводить назву та версію операційної системи

Hostname

Команда, виводом якої є ім'я компьютера

systeminfo

Команда, що виводить всю інформацію про систему, у тому числі домен, до якого входить комп’ютер та контроллер домена(“сервер входа в сеть”)

%systemroot%,

%windir%

Змінні оточення, які містять інформацію про папку, де встановлена ОС

%username%

Змінна оточення, в якій знаходится ім'я користувача

Windows API

API (application programming interface — интерфейс прикладного программирования) ‑ набор подпрограмм, используемых приложениями для запросов и выполнения служб нижнего уровня операционной системой компьютера. Эти подпрограммы обычно выполняют задачи обслуживания, такие как управление файлами и отображение данных.

Часть APIфункций реализуется с помощью программных прерываний.

Программные прерывания – это один из способов перехода на подпрограмму с помощью специальной инструкции процессора , такой как INT в процессорах Intel Pentium , trap в процессорах Motorola , syscall в процессорах MIPS или Ticc в процессорах SPARK .При выполнении команды программного прерывания процессор отрабатывает ту же последовательность действий , что и при возникновении внешнего или внутреннего прерывания , но только происходит это в предсказуемой точке программы – там ,где программист поместил данную команду.

Практически все современные процессоры имеют в системе команд инструкции программных прерываний. Их использование часто приводит к более компактному коду программ по сравнению с использованием стандартных команд выполнения процедур. Это объясняется тем , что разработчики процессора обычно резервируют для обработки прерываний небольшое число возможных подпрограмм , так что длина операнда в команде программного прерывания, который указывает на нужную подпрограмму , меньше , чем в команде перехода на подпрограмму. Другой причиной применения программных прерываний вместо обычных инструкций вызова подпрограмм является возможность смены пользовательского режима на привилегированный одновременно с вызовом процедуры – это свойство программных прерываний поддерживается большинством процессоров.

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

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

Реализация системных вызовов должна удовлетворить следующим требованиям :

  • Обеспечивать переключение в привилегированный режим;

  • Обладать высокой скоростью вызова процедур ОС;

  • Обеспечивать по возможности единообразное обращение к системным вызовам для всех аппаратных платформ , на которых работает ОС ;

  • Допускать легкое расширение набора системных вызовов ;

  • Обеспечивать контроль со стороны ОС за корректным использованием системных вызовов .

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

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

В большинстве ОС системные вызовы обслуживаются по централизованной схеме , основанного на существовании диспетчера системных вызовов . При любом системном вызове приложение выполняет программное прерывание с определенным и единственным номером вектора . Например , ОС Linuxиспользует для системных вызовов командуINT80h, а ОСWindowsNT-INT2Eh. Перед выполнением программного прерывания приложение тем или иным способом передает операционной системе номер системного вызова, который является индексом в таблице адреса процедур ОС, реализующих системные вызовы. Способ передачи зависит от реализации, например номер можно поместить в определенный регистр общего назначения процессора или передать через стек . Также некоторым способом передаются аргументы системного вызова, они могут как помещаться в регистры общего назначения, так и передаваться через стек или массив , находящийся в оперативной памяти. Массив удобен при большом объеме данных, передаваемых в качестве аргументов, при этом в регистре общего назначения указывается адрес этого массива.

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

Команда чи змінна оточення

Характеристика

GetComputerName()

Функція, виводом якої є ім'я компьютера

GetWindowsDirectory()

Функція, яка містить інформацію про папку, де встановлена ОС

GetUserName()

Функція, в якій знаходится ім'я користувача