Home

Newsletters

Conference

Qualifications


Introduction

Regulations

Module Precriptions


[ .. Back .. ]



Forum

Job Vacancies




Information and Communications
Technology Qualifications


| Back to list of Prescriptions

Prescription: PR740 (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 OS610(OS210) Operating systems (Internals)
PR62n(PR22n) Programming (Further techniques)

Student Learning hours 140

Content Revised pre 1996

Prescription Expiry Date Nov 2005


Level and Assessment Schedule
TopicsHighest
Skill Level
Suggested
Assessment
Percentage
1 Use Of Unix Operating System A 15
2 Multiple Program Applications C 5
3 Concurrent Programming C 20
4 Applications Programming A 60

100


The Student Will

1Use Of Unix Operating System
AUse the facilities provided for software development under the Unix operating system.
1.1Files and Directories
1.2Editors
1.3Shell commands
1.4Macros and shell programming.
top
2Multiple Program Applications
CDescribe 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.1Problems that require these solutions.
2.2Process spawning (fork).
2.3Alternate process execution or chaining.
2.4Interprocess communications
- message queues
- shared memory communications
top
3Concurrent Programming
CBuilding 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.1Problems that require these solutions
3.2File locking
3.3Collision detection
3.4Mutual exclusion and critical regions
3.5Deadlock
3.6Event handling - signals and semaphores
3.7Review of features (extensions) provided by this and other languages (e.g. Ada, Modula-2) which make special provision for concurrency problems.
top
4Applications Programming
AUse 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



| Home | Newsletters | Conference | Qualifications | Forum | Job Vacancies |