overview of operating systems introduction to operating systems: module 0

9
Overview of Operating Systems Introduction to Operating Systems: Module 0

Upload: joleen-hawkins

Post on 17-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Overview of Operating Systems Introduction to Operating Systems: Module 0

Overview of Operating Systems

Introduction to Operating Systems: Module 0

Page 2: Overview of Operating Systems Introduction to Operating Systems: Module 0

Course Introduction Course Overview

Objectives Topics Prerequisite knowledge

Course Material Texbooks eBooks Course homepage

Helpful links Syllabus

D2L Assignments, quizzes

http://cs.uwm.edu/~cs537/

Page 3: Overview of Operating Systems Introduction to Operating Systems: Module 0

Objectives

Understand the principles of OS design concentration on systems which are

• 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

Page 4: Overview of Operating Systems Introduction to Operating Systems: Module 0

Core course topics

Computer architecture & OS foundations Process management

Concurrency Synchronization

Memory management CPU scheduling File systems

Page 5: Overview of Operating Systems Introduction to Operating Systems: Module 0

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

Page 6: Overview of Operating Systems Introduction to Operating Systems: Module 0

What is an operating system?

Functions of an Operating System Control resource allocation Provide a user an environment for doing work

Traditional Design Approaches Layers, modules, microkernel, monolithic

Traditional Types of Operating Systems General Purpose

Multiprocessor Distributed Real-time

Page 7: Overview of Operating Systems Introduction to Operating Systems: Module 0

Functions of an OS: Resource Management

Time management - temporal properties CPU and disk transfer scheduling

Space management main and secondary storage allocation

Synchronization and deadlock handling IPC, race condition, coordination

Accounting and status information resource usage tracking

Page 8: Overview of Operating Systems Introduction to Operating Systems: Module 0

Functions of an OS: User Environment

Transforms bare hardware machine into higher level abstractions

Execution environment process implementation

The processor does not know about processes file manipulation

Blocks and sectors file names and directories interrupt handling

Serial device event button click I/O actions

Delayed block write scheduled Save a file

Page 9: Overview of Operating Systems Introduction to Operating Systems: Module 0

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

CPU

C++ program

C++Compiler

Library

Library

Library

Library

Operating System