Раздел «Язык Си».OSTasks:

Задачи по курсу АКОС

cp

Написать программу, которая копирует один указанный файл в другой. Имена файлов указывать в аргументах командной строки. Т.е. программа должна делать то же, что cp -f filename1 filename2

ls -lr

Написать программу, которая делает то же, что и команда ls -lr Системные вызовы семейства exec не использовать. Вместо имен пользователей и групп можно писать uid и gid.

fork

Родитель порождает N детей (N задано в аргументах командной строки). Каждый ребенок печатает свой pid. Порядок печати детей - произвольный. Обратите внимание на то, что command prompt должен печататься после номеров всех детей.

pipe

Напишите программу mycmd, которая выполняет команды с параметрами, указанные в качестве аргументов вызова этой программы и затем выводит сколько символов было напечатано этой командой. Например, mycmd ls -l должен напечатать то же, что и ls -l и напечатать далее ххх chars, подсчитав это количество символов ххх.

Аналогично, запустив mycmd pwd мы должны получить полное имя текущей директории и его длину в символах. То же самое для других параметров.

Разделяемая память и семафоры

Спросить у Ксении. Обычно откопировать файл через разделяемую память. Для синхронизации использовать сема

pthread

todo

select

Реализовать алгоритм поиска простых чисел до N (задается аргументом командной строки), порождаются дети, каждый ребенок вычеркивает числа, кратные некоторому ОДНОМУ числу.

socket

todo

signal

Откопировать файл используя для передачи ДАННЫХ сигналы.

-- TatyanaDerbysheva - 01 Apr 2011