- •Операционные системы Вариант 13 Лабораторная работа № 1
- •Лабораторная работа № 2
- •1. Ответить на поставленные контрольные вопросы:
- •Лабораторная работа № 3
- •1. Ответить на поставленные контрольные вопросы:
- •Лабораторная работа № 4
- •Лабораторная работа № 5
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •Лабораторная работа № 8
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.