By the end of the course, students should be able to demonstrate the following
knowledge and skills:
Topic |
Knowledge Objectives |
Skill Objectives |
Operating System Overview |
- Define and list the functions of an operating system
- List and explain common features of operating systems
- Explain the historical reasons why different features of operating systems were
developed
- Contrast batch, on-line (interactive) and real-time processing
- Contrast real-time transaction processing and process-control
operating systems
- Differentiate between multiprocessing, multiprogramming, and
multitasking
- Explain the purpose and examples of spooling of input and output
- Explain the developments of different versions of popular operating
systems, including DOS/Windows and UNIX/Linux
- Compare a monolithic kernel with a microkernel
- Justify the use of layers of abstraction and explain the concept of
hardware-OS boundary transparency
- Explain benefits of object-oriented design in operating systems
|
|
User Interfaces |
- Describe different types of operating system users (end users,
programmers, operators/administrators) and compare their uses
- Describe and compare the function of different types of user
interfaces provided by the operating system, including:
- system calls
- command languages
- job control languages
- graphical user interfaces
- Explain the use of different types of DOS and Windows system files
and contents of system folders
- Explain the function of common UNIX system calls
|
- Connect and log on to and off of UNIX and Windows systems
- Start up and shut down UNIX and Windows systems
- Use Graphical User Interface features of Windows and Linux (Gnome,
KDE)
- Type DOS and UNIX commands at the prompt
- Write DOS batch files and UNIX shell scripts
- View contents of system folders
- View and change system settings (Windows and Linux control panels)
- View environmental variables (env, set, System Information
environmental variables)
- View and edit autoexec.bat, config.sys, .ini files
- Use Windows Registry Editor to view registry keys
- View help and on-line documentation for commands and tasks (help switch,
man pages, DOS/Windows help)
|
Processes, Threads, and Scheduling
|
- Differentiate between programs, processes and threads
- List resources involved in process creation and management
- Explain how interrupt requests are handled
- Describe the process life cycle using a state diagram
- List and explain scheduling criteria
|
- View process status
- in Windows (task manager; System Information
running tasks, loaded modules, startup programs, print jobs)
- in UNIX (ps, top)
- Start and stop programs, processes and batch jobs
- in Windows (DOS prompt, run dialog box, shortcuts, Alt-F4,
Ctrl-Alt-Del)
- in UNIX (run, at, nice, &, kill, sleep)
|
Memory Management
|
- Describe how processes are loaded and swapped
- Explain how memory is partitioned to run multiple programs
- Explain the use of paging and segmentation
- Explain DOS expanded and extended memory
- Explain advantages of Windows memory management over DOS
|
- View usage of physical and virtual memory
- in DOS/Windows (mem, system monitor, win386.swp)
- in UNIX/Linux (swap partition and related commands)
|
Input/Output Systems |
- Explain the function and structure of the I/O system
- Compare the use of device drivers in UNIX, DOS and Windows
- Contrast block and character devices
- Explain the use of direct memory access, buffering and virtual
devices
|
- View hardware devices through the file system (a:-z:, /dev)
- View hardware resources (System control panel device manager, System
Information hardware resources and components)
- Add New Hardware control panel
- Install drivers for an I/O device
- Configure IRQs and I/O and DMA addresses
|
Secondary Storage |
- Explain how a disk's physical structure affects its performance and
disk scheduling algorithms
- Differentiate between disks, drives and volumes
- Describe methods of file allocation
- Explain the use of blocking, disk caching and RAM disks
|
- View disk structure (platters, tracks, sectors, cluster size) and
disk usage
- Format and partition disks
- Mount and unmount volumes
|
File System |
- Describe path names and directory structure visible to end users
- Describe the related structure of files, inodes and directories
- Differentiate between hard and symbolic links
- Compare file naming in UNIX, DOS and Windows
|
- Manipulate files and directories, links and shortcuts: list, view,
create, delete, move, rename
- View and change access permissions and other file and directory
attributes
- Use file system utilities such as Windows: chkdsk, scandisk, defrag and disk cleanup;
UNIX: fsck
|
Concurrent Processes and Synchronization |
- Explain how processes compete for resources
- Explain the use of semaphores for file and record locking
- Explain the implementation of semaphores in UNIX
- Describe methods of deadlock prevention, avoidance and detection
- Describe the use of signals, pipes and shared memory
- Describe Windows DDE and OLE
|
- Pipe the output of one command to the input of another
- Send signals to processes
|
Networks and Distributed Systems |
- Describe the features of network operating systems
- Describe the features of popular distributed systems (e.g. CORBA,
DCE, DCOM, DSOM, DAIS)
|
- Mount a remote volume using NFS
- Use tools for network file access and monitoring (e.g. Network
Neighborhood, NetWatcher)
|
Protection, Security and Recovery |
- List and describe different types of security threats
- Explain the working of different types of viruses and anti-virus software
- Describe procedures to minimise security threats, including hardware
access restrictions, file protection and backups
- Describe operating system security features, including access control,
audit controls and memory protection
- Explain the use of encryption and common encryption algorithms
|
- Use anti-virus software
- Use backup software
- View, change, create and delete user accounts
- Use Windows Policy Editor
|
System Administration |
- List and describe system performance indicators
|
- Create a plan for systems administration and maintenance
- Install operating systems and their components
- Use tools to monitor and evaluate system performance
|