Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
variant_13.doc
Скачиваний:
4
Добавлен:
19.12.2018
Размер:
147.97 Кб
Скачать

1. Ответить на поставленные контрольные вопросы:

  • с какой цифры начинается нумерация элементов массива в AWK?

  • какие типы структур данных присутствуют в языке Perl?

  • что такое хеш в Perl?

2. Разработать Perl скрипт для анализа готового файла журнала аудита (формат файла приведен в примере)

Скрипт должен выполнять следующие действия:

  • сгруппировывать события по дням;

  • выводить статистику событий в журнале, а именно:

    • количество событий от разных пользователей

    • количество событий в зависимости от типа события

    • количество событий по дням;

  • удалять строки содержащие, определенное имя пользователя, которое задается переменной в скрипте;

  • выполнять проверку упорядоченности последовательности записей по меткам времени и их сортировку.

3. Проделать вышеприведенное задание с помощью редактора AWK.

4. Используя скриптовый язык Perl, разработать программу, которая выводит на экран содержимое текущего каталога в порядке возрастания размеров файлов. При этом имена каталогов должны выводиться первыми.

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

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

1. Ответить на поставленные контрольные вопросы:

  • как создается дочерний процесс, каково состояние дочернего процесса после его создания?

  • по какой причине многие программы явно не используют вызов функции close?

  • чем отличается поименованный канал от непоименованного?

2. Выполнить запуск программ, приведенных в примерах 1-4. Модифицируйте программу из примера 1 на использование функции perror() для извещения оператора об ошибках. Модифицируйте программу из примера 4 для выполнения побайтового копирования одного файла в другой.

3. Написать на языке С программу error10 выполняющую запись 10 байт в стандартный поток ошибок. Прокомментировать результат.

4. Произвести чтение нулевого сектора жесткого диска и вывести в доступном виде (с пояснениями), интерпретацию 1-го дескриптора основного раздела. Операционная система WindowsNT/2000/XP.

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

  • создание программного канала;

  • порождение двух дочерних процессов;

  • запуск одним из порожденных процессов программы read10, а другим – программы write10 с предварительной установкой стандартных потоков ввода-вывода на файловые дескрипторы программного канала и закрытием всех ненужных файловых дескрипторов;

  • ожидание завершения обоих порожденных процессов (write10 выполняет запись 10 байт в стандартный поток вывода, read10 - чтение).

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

1. Ответить на следующие контрольные вопросы:

  • назовите и кратко опишите способы перехода от виртуальных адресов к физическим?

  • перечислите основные недостатки страничной организации памяти;

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

2. Переделайте алгоритмы getblk и brelse так, чтобы ядро следовало не схеме замещения буферов, к которым наиболее долго не было обращений, а схеме "первым пришел - первым вышел". Повторите то же самое со схемой замещения редко используемых буферов. Смоделируйте данную ситуацию. Операционная система - Windows.

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