Overview of Operating Systems

Download Report

Transcript Overview of Operating Systems

Overview of Operating Systems
Introduction to Operating Systems: Module 0
Course Introduction
 Course
Overview
 Objectives
 Topics
 Prerequisite
 Course
knowledge
Material
 Texbooks
 eBooks
 Course
homepage http://cs.uwm.edu/~cs537/
 Helpful
links
 Syllabus
 D2L
 Assignments,
quizzes
Objectives
 Understand the principles of OS
 concentration on systems which are
design
• general-purpose
• multi-user
• single processor
 See
how OS design can impact program performance
 Understand concurrency, and learn of the problems (such
as race conditions) and tools used to solve them (such as
semaphores)
 Learn major features of the POSIX API

as implemented by Solaris
Core course topics
 Computer
architecture & OS foundations
 Process management
 Concurrency
 Synchronization
 Memory
management
 CPU scheduling
 File systems
Prerequisite knowledge
 The
C++ programming language
 Assembly language for some machine
 Some familiarity with UNIX
 Basic graph theory
 Understanding of basic probability
 Conditional
probability
 Expected value
What is an operating system?
 Functions
of an Operating System
 Control
resource allocation
 Provide a user an environment for doing work
 Traditional
 Layers,
Design Approaches
modules, microkernel, monolithic
 Traditional Types
 General
Purpose
 Multiprocessor
 Distributed
 Real-time
of Operating Systems
Functions of an OS: Resource Management
 Time
management - temporal properties
 CPU
 Space
and disk transfer scheduling
management
 main
and secondary storage allocation
 Synchronization
 IPC,
and deadlock handling
race condition, coordination
 Accounting
 resource
and status information
usage tracking
Functions of an OS: User Environment
Transforms bare hardware machine into higher
level abstractions
 Execution environment

 process
 The
 file
implementation
processor does not know about processes
manipulation
 Blocks
 interrupt
 Serial
 I/O
and sectors  file names and directories
handling
device event  button click
actions
 Delayed
block write scheduled  Save a file
What can understanding the OS do for me?
 The
machine code executed while your program is running
is determined by the C++ statements in your program, the
compiler and libraries, and the operating system
C++ program
Library
C++
Compiler
Library
Operating System
Library
Library
CPU