29

Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Embed Size (px)

Citation preview

Page 1: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management
Page 2: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Operating Systems

Page 3: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Manage system resources– CPU scheduling– Process management– Memory management– Input/Output device management– Storage device management (hard disks,

CD/DVD drives, etc)– File System Management

• Simplify the development and use of applications

Purpose of an Operating System

Page 4: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Microsoft Windows• MacOS• Mac and PCs are not directly

compatible but virtualization can be used.

Mainstream Operating Systems

Page 5: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Operating system for large computers about 40 years ago.

• Linux– Free implementation of Unix– Supported by most platforms

UNIX

Page 6: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Most “devices” use an operating system to make application development easier.

• Examples: – cell phones (Symbian, BlackBerry,

Windows Mobile, etc).– Aircraft Systems (VxWorks, pSOS, QNX)

Special Purpose OS

Page 7: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Layers need to be concerned with layer below (and above)

• Layers are isolated from certain changes

Layers

Page 8: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Running Multiple

Operating Systems

Page 9: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Virtual Machine

Hardware

Windows (OS)

Windows Application VMWare Application

Linux (OS)

Linux Application

Page 10: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Running a Virtual

Machine

USER

Windows Applications

Windows

HARDWARE

Figure 2.3Layers with a virtual operating system

LinuxApplications

Linux

Virtual Computer Application

Page 11: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

OS Modes

• A typical operating system has two modes of operation. – User Mode– Kernel Mode

• These are like layers of operation within the operating system layer.

Page 12: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

User Mode

• The User Mode is concerned with the actual interface between the user and the system.

• It controls things like running applications and accessing files.

Page 13: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Kernel Mode

• The Kernel Mode is concerned with everything running in the background.

• It controls things like:– accessing system resources– controlling hardware functions– processing program instructions.

• The Kernel forms the core of the operating system.– acts like a supervisor for everything that is

happening in the computer.

Page 14: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

The Client-Server OS Model

• In the client-server model of an operating system, the User Mode is considered a client.– the User Mode accesses resources

provided by the Kernel (the server).

Page 15: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Gra

ph

ics

Sys

tem

ApplicationService

Typical OS Architecture

ServiceService

Service

ApplicationApplication

Application

Application Interface

Sch

ed

ule

r

Me

mo

ry

Ma

na

ge

r

I/O

De

vice

M

an

ag

er

File

Sys

tem

Se

curit

y S

yste

mKernel

Hardware

User mode(client)

Kernel mode(server)

Gra

ph

ics

Sys

tem

Dispatcher

Page 16: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Way for the user to control the operating system.

• Two types: graphical user interface (GUI) and command line interface

User Interface

Page 17: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Who starts the OS?

Page 18: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

GUI & Command Line

Page 19: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Command Line Interpreter

• Converts typed commands into operating system actions (system calls).

• Most interpreters execute applications to perform the system calls.

Page 20: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Managing System Resources

• An operating system needs to manage a wide range of system resources:– CPU scheduling and process

management– Memory (RAM)– Access to peripheral devices– File system management.

Page 21: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Decide when applications should run; does the order matter?

• Are the applications active or sleeping?

• Multiple applications at the same time

CPU Scheduling

Word

Applications

Microsoft Outlook

Adobe Acrobat

Internet Explorer

Page 22: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

The Process Table

• Keeping track of all of the processes is done with the Process Table.

• The Process Table lists:– Processes that are currently being run– Processes that are waiting to be

executed– Processes that have been temporarily

suspended– It also keeps track of the current status,

or state, of each process.

Page 23: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management
Page 24: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Give memory to each application as needed.

• Protect applications from each other

• Protect operating system from ‘bad’ applications

Memory Management

Windows

Word

Internet Explorer

Internet Explorer

Unused

RAM

Page 25: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Devices are very difficult to program• OS Provides Drivers• Applications speak to drivers• Drivers communicate to device

Peripherals

Page 26: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

• Manage Information (files and folders)

• Provide common view of storage devices

File System

Page 27: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Review Questions1. Describe two tasks that are performed by an

operating system.

2. Describe the four layers of interaction in an operating system model.

3. Briefly describe how you can install multiple operating systems on the same computer.

4. Draw a diagram to demonstrate how virtualization can be used to run multiple operating systems at the same time.

Page 28: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

5. Briefly describe the client-server model of an operating system.

6. Draw a simple diagram to show the two modes of operations of an OS.

7. Briefly describe the function of the Command Line Interpreter.

8. What are the major differences between System Calls and Interrupts?

9. Describe the purpose of the Process Table.

Page 29: Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management

Thank you