Преамбула Все работы выполняются в unix-подобных операционных системах, Linux, Freebsd, MacOS, OpenSolaris, qnx




Дата канвертавання26.04.2016
Памер33.72 Kb.
Преамбула

Все работы выполняются в UNIX-подобных операционных системах, - Linux, FreeBSD, MacOS, OpenSolaris, QNX. В случае недоступности таковых, установить самостоятельно на виртуальную машину Oracle VirtualBox (свободная загрузка с сайта Oracle), выбрать и скачать дистрибутив ОС можно на сайте www.distrowatch.com.

Необходимые утилиты и компиляторы при необходимости установить дополнительно. Справки по используемым функциям и утилитам и электронные варианты учебников прилагаются в архиве.

Выбор варианта — по формуле: остаток от деления на 3 суммы всех цифр номера зачетной книжки плюс единица .




Задание 1. "ПРОЦЕССЫ И СИГНАЛЫ"
Написать на языке "C" или "C++" программу, создающую древовидное множество про­цес­сов. Каждый из созданных процессов должен иметь обработчик сигналов SIGALRM и SIGUSR1. При получении сигнала SIGALRM процесс должен выводить свой идентифика­тор pid на экран, при получении сигнала SIGUSR1 процесс должен завершаться и посылать такой же сигнал своим потомкам. Использовать системные функции fork(), signal() и kill().
Вариант 1.1. «Вымирающие поколнения»
Первый процесс порождает 4 новых, каждый из которых - по 3, их потомки - по 2, а следующее поколение - только по одному процессу.
Вариант 1.2. «квадрат потомков»
Первый процесс порождает 3 новых, каждый из которых - по одному, их потомки - тоже по одному, следующее поколение - тоже только по одному процессу, после чего порождения новых процессов не происходит.
Вариант 1.3. «двоичное дерево»
Первый процесс порождает 2 новых, каждый из которых - по 2, их потомки - по 2, а следующее поколение процессов не порождает.

Задание 2. "ОБОЛОЧКА bash"

Необходимо написать скрипт на языке оболочки bash.

В этой программе необходимо реализовать выполнение повторяющихся действий над мно­жеством файлов, расположенных в заданном каталоге и во вложенных в него каталогах,

используя рекурсивный обход.

Используемые понятия и знания:


  • Основные конструкции языка оболочки.

  • Проверка типа файла, проверка успешности завершенной команды,

  • Выбор действия по суффиксу файла.


Вариант 2.1. "Распаковка файлов"
Программа должна распаковывать файлы, архивированные без пароля следующими

средствами:



  • утилитой tar,- суффиксы файлов: .tar;

  • утилитой gzip,- суффиксы файлов: .gz;

  • утилитой tar+gzip,- суффиксы файлов: .tar.gz, .tgz;

  • утилитой bzip2,- суффиксы файлов: .bz2, bz;

  • утилитой tar+bzip2,- суффиксы файлов: .tar.bz2, tbz2, .tbz;

  • утилитой zip,- суффиксы файлов: .zip;

  • утилитой rar,- суффиксы файлов: .rar;

  • утилитой 7z,- суффиксы файлов: .7z, .xz.

При неудаче во время распаковки исходные архивы сохраняются, при успешной

операции - удаляются. Использовать утилиты rar, unzip, bzip2, tar, gzip, 7z.


Вариант 2.2. "Приведение файлов изображений к одинаковому размеру"
Для оформления web-страниц часто требуются изображения фиксированного размера.

Программа должна все графические файлы преобразовать к заданному размеру, скажем,

иметь размер 640x400 пикселей или быть вписанным в прямоугольник такого размера.

Возможные типы входных файлов и их суффиксы:



  • формат jpeg, суффиксы,- .jpg, .jpeg

  • формат bitmap, суффиксы,- .bmp

  • формат gif, суффиксы,- .gif

  • формат tiff, суффиксы,- .tiff, .tif

  • формат png, суффиксы,- .png

Выходной файл должен быть в формате jpeg,

Использовать утилиту convert из пакета ImageMagick.
Вариант 2.3. "Перекодирование файлов"

Используя для определения кодировки, используемой в файлах утилиту "enca",

выполнить перекодировку всех текстовых (не двоичных!) файлов в UTF-8. Для перекодирования используется утилита iconv.

Возможные типы входных файлов и их суффиксы:



  • текстовой формат, суффиксы,- .lst, .txt;

  • формат гипертекстовой разметки, суффиксы,- .htm, .css, .xml;

  • формат исходного кода программы, суффиксы,- .pl, .cxx, .c++, .java;

  • без суффикса (по выводу enca).



Задание 3. Сетевые утилиты,-

проверка доступности удаленных компьютеров
Утилита ping позволяет используя протокол ICMP получить сведения о состоянии удаленного компьютера (хоста), - включен или выключен.

Написать программу (предпочтительно на bash), выполняющую следующее:

прочитав список хостов из файла "hosts.txt", расположенного в домашнем каталоге пользователя, проверять состояние хостов каждую минуту и отображать их актуальность в виде таблицы в окне терминала.
Вариант 3.1.

Формат входного файла:

В каждой строке указано имя хоста и через пробел его IP-адрес;

в выходной таблице отображаются только включенные компьютеры.



Вариант 3.2.

Формат входного файла:

В каждой строке указано имя хоста и через пробел его IP-адрес;

в выходной таблице отображаются все компьютеры, включенные выделяются цветом.


Вариант 3.3.

Формат входного файла:

В каждой строке указано имя хоста и через пробел его IP-адрес;

в выходной таблице отображается список всех компьютеров,



рядом с именем каждого ставится знак "+" или "-".


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка