OS_Intro - SIUE Computer Science

Download Report

Transcript OS_Intro - SIUE Computer Science

CS 314 Operating Systems
Welcome to CS314 Operating Systems
A Quick Tour for Introduction to OS
Department of Computer Science
Southern Illinois University Edwardsville
Spring, 2016
Dr. Hiroshi Fujinoki
E-mail: [email protected]
OS_Intro/001
CS 314 Operating Systems
Presentation Agenda
What is Operating System?
Why do we need Operating Systems?
( = Why not just application programming?)
What kinds of Operating Systems exist?
What are we going to learn in this course?
What are we NOT going to learn in this class?
OS_Intro/002
CS 314 Operating Systems
What is Operating System?
(1) A middleman between you (as a user) and computer hardware
You (or your program)
command!
Why not?
• You (yes, you) have to know
how to directly control hardware
Computer Hardware
OS_Intro/003
CS 314 Operating Systems
What is Operating System?
(1) A middleman between you (as a user) and computer hardware
You need to manage:
everything such as
 Controller chips
 Assembly language
 and more ...
Computer Hardware
OS_Intro/004
CS 314 Operating Systems
What is Operating System?
(1) A middleman between you (as a user) and computer hardware
You (or your program)
command!
OS is the software that
directly control hardware
As high-level commands
(e.g. “READ My_File.txt”)
OS
Low-level commands
Computer Hardware
OS_Intro/005
“Read Sectors 1E to 4F”
CS 314 Operating Systems
What is Operating System (continued)?
(2) The government in your computer (the agent that allocate resources)
Program A
Program B
Request resources
Request resources
A Computer
CPU
Network
Memory
Disk
Keyboard
Request resources
Program C
OS_Intro/006
Etc.
Request resources
Program D
CS 314 Operating Systems
If you DO have an OS …
Program A
Program B
Program C
OS
CPU
Network
Memory
Disk
Keyboard
OS_Intro/007
Etc.
Program D
CS 314 Operating Systems
What is Operating System (continued)?
(2) The government in your computer (the agent that allocate resources)
Another
User
You (or your program)
command!
• Computer hardware can not be
shared by more than one user
(or more than one program)
Computer Hardware
OS_Intro/008
If the resource being used is
printer, the output will be
gibberish!
CS 314 Operating Systems
What is Operating System (continued)?
(2) The government in your computer (the agent that allocate resources)
You (or your program)
command!
Another User
“print”
OS
Manage (serialize)
I/O requests from users
Computer Hardware
OS_Intro/009
CS 314 Operating Systems
The three-layer structure in a computer system
High-level
commands
Low-level
Commands
(Assembly Routines)
You (as a user)
APIs
(System Calls)
Application Programs
Operating System
Computer Hardware
OS_Intro/010
CS 314 Operating Systems
Summary for “What is Operating System”
(1) OS is the software that directly control hardware
(2) OS is a middleman between you (as a user) and computer hardware
that hides details of hardware
OS provides “hardware abstraction”
(3) OS is the government in your computer (the agent that allocate resources)
OS provides “resource management” in your computer
OS_Intro/011
CS 314 Operating Systems
What kinds of Operating Systems exist?
› General Purpose OS:
– UNIX, MS-DOS, Windows, Be-OS
› Network OS:
– Novell Netware, NFS, Windows-NT
› Embedded OS:
– TRON (I-TRON - Univ. of Tokyo)
› Real-time OS:
– RxDOS (Computer Wave)
› Special Purpose (e.g., for super computers):
– AIX (UNIX for Deep Blue, ASCI White)
– IRIX (UNIX for Render Farm)
› Research prototypes:
– Amoebas (U. of Amsterdam), EROS (U. of Pennsylvania)
OS_Intro/012
CS 314 Operating Systems
What is this course about?
• Identifying major components in modern operating systems
• Understand the purpose of each OS component
• Understand how each OS component works
• Performance analysis for different implementations of an OS component
• Survey for advanced operating systems
What is this course NOT about?
• How to use Windows XP
(We may discuss it to compare to other operating systems)
• Develop an operating system
OS_Intro/013
CS 314 Operating Systems
Major components in modern operating systems
(1) Process management (= allocating CPU resource)
• Process and thread (light-weight process)
• Inter-Process Communication (IPC)
• Process Synchronization
(2) Memory management
• Paging
• Virtual memory
• Segmentation
(3) I/O resource management
• Deadlock avoidance
(4) User management
• Security
OS_Intro/014
CS 314 Operating Systems
Why do I need to learn OS?
Let’s talk about it before we start this course …..
OS_Intro/015