Операционные системы. ЛР1 Первоначальное знакомство с UNIX. ЛР2 Управляющие операторы командного языка. ЛР3 Операции с файлами в программе на языке Си. ЛР4 Обработка сигналов. Вариант 5.
Лабораторная работа
в среде программирования Unix shell
Среда программирования: Unix shell
Название работы: Операционные системы. ЛР1 Первоначальное знакомство с UNIX. ЛР2 Управляющие операторы командного языка. ЛР3 Операции с файлами в программе на языке Си. ЛР4 Обработка сигналов. Вариант 5.
Вид работы: Лабораторная работа
Описание: Лабораторная работа № 1.
Первоначальное знакомство с UNIX.
Целью выполнения настоящей лабораторной работы является получение начальных навыков работы в среде UNIX:
1) знакомство с текстовым редактором ed;
2) применение команд shell для работы с файлами;
3) использование в командах shell метасимволов и перенаправление ввода-вывода;
4) запуск конвейеров программ;
5) применение в командах shell переменных;
6) построение командных файлов;
7) изменение прав доступа к файлам.
Задание.
1) создать два трехуровневых поддерева каталогов и поместить в один из каталогов четыре текстовых файла, два из которых имеют в своем имени одинаковую символьную последовательность, называемую далее «словом»;
2) с помощью ed отредактировать текстовый файл;
3) вывести файл на экран;
4) выполнить добавление текста в начало, в середину и в конец файла;
5) вывести файл на экран;
6) произвести переименование файла;
7) выполнить копирование файла (исходный файл и файл-копия должны располагаться в разных каталогах);
8) поместить в любой другой каталог скрипт, имеющий два входных параметра: имя каталога и набор символов. Скрипт выполняет действия:
• вывод на экран перечня файлов, «дочерних» к заданному каталогу, которые имеют в своем имени заданный набор символов;
• уничтожение всех остальных файлов заданного каталога;
• любые другие действия (по вашему желанию);
9) создать свой инициализационный скрипт, выполняющий действия:
• здоровается;
• «переделывает» приглашения shell;
• запускает вложенный скрипт, созданный в (8), задав ему в качестве параметров каталог и «слово» из (1);
• любые другие действия (по вашему желанию);
10) выйти из UNIX, а затем войти вновь с целью демонстрации результатов выполнения инициализационного скрипта.
Лабораторная работа № 2.
Управляющие операторы командного языка.
Цель работы.
Целью выполнения настоящей лабораторной работы является развитие навыков программирования на языке shell путем использования в скриптах управляющих операторов if, case, for, while, until.
Задание.
Требуется разработать программу на языке shell (без использования команды find), выполняющую поиск в заданном поддереве файловой структуры всех файлов, имена которых отвечают заданному шаблону. Результатом работы программы является перечень имен искомых файлов на экране.
Примечание. Программа состоит из двух скриптов. Главный скрипт выполняет вывод на экран приглашения ввести с клавиатуры имя-путь начального каталога и шаблон поиска. Далее он выполняет ввод этих данных с клавиатуры и выводит на экран перечень искомых файлов в начальном каталоге поиска (если они там есть). Затем он вызывает для каждого подкаталога вложенный скрипт, передав ему два входных параметра:
1) относительное имя подкаталога;
2) шаблон поиска.
Вложенный скрипт выполняет поиск в заданном каталоге искомых файлов, а для каждого подкаталога вызывает точно такой же скрипт. (При выполнении любого скрипта запускается новый экземпляр shell, поэтому рекурсивное выполнение скриптов не приводит к каким-либо трудностям.)
Лабораторная работа № 3.
Операции с файлами в программе на языке Си.
Цель работы.
Целью выполнения настоящей лабораторной работы является получение начальных навыков использования системных вызовов UNIX в программах на языке Си. Данные вызовы выполняют основные операции с файлами: открытие и создание, чтение и запись, закрытие и уничтожение.
Задание.
5) ввод с клавиатуры содержимого текстового файла, имя которого задается в командной строке, используя системные вызовы;
Лабораторная работа № 4. Обработка сигналов.
Цель работы.
Целью выполнения настоящей лабораторной работы является получение навыков программного управления процессами с помощью сигналов.
Задание.
5. Процесс-отец порождает три дочерних процесса, каждый из которых выполняет бесконечный цикл. При этом каждый из дочерних процессов особым образом реагирует на сигнал SIGINT:
• процесс 1 обрабатывает сигнал SIGINT в бесконечном цикле, выдавая свое сообщение на экран, добавляя к нему текущую дату Данный цикл защищен от воздействия сигнала SIGQUIT;
• процесс 2 при получении сигнала SIGINT выводит сообщение на экран и продолжается;
• вся программа процесса 3 защищена от воздействия сигнала SIGINT.
• cразу после порождения дочерних процессов процесс-отец завершается.
Далее следует проверить реакцию оставшихся процессов на сигналы SIGINT и SIGQUIT.
Год: 2023
Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2023-м году, в рамках этого заказа была разработана программа в среде программирования Unix shell. Если у Вас похожее задание на программу, которую нужно написать на Unix shell, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2023-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".
Тел.: ![]() Viber: ![]() Telegram: ![]() ВКонтакте: ![]() ![]() E-mail: ![]() Skype: ![]() |