operating systems cs208. what is operating system? it is a program. it is the first piece of...
Post on 21-Dec-2015
216 views
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.