operating system concepts presentation

39
Presented by Nitish Jadia Operating System Concepts

Upload: nitish-jadia

Post on 17-Feb-2017

184 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Operating System Concepts Presentation

Presented by – Nitish Jadia

Operating System Concepts

Page 2: Operating System Concepts Presentation

A program that acts as an intermediary between a user of a computer and the computer hardware

Operating system goals:◦ Execute user programs and make solving user

problems easier

◦ Make the computer system convenient to use

◦ Use the computer hardware in an efficient manner

Page 3: Operating System Concepts Presentation

Computer system can be divided into four components:◦ Hardware – provides basic computing resources CPU, memory, I/O devices

◦ Operating system Controls and coordinates use of hardware among various

applications and users

◦ Application programs – define the ways in which the system resources are used to solve the computing problems of the users Word processors, compilers, web browsers, database

systems, video games

◦ Users People, machines, other computers

Page 4: Operating System Concepts Presentation
Page 5: Operating System Concepts Presentation

I/O devices and the CPU can execute concurrently

Each device controller is in charge of a particular device type

Each device controller has a local buffer CPU moves data from/to main memory

to/from local buffers I/O is from the device to local buffer of

controller Device controller informs CPU that it has

finished its operation by causing an interrupt

Page 6: Operating System Concepts Presentation
Page 7: Operating System Concepts Presentation

Most systems use a single general-purpose processor◦ Most systems have special-purpose processors as well

Multiprocessors systems growing in use and importance◦ Also known as parallel systems, tightly-coupled systems

◦ Advantages include:

1. Increased throughput

2. Economy of scale

3. Increased reliability – graceful degradation or fault tolerance

Page 8: Operating System Concepts Presentation

Multi-chip and Multicore

Systems containing all chips

◦ Chassis containing multiple separate systems

Page 9: Operating System Concepts Presentation

Like multiprocessor systems, but multiple systems working together◦ Usually sharing storage via a storage-area network (SAN)◦ Provides a high-availability service which survives

failures Asymmetric clustering has one machine in hot-standby

mode

Symmetric clustering has multiple nodes running applications, monitoring each other

◦ Some clusters are for high-performance computing (HPC) Applications must be written to use parallelization

◦ Some have distributed lock manager (DLM) to avoid conflicting operations

Page 10: Operating System Concepts Presentation
Page 11: Operating System Concepts Presentation

Multiprogramming (Batch system) needed for efficiency

Single user cannot keep CPU and I/O devices busy at all times

Multiprogramming organizes jobs (code and data) so CPU always has one to execute

A subset of total jobs in system is kept in memory

One job selected and run via job scheduling

When it has to wait (for I/O for example), OS switches to another job

Timesharing (multitasking) is logical extension in which CPU switches jobs so frequently that users can interact with each job while it is running, creating interactivecomputing

Response time should be < 1 second

Each user has at least one program executing in memory process

If several jobs ready to run at the same time CPU scheduling

If processes don’t fit in memory, swapping moves them in and out to run

Virtual memory allows execution of processes not completely in memory

Page 12: Operating System Concepts Presentation
Page 13: Operating System Concepts Presentation

Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines

Interrupt architecture must save the address of the interrupted instruction

A trap or exception is a software-generated interrupt caused either by an error or a user request

An operating system is interrupt driven

Page 14: Operating System Concepts Presentation
Page 15: Operating System Concepts Presentation

Programming interface to the services provided by the OS

Typically written in a high-level language (C or C++)

Mostly accessed by programs via a high-level Application Programming Interface (API)rather than direct system call use

Three most common APIs are Win32 API for Windows, POSIX API for POSIX-based systems (including virtually all versions of UNIX, Linux, and Mac OS X), and Java API for the Java virtual machine (JVM)

Page 16: Operating System Concepts Presentation

System call sequence to copy the contents of one file to another file

Page 17: Operating System Concepts Presentation

Typically, a number associated with each system call◦ System-call interface maintains a table indexed

according to these numbers

The system call interface invokes the intended system call in OS kernel and returns status of the system call and any return values

The caller need know nothing about how the system call is implemented◦ Just needs to obey API and understand what OS will do

as a result call◦ Most details of OS interface hidden from programmer

by API Managed by run-time support library (set of functions built

into libraries included with compiler)

Page 18: Operating System Concepts Presentation
Page 19: Operating System Concepts Presentation

Process control◦ create process, terminate process

◦ end, abort

◦ load, execute

◦ get process attributes, set process attributes

◦ wait for time

◦ wait event, signal event

◦ allocate and free memory

◦ Dump memory if error

◦ Debugger for determining bugs, single step execution

◦ Locks for managing access to shared data between processes

Page 20: Operating System Concepts Presentation

File management◦ create file, delete file

◦ open, close file

◦ read, write, reposition

◦ get and set file attributes

Device management◦ request device, release device

◦ read, write, reposition

◦ get device attributes, set device attributes

◦ logically attach or detach devices

Page 21: Operating System Concepts Presentation
Page 22: Operating System Concepts Presentation

C program invoking printf() library call, which calls write() system call

Page 23: Operating System Concepts Presentation

Interrupt driven (hardware and software)◦ Hardware interrupt by one of the devices ◦ Software interrupt (exception or trap): Software error (e.g., division by zero)

Request for operating system service

Other process problems include infinite loop, processes modifying each other or the operating system

Page 24: Operating System Concepts Presentation

Dual-mode operation allows OS to protect itself and other system components◦ User mode and kernel mode ◦ Mode bit provided by hardware Provides ability to distinguish when system is running

user code or kernel code Some instructions designated as privileged, only

executable in kernel mode System call changes mode to kernel, return from call

resets it to user

Increasingly CPUs support multi-mode operations◦ i.e. virtual machine manager (VMM) mode for guest

VMs

Page 25: Operating System Concepts Presentation

Timer to prevent infinite loop / process hogging resources◦ Timer is set to interrupt the computer after some time period◦ Keep a counter that is decremented by the physical clock.◦ Operating system set the counter (privileged instruction)◦ When counter zero generate an interrupt◦ Set up before scheduling process to regain control or terminate

program that exceeds allotted time

Page 26: Operating System Concepts Presentation

General-purpose OS is very large program

Various ways to structure ones◦ Simple structure – MS-DOS

◦ More complex -- UNIX

◦ Layered – an abstrcation

◦ Microkernel -Mach

Page 27: Operating System Concepts Presentation

MS-DOS – written to provide the most functionality in the least space◦ Not divided into modules

◦ Although MS-DOS has some structure, its interfaces and levels of functionality are not well separated

Page 28: Operating System Concepts Presentation

UNIX – limited by hardware functionality, the original UNIX operating system had limited structuring. The UNIX OS consists of two separable parts◦ Systems programs

◦ The kernel

Consists of everything below the system-call interface and above the physical hardware

Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level

Page 29: Operating System Concepts Presentation

Beyond simple but not fully layered

Page 30: Operating System Concepts Presentation

The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface.

With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers

Page 31: Operating System Concepts Presentation

Moves as much from the kernel into user space Mach example of microkernel

◦ Mac OS X kernel (Darwin) partly based on Mach

Communication takes place between user modules using message passing

Benefits:◦ Easier to extend a microkernel◦ Easier to port the operating system to new architectures◦ More reliable (less code is running in kernel mode)◦ More secure

Detriments:◦ Performance overhead of user space to kernel space

communication

Page 32: Operating System Concepts Presentation

Application

Program

File

System

Device

Driver

Interprocess

Communication

memory

managment

CPU

scheduling

messagesmessages

microkernel

hardware

user

mode

kernel

mode

Page 33: Operating System Concepts Presentation

Many modern operating systems implement loadable kernel modules◦ Uses object-oriented approach

◦ Each core component is separate

◦ Each talks to the others over known interfaces

◦ Each is loadable as needed within the kernel

Overall, similar to layers but with more flexible◦ Linux, Solaris, etc

Page 34: Operating System Concepts Presentation
Page 35: Operating System Concepts Presentation

Most modern operating systems are actually not one pure model◦ Hybrid combines multiple approaches to address

performance, security, usability needs◦ Linux and Solaris kernels in kernel address space, so

monolithic, plus modular for dynamic loading of functionality

◦ Windows mostly monolithic, plus microkernel for different subsystem personalities

Apple Mac OS X hybrid, layered, Aqua UI plus Cocoa programming environment◦ Below is kernel consisting of Mach microkernel and BSD

Unix parts, plus I/O kit and dynamically loadable modules (called kernel extensions)

Page 36: Operating System Concepts Presentation

bootstrap program is loaded at power-up or reboot◦ Typically stored in ROM or EPROM, generally known

as firmware

◦ Initializes all aspects of system

◦ Loads operating system kernel and starts execution

Page 37: Operating System Concepts Presentation

When power initialized on system, execution starts at a fixed memory location◦ Firmware ROM used to hold initial boot code

Operating system must be made available to hardware so hardware can start it◦ Small piece of code – bootstrap loader, stored in ROM or

EEPROM locates the kernel, loads it into memory, and starts it

◦ Sometimes two-step process where boot block at fixed location loaded by ROM code, which loads bootstrap loader from disk

Common bootstrap loader, GRUB, allows selection of kernel from multiple disks, versions, kernel options

Kernel loads and system is then running

Page 38: Operating System Concepts Presentation

Operating system concepts by SilberschatzGalvin Gagne

Page 39: Operating System Concepts Presentation