next up previous
Next: MC123 Introduction to Newtonian Up: Year 1 Previous: MC116 Computer Systems

MC117 Operating Systems and Networks


MC117 Operating Systems and Networks

Credits: 10 Convenor: Gavin Lowe Semester: 2


Prerequisites: essential: MC116, MC103 desirable: MC104
Assessment: Coursework: 40% 1$\frac{1}{2}$ hour exam in May/June: 60%

Lectures: 18 Classes: 3
Tutorials: none Private Study: 44
Labs: 10 Seminars: none
Project: none Other: none
Total: 75

Explanation of Pre-requisites

Some knowledge of programming and of hardware is required.

Course Description

An operating system forms the interface between the computer's hardware and the user; examples include Windows NT, Linux (and other versions of Unix), and MacOS. The operating system has many tasks, such as: managing processes, allocating processor time between different processes; allocating the memory between different processes; organizing input and output; and managing files. The operating system is responsible for protecting the user from other users, and where possible from himself/herself. The ``Operating Systems'' part of the module explains how these tasks are carried out in modern computers.

Computer communications is very much a part of modern life, with the ever-rising popularity of the Internet and the World Wide Web. In the Networks part of the course we will study the science underpinning such communications. Topics of interest will include the underlying physical media, the way data is represented, how errors in transmission can be detected and dealt with, the way information is routed over a large network, and the details of some actual network applications.

Aims

To gain an appreciation of the role of computer operating systems. To become aware of the requirements and limitations of networked communication channels.

Objectives

Transferable Skills

Syllabus

Operating systems
Introduction
Overview; history; processes; hardware features; interrupts.
Process management
Programs and processes; multitasking; the dispatcher; scheduling and scheduling policies.
Memory management
Memory allocation methods; paging; virtual memory; segmentation; protection and sharing.
Input/output
Organization of I/O; device independence; device handlers; semaphores; buffering.
File management
Directory structure; file management techniques; sharing and security; integrity.
Networks
Introduction
Requirement for communication; different sorts of network; layered protocols; connection-oriented and connectionless services.
The Physical Layer
Twisted-pair; coaxial cable; fibre optic cable; wireless transmission; limits to communication; representing binary data; the telephone system; multiplexing.
The Data Link Layer
Error detection and correction; flow control; channel allocation; protocols for local area networks; bridges.
The Network Layer
Datagrams and virtual circuits; routing; congestion control; internetworking; firewalls; the network layer in the Internet.
The Transport Layer
Connection management; the transport layer in the Internet; optimizations and congestion control.
The Application Layer
Security; Domain Name System; electronic mail; Usenet news; the World Wide Web.

Reading list

Essential:

Tanenbaum, Computer Networks, Prentice Hall, 1996.

Recommended:

Lister and Eager, Fundamentals of Operating Systems, 4th edition, MacMillan, 1993.

Ritchie, Operating Systems, 2nd edition, DP Publishing, 1995.

Tanenbaum and Woodhull, Modern Operating Systems, Prentice Hall, 1997.

Sloan, Computer Communications, McGraw Hill, 1993.

Stallings, Data and Computer Communications, 4th edition, Prentice Hall, 1994.

Beauchamp and Poo, Computer Communications, Thompson Computer Press, 1995.

Details of Assessment

The coursework will consist of four or five practicals on the Linux operating system (a variant of Unix), one worksheet on the theory of operating systems, and two worksheets on networks.

The written exam will contain three questions: one containing short questions, examining the students' knowledge of the subject in breadth; and two longer questions, one for each part of the module, examining the students' knowledge in depth. Candidates can obtain full marks from two good answers.


next up previous
Next: MC123 Introduction to Newtonian Up: Year 1 Previous: MC116 Computer Systems
S. J. Ambler
11/20/1999