|
Course Syllabus
|
*
Introduction |
-
Facilities and Concepts |
|
- Posix |
* Input
and Output |
- Low
level I/O; read, write, open, close |
|
- The
standard I/O library |
|
- File
status and fcntl |
|
- File
locking; advisory and mandatory |
|
- Devices
and the ioctl call |
|
-
Scatter/gather |
|
- Memory
mapped files |
|
- File
attributes |
|
-
Asynchronous I/O |
|
-
Directory management |
|
|
*
Processes |
-
Description of a process, creation with fork |
|
- Running
programs with exec |
|
- Command
line arguments and environment variables |
|
- Waiting
for processes |
|
- Altering
process attributes |
|
- Real and
effective users |
|
- Memory
Locking |
|
|
* Timers |
-
Getting/setting the time |
|
- Using
Timers |
|
|
* Signals |
- Normal
usage, catching, use as a communications method |
|
- The non-
local goto, longjmp |
|
- Posix
Enhanced signal mechanism |
|
|
* Pipes |
-
Description, creation, use for process communication |
|
- Pipes
and the standard I/P and O/P, the dup system call |
|
- FIFO’s |
|
|
* Posix or
System V IPC |
- Message
passing, Shared memory, Semaphores |
|
|
* Threads |
- Overview, Threads and Processes, implementations |
|
- Thread creation and termination |
|
- Thread scheduling |
* Thread
Synchronisation |
- Mutexes |
|
- Condition Variables |