Download CO2017 Operating Systems, Networks and Distributed Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CO2017 Operating Systems, Networks and Distributed Systems
Credits: 20
Convenor: Dr. S. Yang
Semester: 2nd
Prerequisites:
Essential: CO1003
Desirable: CO1005,CO1016,CO1018
Assessment:
Coursework: 40%
Three hour exam in May/June: 60%
Lectures:
Surgeries:
Laboratories:
30
10
20
Private Study:
hours
hours
hours
90
hours
Subject Knowledge
Aims
To understand the role, structure and basic design of computer operating systems; the fundamental
theory and practice of networks; and the theory and design of systems distributed through the use of networks.
Learning Outcomes
Students should be able to: describe the fundamentals of current computer operating
systems, and communications between computers; to use the Unix operating system; describe key operating
system features such as processes, threads, scheduling and synchronization; solve simple problems concerning
the benefits and costs of distribution of computer systems; give detailed accounts of the structure and organization
of network hardware and software; describe the common physical attributes of networks.
Methods
Class sessions together with recommended textbooks, lab practicals, worksheets, and (some)
additional hand-outs and web support.
Assessment
Marked lab practicals, marked coursework, traditional written examination.
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 Prerequisites
Some knowledge of Java 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, and the details of why
it is desirable to link together distributed systems to form a single unit.
Linking computers so they may communicte 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 networks which yield distributed computing systems.
Detailed Syllabus
Operating systems/Distributed systems
The Department of Computer Science
1
Introduction Overview; history; hardware features; interrupts; kernal mode.
User interface Model of user interface; sytem calls; command language; job control language; GUI.
Process management Programs and processes; multitasking; dispatcher; scheduling and scheduling policies.
Memory management Memory allocation methods; paging; virtual memory; segmentation; protection
and sharing.
Input/output Characteristics of I/O devices; organization of I/O system; buffering.
File management Concept of file; directory structure; file management techniques; directory implementation.
Concurrent programming Thread; facilities for synchronization; interprocess communication; Java thread
programming.
Networks
Introduction Overview; different sorts of networks; layered protocols.
The Physical Layer Transmission media; representing binary data.
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; the network layer in the Internet.
The Transport Layer Connection management; transport layer in the Internet; congestion control; socket
concept; Java socket programming.
The Application Layer Domain name system; E-mail system.
Reading List
[A] Andrew S. Tanenbaum, Computer Networks, 4th edition, Prentice Hall, 2003. ISBN 0130661023.
[A] Colin Ritchie, Operating Systems Incorporating UNIX & Windows, 4th edition, Continuum, 2003. ISBN
0826464165.
[B] Andrew S. Tanenbaum, Modern Operating Systems, 2nd edition, Prentice Hall, 2001. ISBN 0130313580.
[B] John O’Gorman, Operating Systems with Linux, Palgrave, 2001. ISBN 0333947452.
[B] Stephen Burd, Systems Architecture, International Thomson Publishing Company, 1998. ISBN 0760049602.
[B] William Stallings, Data and Computer Communications, 7th edition, Prentice Hall, 2004. ISBN 0131833111.
[B] Peter Norton and Arthur Griffith, Peter Norton’s Complete Guide to Linux, Sams, 1999. ISBN 0672315734.
[B] Fred Halsall, Multimedia Communications: Applications, Networks, Protocols and Standards, AddisonWesley, 2001. ISBN 0201398184.
[B] J. Farley, Java Distributed Computing; ISBN: 1565922069, O’Reilly. 1998..
[B] M. Boger, Java in Distributed Systems; ISBN: 0471498386, Wiley. 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.
The Department of Computer Science
2