operating systems cs208. what is operating system? it is a program. it is the first piece of...

Post on 21-Dec-2015

216 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Operating Systems

CS208

What is Operating System?

• It is a program.

• It is the first piece of software to run after the system boots.

• It coordinates the execution of all other software.

• It provides various common services needed by users and applications.

Operating System Definition

• Short definition:– a program that manages a computer’s

resources and acts as an intermediary between a user and those resources

hardware

operating system

computer

application

application

application

user

user

Operating System (OS) Functions

• For the User: Provides a user interface to let the user access hardware and software resources.

• For the System: Manages all the system tasks and resources to provide security, and fair, efficient use.

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.

Parts of an Operating System

• User Interface– Menu– Command Language– Graphical User Interface (GUI)

• System Security– Login control

• Process Management– CPU Scheduler

Parts of an Operating System• Memory Management

– Swapper/Pager• Temporarily unused pages are stored on disk

(swapped out)• When they are needed again, they are brought

back into the memory (swapped in)

– Garbage Collection• Resource Management

– File Management– Device Management

Operating System Terminology

• Kernel– Software component that controls the

hardware directly, and implements the core privileged OS functions.

• Process– An executing program.

Time Sharing

• Allows multiple processes to run on the same computer, seemingly at the same time.

• CPU is multiplexed among several processes that are kept in memory (the CPU is allocated to a process only if the process is in memory).

– A process is swapped in and out of memory to the disk as needed.

• OS must manage process scheduling and provide memory protection to keep one program from crashing the system or corrupting other programs.

CPU Time Slicing for Time Sharing

• Only ONE process can be running on the CPU at a time.

– Each process is allocated a “slice” of time in the CPU.

– When the time runs out, the process is interrupted, and another process is loaded into the CPU.

• The act of giving each process a small slice of time to run is called time slicing.

CPU Time Slicing

Allocate CPU to Process 1

CPU

Process 1

Process 3

Main Memory

Process 2CurrentProcess

Allocate CPU to Process 2

Allocate CPU to Process 3

Repeat until all processes have completed.

CPU execution modes

• CPUs supports (at least) 2 execution modes:

– User mode

• The code of the user programs

– Kernel (supervisor, privileged, monitor, system) mode

• The code of OS

• The execution mode is indicated by a bit in the processor status word (PSW) (a register in the CPU)

Protecting Kernel mode

• OS code executes in the Kernel mode

– Called via interrupts and system calls

• Only the OS code is allowed to be executed in the Kernel mode

• The user code must never be executed in the Kernel mode

– The program counter (PC) is only set to point to the OS code when the CPU goes to the Kernel mode

Interrupts

• An interrupt is the way by which the hardware informs the OS of special conditions that require OS attention

• Interrupts cause the CPU not to execute the next instruction

• Instead, the control is passed to OS

System Calls

• A System Call is used by a process to request a service from the OS

• Typical system calls

– Open/read/write/close the file

– Get the current time

– Create a new process

– Request more memory

Parallel Systems

• Multi-processor systems with more than one CPU in close communication.

• Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory.

• Advantages of parallel system:

– Economical

– Increased throughput

– Increased reliability

Parallel Systems

• Symmetric multiprocessing (SMP)– Each processor runs an identical copy of the operating

system.

– Many processes can run at once without performance deterioration.

– Most modern operating systems support SMP

• Asymmetric multiprocessing– Each processor is assigned a specific task; master processor

schedules and allocates work to slave processors.

– More common in extremely large systems

Distributed Systems• Distribute the computation among several physical

computers.

– Each has its own CPU, local memory, stable storage, I/O paths connecting to the environment

• Interconnections

– Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines.

– Systems cooperate to maintain shared state and coordinate global information

Distributed Systems

• Advantages of distributed systems.– Inherent distribution– Speedup - improved performance due to load

sharing– Fault tolerance/Reliability– Resource Sharing– Scalability– Flexibility

Distributed Systems

• Network Operating System– provides file sharing

– provides communication scheme

– runs independently from other computers on the network

• Distributed Operating System– less autonomy between computers

– gives the impression there is a single operating system controlling the network.

top related