Aim of Module | To enable students to understand and develop system software for an environment involving PCs running DOS, linked together to form a LAN |
Credits | 14 |
Knowledge Assumed From | CA600(CA200) Computer Architecture & Organisation |
Student Learning hours | 140 |
Prescription Expiry Date | Nov 2007 |
Topics | Highest Skill Level | Suggested Assessment Percentage | |
1 Structure of DOS | C | 5 | |
2 DOS Data Areas | A | 10 | |
3 Files and the DOS Filing System | A | 15 | |
4 Devices | A | 25 | |
5 Memory Management | C | 5 | |
6 Writing Terminate & Stay Resident Programs | A | 25 | |
7 7. Process Communication on a LAN | A | 15 | |
100 |
1 | Structure of DOS |
C | Explain the basic components of DOS, the facilities they provide and when they are loaded. | |
1.1 | Initialisation procedure (BIO.COM, DOS.COM). | |
1.2 | User level (command.com, internal/external commands, alternative shells, comspec, batch files). | |
1.3 | Application level (com vs exe files, paths, program segmentation, command-line parameters). | |
1.4 | Hardware level (BIOS.in RAM or ROM, EMS) | |
2 | DOS Data Areas |
> | Describe the format and use of the DOS data areas that are needed to write the applications covered. These may include the following: | |
C | 2.1 | Program Segment Prefix (PSP) |
File control blocks (FCB) | ||
Data Transfer area (DTA) | ||
System file table (SFT) | ||
Device parameter block (DPB) | ||
Memory control block (MCB) | ||
List of lists | ||
Disk cache blocks | ||
Current Directory Structure (CDS) | ||
Environment space and variables | ||
A | 2.2 | Write a simple program to obtain a command-line parameter from the PSP. |
3 | Files and the DOS Filing System |
> | Explain in detail the DOS filing system and the facilities provided by DOS for file operations: | |
C | 3.1 | File Allocation Tables (FAT) |
Directory entries and structure | ||
File types (hidden, system etc) | ||
Operations on local and network files (open, close, read, | ||
write, locking and sharing) | ||
Detecting and recovering lost sectors on the disk | ||
Recovering deleted files | ||
Checking disk consistency | ||
A | 3.2 | Write a simple application to use the file and record locking facilities provided to shared files. |
4 | Devices |
> | Explain the way to control a variety of physical devices using DOS and BIOS functions. | |
C | 4.1 | Serial port devices. |
> | The speaker (via oscillator). | |
> | The keyboard: | |
- testing keyboard status | ||
- read without echo | ||
- reading the shift status register and scan codes | ||
> | Graphics adapters: | |
- use of video ram | ||
- detecting graphics adapters | ||
- simple graphics operations | ||
- cursor positioning | ||
> | Serial interface | |
A | 4.2 | Write and install a simplified device driver. Typical drivers may be for: |
- serial port | ||
- speaker | ||
- graphics card | ||
5 | Memory Management |
C | Use the functions provided by DOS to the programmer to allocate and release memory. | |
- expanded vs. extended memory | ||
- allocating and freeing memory | ||
- adjusting block size | ||
- MCB chain | ||
6 | Writing Terminate & Stay Resident Programs |
> | Use the functions provided by DOS to write a simple TSR which works correctly with other TSRs. | |
C | 6.1 | The re-entrancy problem with DOS |
The DOS busy flag (function 34h) | ||
Patching into interrupt vectors | ||
Loading, executing and removing TSRs | ||
A | 6.2 | Write a simple TSR. Typical applications may include: |
- A resident clock program | ||
- A print screen utility which will not hang the system | ||
- A resident spooler/despooler | ||
7 | 7. Process Communication on a LAN |
> | Use the facilities provided to develop an application which handles concurrent update problems to the same file on a LAN. | |
C | 7.1 | Process synchronisation. |
Accessing network status information. | ||
Communicating with other network processes | ||
A | 7.2 | Write a program which controls concurrent update to the same file on a LAN. |