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.