 |


Prescription:PR340 Programming (UNIX) |
Aim of Module | To use the facilities provided by the Unix operating system to introduce the students to the principles and problems of software development.
|
Credits | 14
|
Knowledge Assumed From | OS210 Operating systems (Internals)
PR22n Programming (Further techniques)
|
Suggested Time | 140 student learning hours
|
Prescription Expiry Date | Nov 2002
|
The Student Will
| | | A | | Use the facilities provided for software development under the Unix operating system. |
|
| 1.1 | Files and Directories |
|
| 1.2 | Editors |
|
| 1.3 | Shell commands |
|
| 1.4 | Macros and shell programming. |
| top
| | | C | | Describe the general problems of applications that involve multiple communicating programs, and their solutions. |
|
> | Distinguish between these solutions explaining their inherent advantages and disadvantages and typical applications. |
|
| 2.1 | Problems that require these solutions. |
|
| 2.2 | Process spawning (fork). |
|
| 2.3 | Alternate process execution or chaining. |
|
| 2.4 | Interprocess communications |
| | - message queues |
| | - shared memory communications |
| top
| | | C | | Building on the above solutions describe the problems and their solutions for applications that lead to multiple programs accessing the same data from a file or memory. Reference should be made to single processor and multiple processor environments. |
|
| 3.1 | Problems that require these solutions |
|
| 3.2 | File locking |
|
| 3.3 | Collision detection |
|
| 3.4 | Mutual exclusion and critical regions |
|
| 3.5 | Deadlock |
|
| 3.6 | Event handling - signals and semaphores |
|
| 3.7 | Review of features (extensions) provided by this and other languages (e.g. Ada, Modula-2) which make special provision for concurrency problems. |
| top
| | | A | | Use the theory studied from the previous topics to develop application programs which implement the theory to solve typical application problems. |
|
> | Sample applications include: |
|
| | - A file and record locking system for an application |
| | - Online multi-user applications (e.g. enrolment, banking, reservations) which have multiple processes updating a database in a transaction processing environment (via a single control program). |
| | - Watchdog timers which interrupt a process when a certain operation or event occurs. |
| top
|
|
|