CO1017 Operating Systems and Networks


CO1017 Operating Systems and Networks

Credits: 10 Convenor: Dr. S. Yang Semester: 2

Prerequisites: essential: CO1016, CO1003 desirable: CO1004
Assessment: Coursework: 40% Two hour exam in May/June: 60%
Lectures: 18 Problem Classes: none
Tutorials: none Private Study: 39
Labs: 12 Seminars: none
Project: none Other: none
Surgeries: 6 Total: 75

Subject Knowledge

Aims

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

Learning Outcomes

Students should be able to: understand the actions of current computer operating systems; understand the communications between computers; be familiar with the Unix operating system.

Methods

Class sessions together with course notes, recommended textbooks, lab practicals, worksheets, printed solutions, and some additional hand-outs and web support.

Assessment

Marked lab practicals, marked coursework, traditional written examination.

Subject Skills

Aims

To teach students scientific writing, problem solving and information handling skills.

Learning Outcomes

Students will be able to: write short, clear summaries of technical knowledge; solve abstract and concrete problems (both routine seen, and simple unseen), including numerical data; locate and access information.

Methods

Class sessions together with worksheets, lab practicals.

Assessment

Marked lab practicals, marked courseworks, traditional written examination.

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.

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:

Andrew S. Tanenbaum, Computer Networks, 3rd edition, Prentice Hall, 1996.

Colin Ritchie, Operating Systems Incorporating UNIX & Windows, 3rd edition, Continuum, 1999.

Recommended:

William Stallings, Data and Computer Communications, 6th edition, Prentice Hall, 2000.

Peterson and Davie, Computer Networks, Morgan Kaufmann, 2000.

Fred Halsall, Multimedia Communications: Applications, Networks, Protocols and Standards, Addison-Wesley, 2001.

Andy Sloane, Computer Communications: Principles and Business Apllications, 2nd edition, McGraw Hill, 1999.

A. M. Lister and R. D. Eager, Fundamentals of Operating Systems, 5th edition, MacMillan, 1993.

Andrew S. Tanenbaum, Modern Operating Systems, 2nd edition, Prentice Hall, 2001.

A. Silberscatz, P. Galvin and G. Gagne, Applied Operating System Concepts, 1st edition, John Wiley & Sons, 2000.

John O'Gorman, Operating Systems with Linux, Palgrave, 2001.

Resources

Course notes, web page, study guide, computer lab, worksheets, handouts, lecture rooms with two OHPs, past examination papers.

Module Evaluation

Course questionnaires, course review.


[University Home] [Faculty of Science] [MCS Home] [CS Home] CS Home Page [University Index A-Z] [University Search] [University Help]

Author: N. Rahman, tel: +44 (0)116 252 2593
Last updated: 2004-01-20
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.