 |


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
|
|
|