Exercise 1 - My Cat
- Use the system call open() to open a file that is specified on
the command line. Read the first 10 bytes of the file with the system call
read() and then display them on standard output using
write(). Use a static buffer.
- Still using a static buffer, write a program that functions as
cat ie, by opening one by one files specified on the command line,
reading them and writing them to standard output.
Exercise 2 - My CP
Rewrite a simple program cp
(copy a file to another). To create the
"target", be sure to use the flags O_CREAT
, and the
third parameter of open()
to properly position the rights of the newly
created file (look what happens if you do not).
Exercise 3 - Highlander
Write a program that "resists" to signal SIGINT
(reminder: this signal is
sent when you type Control-C in the terminal). To do so, use system call signal()
Exercise 4 - Highlander II
Rewrite the previous program with the system call sigaction()
, see the manpage sigsetops
(you should at
least use sigemptyset()
Exercise 5 - Speed-O-Meter
Write a speed-o-meter
, a program that measures the speed at which one send him data
(standard input), in bytes per second.
Exercise 6 - Shaper
Write a shaper
, a program that reads from standard input and writes to standard
output, but does not write faster than a certain speed specified in bytes per