COP 5611: OPERATING SYSTEMS
 -Spring 2002- 
Xin Yuan
Lecture #1: Introduction
Topics for today
Today's topic is from Chapter 1 in the Advanced Concepts in
OS text.
Operating systems:
- What kind of services are provided by OS?
- Imagine the steps to run a program that prints a single character 
to the screen without the help of the OS?
 
 - An operating system allows (1) users to access system resources painlessly.
     (2) system resources to be used effectively.
-  resource management: time management, space management, process synchronization, deadlock handling, accounting and status information.
 -  User friendliness: execution environment, error detection and handling, 
     protection, security, fault tolerance and failure recovery.
 
 
 Advanced operating systems:
- Traditional operating systems: running on stand alone computer 
    with single processors.
 - Advanced operating systems: distributed operating systems, multiprocessor 
    operating systems and database operating systems.
-  running on a system with multiple (autononus) computers/processors
 -  usually assuming that the individual computers run 
     traditional operating systems.
 -  One goal of these advanced operating systems is to hide the details of 
     multiple computers and make users feel
     that they are using a single computer.
 -  we need different kind of os due to the difference of 
     system architectures (share memory systems and distributed memory systems)
     and due to the difference of application requirement (database and 
     realtime)
 -  An example: a large scale distributed file system: Andrew file system.
 
 
 Some examples of the issues to be considered in advanced operating systems
(this is what we will be covering in the course)
- Example No.1: checkpointing bank transcations.
-  What is a consistent state in a distributed system?
 
 - Example No. 2: mutual exclusion
- An atomic test-and-set instruction in a single processor system
 - What to do in a distributed system?
 
 
Summary:
-  This course will NOT cover techniques used in traditional 
     operating systems.
 -  This course will cover techniques to build a high level system services
     that manage a group of individual computers.