INTRODUCTION
TO
OPERATING SYSTEMS
Lecture 1: INTRODUCTION
CHRIS STAFF
Dept. of Computer Science and Artificial Intelligence
University of Malta
Lecture Outline
Recommended reading
Why the course is important
Aims and Objectives:
Diagram of a typical computer system
What's an Operating System, and what does it do?
Different ways of operating:
Reasons for different operating requirements
Summary
Recommended Reading
Deitel, H.M., 1990, Operating Systems. (Second Edition). Addison
Wesley.
Silberschatz, A. and Galvin, P.B., 1994, Operating System Concepts.
Addison Wesley.
Tanenbaum, A., 1995, Distributed Operating Systems. Prentice
Hall.
Why this Course is Important for You
- Integral part of Computer Science
- Useful to know how Computers Operate in order to Design Efficient Systems
- Worth 2 credits
- Examined by a 2.5 hour exam at the end of the semester
What will we achieve during this Course
Understanding of:
- the Purpose of Operating Systems
- the Structure/Design of Operating Systems at an Introductory Level
- Case Study (UNIX
- Introduction to Distributed Systems
- Introduction to Object Oriented Operating Systems
Aims and Objectives of the Lecture
- Introduce the Course
- Describe Typical Computer Setup
- Different ways of Operating
Typical Computer System

What's an O.S. and What Does it Do?
- Software extensions to Hardware
- Provides for efficient control of and access to system facilities
- Provides a structure for running Programs
- Acts as a user interface
Different ways of Operating
Single-User Environment
- One User at a time
- Initially, running only one program at a time
- Now, Single-User PC allows several Programs to run at the same time (e.g.,
Windows 95, Mac System 7.x, OS/2)
- Can have WP and Spreadsheet open at same time and `switch' between them.
Multi-Access/Multi-user Environments
- Many users logged in at same time (e.g., via campus network or Internet)
- Same application run several times, or many different application run at the
same time
- Each user appears to have all systems resources available - The Virtual
Machine
Multi-tasking/Multi-processing
- A process is an instance of a program in execution - Definition
- Processes are run apparently in parallel by sharing system resources
- Multi-tasking does not imply Multi-user, nor vice versa
Multi-programming
- Multi-tasking + instructions / data from different processes co-resident in
memory
- Multi-programming implies multi-tasking, but not vice versa
Reasons for different operating requirements
Many users interactively using same computer system for many different tasks:
- Each user could be running a program interactively or in batch
- editing a file
- checking system status information
- At Lunch! But Logged in
- Needs to provide different levels of service
- Needs Quick Response
- Need to Protect users from each other
- System needs to be robust
Many Users running the same program - e.g., Flight reservations:
- Needs quick response time
- Easy to use
- sharing up-to-date information
- consistency and protection of data
Few Users, or fully automated system, mainly for checking system status - e.g.,
real-time system controlling nuclear reactor:
- Very fast - needs to respond to changing environment
- No real need for comprehensive user interface
- Reliable
- Secure
Batch system - e.g., bureau service
- only supervisor interacts with system
- all other programs are JOBS, collections of programs identified by a
job card.
- Little need for extensive user interface
- must run jobs according to some known set of criteria, as users may be
charged for use of the system.
- reliable
- secure
General Purpose OS:
- allows interaction and batch processing
- reasonable to excellent user interface
- inherits characteristics of like environments already described.
Summary
- Introduced the Course
- Described Typical Computer Setup
- Described (briefly) what an OS is and what its purpose is
- Looked at Different ways of operating
- Single-user
- Multi-user
- Multi-Processing
- Multi-programming
- And we looked at some examples of reasons for operating in different ways
Next Lecture...
Designing a Paper Operating System