Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. Написать программу, осуществляющую вывод в создаваемый по запросу файл через межпроцессный канал из параллельного процесса полного имени текущего каталога и списка файлов текущего каталога. Предусмотреть в программе возможность неоднократного прерывания от клавиатуры. При поступлении первого прерывания вывести дополнительно и количество блоков, отводимых под каждый файл текущего каталога. При большем количестве прерываний вывести только общее количество блоков, отведенных под каталог.
2. Написать программу, осуществляющую выполнение команды ОС UNIX ls таким образом, чтобы данные на стандартный ввод команды ls (ключи, имена файлов) в параллельном процессе потомке поступали из стандартного вывода основного процесса (где они вводились бы по запросу) через межпроцессный канал. Предусмотреть в программе возможность неоднократного прерывания от клавиатуры. При поступлении трех сигналов прерывания дополнительно вывести количество строк для каждого файла, указанного в аргументах. В остальных случаях просто продолжать выполнение программы.
3. Написать программу подсчета количества блоков, занимаемых каждым файлом и общего количества блоков для всех файлов текущего каталога. Информацию переслать через межпроцессный канал. И при считывании ее из канала в параллельном процессе извлечь данные только о том файле, имя которого введено по запросу, а также об общем количестве блоков. Предусмотреть возможность неоднократного прерывания от клавиатуры. При поступлении пяти сигналов прерывания вывести информацию о количестве символов указанного файла В остальных случаях просто продолжать выполнение программы.
4. Написать программу поиска в файле, имя которого вводится по запросу неограниченное число раз, строки с заданным шаблоном. Полученную информацию через область внешних аргументов переслать в параллельный процесс и в нем вывести её в файл. Предусмотреть возможность неоднократного прерывания по сигналу <CTRL>+<C>. При поступлении более десяти сигналов прерывания окончить выполнение программы.
5. Написать программу вывода календаря текущего месяца текущего года и по введенной дате определить день недели. Предусмотреть возможность неоднократного прерывания выполнения программы от клавиатуры. При поступлении трех сигналов прерывания вывести информацию о том, сколько дней в указанном году.
6. Написать программу выдачи списка всех пользователей, работающих в настоящее время в системе (имена связанных с ними терминалов и время входа в систему не указывать). Передать полученную информацию через межпроцессный канал в параллельный процесс, где вывести на экран. Предусмотреть возможность неоднократного внешнего прерывания. При каждом прерывании вывести время его поступления.
7. Написать программу поиска и удаления по запросу во всех каталогах, имеющих общий родительский каталог, файлов с расширением txt. Предусмотреть возможность неоднократного прерывания по сигналу <CTRL>+<C>. При поступлении каждого сигнала прерывания выводить информацию о том, сколько файлов уже удалено.
8. Написать программу определения типа файла, указанного при запросе. Полученную информацию через файловую систему передать в параллельный процесс, где вывести на печать. Предусмотреть возможность поступления неоднократного прерывания от клавиатуры. При поступлении каждого сигнала прерывания выводить количество файлов (из числа указанных при запросе), содержащих текст программ на Си.
9. Написать программу, осуществляющую трансляцию и выполнение файлов на языке программирования Си, имена которых вводятся по запросу. Предусмотреть возможность неоднократного прерывания от клавиатуры. При поступлении более пяти сигналов прерывания распечатать все файлы текущего каталога с расширением *.с.
10. Написать программу вывода информации о количестве блоков, занимаемых каждым файлом текущего каталога. Передать эту информацию через межпроцессный канал в параллельный процесс и в нем вывести имена тех файлов, размер которых превышает 4 блока. Предусмотреть возможность неоднократного внешнего прерывания. При поступлении каждого пятого прерывания выводить информацию об общем количестве блоков, отведенных под файлы текущего каталога.
11. Написать программу сортировки файлов текущего каталога по времени последнего доступа. Передать полученную информацию через межпроцессный канал в параллельный процесс и в нем вывести на экран имена только тех файлов, которые отмечены текущей датой. Предусмотреть возможность неоднократного, прерывания от клавиатуры. При поступлении каждого второго сигнала прерывания выводить количество символов (байтов) выделенных файлов.
12. Написать программу, предоставляющую информацию обо всех активных процессах в системе. Передать эту информацию через межпроцессный канал в параллельный процесс и вывести в нем идентификаторы всех процессов. Предусмотреть возможность неоднократного прерывания от клавиатуры. При поступлении четвертого прерывания вывести имена всех задействованных терминалов в системе в настоящее время.
13. Написать программу подсчета числа строк, слов и символов указанного по запросу текстового файла. Полученную информацию передать через межпроцессный канал в параллельный процесс и в нем вывести только информацию о количестве слов, записав ее при этом в файл. Предусмотреть возможность неоднократного прерывания по сигналу <CTRL>+<C>. При поступлении каждого нечетного прерывания выводить информацию обо всех текстовых файлах текущего каталога.
14. Написать программу, предоставляющую информацию о содержимом очереди на печать. Передать эту информацию через файловую систему в параллельный процесс и в нем вывести на экран дисплея содержимое тех файлов, которые хотят распечатать. Предусмотреть возможность неоднократного прерывания от клавиатуры. При поступлении 3-его прерывания вывести количество файлов в очереди на печать.
15. Написать программу вывода списка всех пользователей, работающих в настоящее время в системе. Передать полученную информацию через файловую систему в параллельный процесс и вывести на экран только имена задействованных терминалов. Предусмотреть в программе неоднократное прерывание от клавиатуры. При поступлении второго прерывания вывести на экран дисплея содержимое корневого каталога.
16. Написать программу, создающую и заполняющую текстовый файл. Информацию этого текстового файла через межпроцессный канал передать в параллельный процесс. В нем после каждого символа текста вписать в файл порядковый номер и передать через межпроцессный канал в параллельный процесс, где разделить каждый символ со своим номером пробелом. Из текущего процесса переслать полученную информацию в исходный процесс и там вывести на печать. Предусмотреть возможность прерывания от клавиатуры.
17. Написать программу, определяющую права доступа для всех файлов текущего каталога. Передать эту информацию через файловую систему в параллельный процесс и вывести данные только о тех файлах, дата создания которых не превышает семи дней от текущей даты. Предусмотреть возможность прерывания от клавиатуры.
18. Написать программу копирования содержимого одного файла в другой, создавая последний в случае необходимости, и оформить ее в виде команды интерпретатора shell ОС UNIX с выдачей сообщения о количестве блоков копируемого файла (блок = 512 байт) и байтов. Предусмотреть аномальные ситуации и возможность прерывания от клавиатуры.
19. Написать программу, объединяющую два введенных по запросу файла в один. Переслать содержимое полученного файла через межпроцессный канал в параллельный процесс, где получить информацию о количестве строк, слов и символов этого файла. Предусмотреть возможность прерывания от клавиатуры. При поступлении первого прерывания вывести информацию о количестве строк, слов и символов первого файла, при поступлении второго прерывания вывести те же самые атрибуты второго файла
20. Написать программу сравнения и вывода результата двух введенных по запросу файлов. Информацию переслать через межпроцессный канал в параллельный процесс, где определить число блоков, занимаемых каждым из введенных файлов. Предусмотреть возможность прерывания по сигналу <CTRL>+<C>. Если поступило более 3-х сигналов прерывания, то создать новый каталог в текущем и записать туда сравниваемые файлы.
21. Написать программу, формирующую командный файл, транслирующий и запускающий на выполнение введенный по запросу и переданный через межпроцессный канал файл. Предусмотреть возможность неоднократного прерывания от клавиатуры. При поступлении 2-го прерывания возобновить выполнение исходной программы.
22. Написать программу, посылающую почту всем соседним пользователям. Предусмотреть возможность прерывания от клавиатуры. При поступлении пятого прерывания вывести на экран имена терминалов, на которые посылалась почта.
23. Написать программу поиска в одном из соседних каталогов файлов размером более, чем в три блока, к которым обращались менее, чем пять дней назад. Полученную информацию через файловую систему послать в параллельный процесс. Предусмотреть возможность неоднократного внешнего прерывания. При поступлении 2-го прерывания вывести информацию об общем количестве блоков, занимаемых этими файлами.
24. Написать программу, осуществляющую копирование введенного по запросу файла. Информацию переслать через межпроцессный канал в параллельный процесс-потомок, где проверить, нет ли различий между исходным файлом и его копией, и исходный файл удалить, если нет различий. Предусмотреть возможность неоднократного прерывания по сигналу <CTRL>+<C>. При поступлении 1-го прерывания переименовать файл в исходный и распечатать его содержимое.
25. Написать программу нахождения файлов с расширением *.с, принадлежащих данному пользователю, и изменить у них код защиты на введенный. Предусмотреть возможность прерываний от клавиатуры. Первые пять прерываний игнорировать. При поступлении большего числа прерываний вывести количество файлов с измененным кодом защиты.
Дата публикования: 2015-10-09; Прочитано: 884 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!