Добор баллов 20.10.2016 (Дубров Д. В.)
Открыто с: четверг, 20 октября 2016, 15:50
Срок сдачи: четверг, 20 октября 2016, 18:15
Требуемые условия завершения
Программирование на bash
- [2 балла] Написать сценарий, который принимает единственное имя файла как аргумент, и добавляет разрешения на выполнение для владельца, но только если это обычный файл. Сценарий должен проверять, что у него точно один аргумент, в противном случае должен вывести сообщение об использовании сценария.
Программирование на C, POSIX API
I вариант
- [20 баллов] Родительский процесс должен считывать по одной строке из консоли (признак завершения — пустая строка) и передавать её дочернему процессу. Дочерний процесс должен выводить строку в текстовый файл. Необходимо организовать обмен между процессами при помощи неименованных каналов.
- [20 баллов] Задано n имён текстовых файлов. Программа должна в n потоках считывать целые значения из этих файлов и прибавлять получаемые значения к глобальной переменной, блокируемой мьютексом.
- [20 баллов] Решить предыдущую задачу для случая n = 2 при помощи родительского и дочернего процесса, а также переменной в общей памяти, доступ к которой ограничен семафором.
II вариант
- [20 баллов] Родительский процесс должен найти все простые числа, не большие заданного значения, и передать их дочернему процессу. Дочерний процесс должен вывести их на консоль. Необходимо организовать обмен между процессами при помощи неименованных каналов.
- [20 баллов] Задан массив целых чисел. Каждый k-й поток (k меняется от 0 до n - 1, всего n потоков) должен считывать элементы массива с номерами k, n + k, n + 2 k и т. д. (до конца массива) и прибавлять их к локальной переменной, содержащей сумму элементов массива, обрабатываемых текущим потоком. По окончании суммирования данных всеми потоками основной поток должен найти сумму всех локальных сумм потоков и вывести полученное значение на консоль.
- [20 баллов] Решить предыдущую задачу для случая n = 2 при помощи родительского и дочернего процесса, а также переменной в общей памяти, доступ к которой ограничен семафором.