Выдержка из текста работы
- разработать командный файл, копирующий произвольное число файлов, заданных аргументами из текущего каталога, на диск А.
- разработать командный файл, который бы получал в качестве аргумента имя текстового файла и выводил на экран информацию о том, сколько символов, слов и строк в текстовом файле.
Контрольные вопросы:
- какие базовые концепции построения ядра операционных систем вы знаете?
- расскажите о замещаемых параметрах в командных файлах.
- с какой версии ОС Windows появилась поддержка Universal Plug and Play?
Решение:
Я усложнил решение задачи, объединив обе задачи в одну. При запуске bat-файла пользователь сам выбирает, какое задание он должен проверить.
Листинг файла прилагаю:
@ECHO OFF
ECHO.
ECHO Контрольная работа №1.
ECHO.
:NAC
ECHO.
ECHO Задание 1.
ECHO.
ECHO Разработать командный файл, копирующий произвольное число файлов,
ECHO заданных аргументами из текущего каталога, на диск A.
ECHO.
ECHO Задание 2.
ECHO.
ECHO Разработать командный файл, который бы получал в качестве аргуме-
ECHO нта имя текстового файла и выводил на экран информацию о том,
ECHO сколько символов, слов и строк в текстовом файле.
ECHO.
SET /p var=Введите номер задания, результат которого хотите проверить:
IF «%var%»==»1» GOTO ZAD1
IF «%var%»==»2» GOTO ZAD2
IF «%var%»==»» GOTO DAL
:DAL
ECHO Введённый вариант отсутствует, введите 1 или 2.
GOTO NAC
:ZAD1
SET var=»»
SET /p var=Введите аргумент для копирования файлов на дискету:
COPY *%var%* a:
GOTO END
:ZAD2
SET token_count=0
SET /A COUNT=0
SET chars_count=0
SET var=»»
SET /p var=Введите имя существующего файла (с расширением):
ECHO %var%>file.tmp
FOR %%A IN (%var%) DO SET temp_file_size=%%~zA
SET /A chars_count=%temp_file_size%
DEL file.tmp
FOR /F %%A IN (%var%) DO SET /A COUNT+=1
FOR /F «TOKENS=*» %%A in (%var%) DO CALL :TOKCNT %%A
ECHO Количество символов: %chars_count%
ECHO Количество слов: %token_count%
ECHO Количество строк: %COUNT%
:TOKCNT
IF NOT «%~1″==»» SET /A token_count+=1 & SHIFT & GOTO :TOKCNT
:END
Ответы на контрольные вопросы:
- какие базовые концепции построения ядра операционных систем вы знаете?
Базовыми концепциями построения ядра операционной системы являются: подход монолитного ядра или микроядерный подход.
Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС – серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой – ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно:
- аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования;
- хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне;
- структурированность системы, состоящей из набора хорошо определенных объектов.
Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (РOSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализует прикладную среду той или иной операционной системы.
Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RРC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.
- расскажите о замещаемых параметрах в командных файлах.
Внутри командного файла допускается использование замещаемых параметров. Параметр – это символьная переменная, расположенная в командной строке после имени команды. Он содержит дополнительную информацию, необходимую операционной системе при обработке команды. Параметром, например, может быть имя файла, к которому относится действие команды. Замещаемый параметр – это специальная переменная, которая в процессе выполнения команды подменяется обычным параметром (например, именем файла). В командном файле замещаемый параметр обозначается знаком процента (%) и цифрой от 0 до 9. Таким образом, командный файл может включать до десяти замещаемых параметров. Символьные переменные, предназначенные для подмены замещающего параметра, вводятся в командной строке при обращении к командному файлу – набирается команда старта (имя файла) и список параметров в порядке, соответствующем последовательности замещаемых параметров внутри файла.
Параметры заменяются в порядке следования символьных переменных в командной строке. Первая переменная подменяет параметр %1, вторая – параметр %2 и т.д. Вместо замещаемого параметра %0 автоматически подставляется спецификация командного файла.
При введении замещаемых параметров командный файл становится более гибким. Поясним это на примере. Предположим, что на диске имеются несколько файлов, которые нужно копировать после каждой корректировки. В рассмотренном выше примере командный файл использовался для копирования конкретного файла. Этим же командным файлом можно воспользоваться и для копирования любого файла. В этом случае вместо имени копируемого файла подставляется замещаемый параметр. Имя копируемого файла будет вводиться в командной строке при обращении к командному файлу.
Назовем наш командный файл «COРYALL.BAT». Введем в нем:
COРY %1 A:
При обращении к файлу набирается его имя и через пробел – имя копируемого файла (в нашем примере «SHOРLIST.DOC»). Введите команду:
C:\>COРYALL SHOРLIST.DOC
На экран выводится следующая команда:
C:\>COРY SHOРLIST.DOC A:
1 File(s) coрied
MS-DOS автоматически подставила имя файла на место замещаемого параметра %1. Усложним пример. Организуем командный файл «DIFNUM.BAT», автоматически копирующий любой указанный файл и присваивающий копии любое указанное имя:
COРY %1 A:%2
Для обращения к этому файлу наберите его имя, имя копируемого файла, в нашем примере «NEW.DOC», и имя копии «OLD.DOC»:
C:\>DIFNUM NEW.DOC OLD.DOC
На экране появляется следующая команда файла «DIFNUM.BAT»:
C:\>COРY NEW.DOC A:OLD.DOC
1 File(s) coрied
Первое имя в командной строке «NEW.DOC» поставлено вместо замещаемого параметра %1. Второе имя «OLD.DOC» – вместо замещаемого параметра %2.
- с какой версии ОС Windows появилась поддержка Universal Plug and Play?
С появлением Windows’95 появилась спецификация Plug and Play, созданная совместно фирмами Microsoft, Intel, Phoenix Technologies, Compaq и др. Цель ее создания состояла в сведении к минимуму проблем, связанных с настройкой и конфигурированием аппаратных средств. Интерфейс Plug and Play берет на себя все заботы по идентификации подключенного устройства, по обеспечению данного устройства необходимыми аппаратными ресурсами и по конфигурированию соответствующих драйверов устройств.