COP 5611: Operating Systems Instructor: Xiuwen Liu Department of Computer Science

advertisement
COP 5611: Operating Systems
Instructor: Xiuwen Liu
Department of Computer Science
Florida State University
Outline
• Class organization
– Syllabus
• Review of Classical Operating Systems
– That is, operating systems designed on a
particular computer
• A survey
5/29/2016
COP5611
2
Class organization
• Class syllabus
• Class web page
• Comments
– Grading
– Academic honor code
• Programs you submitted must be your own
• While discussions of class materials and assignments
are allowed, discussion and copying of solutions is
strictly prohibited.
– Feedbacks
5/29/2016
COP5611
3
Textbooks
• You are required to read the chapters in the
textbook
• You can skip sections only when specified
• You may be tested on the materials in the
textbook but not fully covered in the class
– I will specify those sections clearly for self
studying
– The majority on quizzes and exams will be
covered in the class
5/29/2016
COP5611
4
Programming Environment
• Two programming assignments must be done on either
linprog or program
– linprog consists of four linux machines
– program consists of four Sun workstations
– Doing the assignments on other machines is not allowed
• You may loose some of your privilege
• Your account may be even revoked
– Your program will be tested on program; any submitted
executable programs must be compiled and run correctly on
program
5/29/2016
COP5611
5
Expectations
• Expectations now
– You are expected to have known the technical issues,
design principles, and common solutions in classical
operating systems
• Expectations after finishing this course
– You are expected to understand the technical issues
and solutions in distributed operating systems
• General expectations
– Working hard attitude and enthusiasm toward
learning new and difficult topics
5/29/2016
COP5611
6
Overview of the Course
• This course focuses on distributed operating
systems
– Technical issues and solutions
• Chapters 5-8
• I think these are the technically most difficult part
• We will cover those algorithms in depth
– Concepts and main issues
• Distributed resource management, security and protection,
and fault tolerance and recovery
– Practical paradigms
• Main differences between this class and undergraduate
operating system class
5/29/2016
COP5611
7
Operating System
• An operating system is a layer of software on
a bare machine that performs two basic
functions
– Resource management
• To manage resources so that they are used in an
efficient and fair manner
– User friendliness
5/29/2016
COP5611
8
Hardware Advances
• Advances in OS are mainly driven by the advances
in hardware
– Early stage
• From 1945 modern computers were invented
• Until about 1985, computers were large and expensive
• They were operated mainly independently and used for scientific
computation by experts
– Modern stage
• Powerful microprocessors
• Advanced network technology
– The amount of improvement over the half century is truly
staggering and totally unprecedented
• A price/performance gain about 1012
5/29/2016
COP5611
9
A Comparison for Fun
• Suppose that cars had improved at the same
rate during the same time period, how much
would this car cost today?
5/29/2016
COP5611
10
A Brief History
5/29/2016
COP5611
11
Genesis of Modern OS
5/29/2016
COP5611
12
von Neumann Architecture
5/29/2016
COP5611
13
S1 bus
Dest bus
S2 bus
C
o
n
t
r
o
l
ALU
A
B
R0, r1,...
C
(registers)
ia(PC)
u
n
i
t
IR
psw...
MAR
MDR
Memory
MAR memory address register
MDR memory data register
IR instruction register
Major Components of an OS
5/29/2016
COP5611
15
Design Approaches
• A good operating system design must
separate policies from mechanisms
– Policies refer to what should be done
– Mechanisms refer to how it should be done
– The separation contributes greatly to flexibility
• Policies make use of underlying mechanisms and are
likely to change
5/29/2016
COP5611
16
The Layered Approach
• In this approach the OS is divided into
several layers
– The functions are vertically apportioned into
these layers
– Each layer has well-defined functionality and
input-output interfaces with the two adjacent
layers
5/29/2016
COP5611
17
Structure of THE Operating Systems
5/29/2016
COP5611
18
Depiction of Windows XP Architecture
5/29/2016
COP5611
19
The Kernel Approach
• In this approach, a kernel is a collection of
primitive facilities over which the rest of
operating system is built, using the functions
provided by the kernel
– This approach provides considerable flexibility
because the policy and optimization decisions are
not made at the kernel level
5/29/2016
COP5611
20
Components of a Linux System
-This is often called monolithic kernel
- The kernel is a big monolithic kernel consisting of
all the services provided by the operating systems
5/29/2016
COP5611
21
A Typical Microkernel OS
1.11
5/29/2016
COP5611
22
The Virtual Machine Approach
• In this approach, a virtual machine software
on the bare hardware gives the illusion that
all machine hardware is at the sole disposal
of each user
– A user can run a single-user OS on this virtual
machine
– A user can also run other operating systems
5/29/2016
COP5611
23
Why Advanced Operating Systems
• Most efforts before 1980 were focused on socalled classical operating systems
– Stand-alone computers with a single processor
• With the availability of cheap powerful
microprocessors and significant advances in
communication technology, a few powerful
computers can provide an enormous
computing power with lower cost
– This raises many technical issues that were not
presented in classical operating systems
5/29/2016
COP5611
24
Survey
• This survey consists of a few questions
– The purpose is to give me a better knowledge of
your background so that I may do a better job
– It will not be used for any grading
• Next time we will talk about Chapter 4
regarding distributed operating systems
5/29/2016
COP5611
25
Download