Sei sulla pagina 1di 38

Operating System Concepts -

CSC322

Course Instructor: Qurat Ul Ain


Lecture 1: Introduction
Slides Courtesy: Book slides (Avi Silberchatz)
Pre-Requisites
• Must have passed Data Structures
• Familiar with programming C/C++
Dishonesty, Plagiarism
• All parties involved in any kind of cheating
in any Exam, Quizzes, Assignments will get a
ZERO straight away.
Some Rules
• Never ever “miss” a class
• Never come “late” to the class
• Never “talk” in the class
• Never use “mobile phones” in the class
• Any kind of “misbehavior” won’t be tolerated

Above all, whatever you do, please do not disturb


others
Course Assessment
Evaluation Methods Theory Weight (%) [T] Lab Weight (%) [L]
Quizzes 15 15
Assignments 10 10
Sessional Exam (1 and 2) 10 + 15 10 + 15
Terminal Exam 50 50
Total 100 100
Total = T + L T = (T/100) * 67 L = (L/100) * 33

Note: The evaluation Breakdown plus course outline for all sections will be same
Grading will be combined so don’t rely on your class position look for the batch position
Text Book
Galvin, Peter B., Greg Gagne, and Abraham Silberschatz. Operating system
concepts. John Wiley & Sons, Inc., 2016

Reference Books:
• Tanenbaum, Andrew S., and Herbert Bos. Modern operating systems.
Prentice Hall Press, 2014.

•Stallings, William, and Goutam Kumar Paul. Operating systems: internals


and design principles. 8th edition. Upper Saddle River, NJ: Prentice Hall,
2012
Course Outline
• Will be shared soon

•Google Classroom Code:

dtayxd
Course Learning Outcomes
Lecture Contents
• Text Book : Chapter 1; Introduction

 Operating Systems Overview

 Operating System Role, purpose and functionality

 Computer-system organization

 Device organization

 Computer-system Architecture
Objectives
•To describe the basic organization of computer systems
•To provide a grand tour of the major components of operating systems
•To give an overview of the many types of computing environments
•To explore several open-source operating systems
Operating System Overview
What is an
Operating
System??
Definition
“A program that manages a computer hardware. It also provides basis
for application programs and 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

• Convenient
• Efficient
Computer System Structure
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
Computer System Structure
Operating System Roles
Operating System Roles
Understand OS from two view-points:
• User View and System View
• Users want convenience, ease of use and good performance
• Don’t care about resource utilization
• User’s view – such OS are designed for single user experience
• But shared computer such as mainframe or minicomputer must keep all users happy
• Shared resources, information exchange
• Users of dedicate systems such as workstations have dedicated resources but frequently use
shared resources from servers
• Mobile phones and tablets, optimized for usability and battery life
• Some computers have little or no user view, such as embedded computers in devices and
automobiles
• Such OS are designed to run without user intervention
Operating System Roles
• From system’s view an OS is:

• OS is a resource allocator :
Manages all resources
Resources are needed for problem solving
Decides between conflicting requests for efficient and fair resource use
• OS is a control program :
Controls execution of programs to prevent errors and improper use of the computer
Operating System Definition
• No universally accepted definition

• “Everything a vendor ships when you order an operating system” is a


good approximation

• “The one program running at all times on the computer” is the kernel.

• Everything else is either


• a system program
• an application program.
Computer-System Organization
Computer Startup
• “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


Computer-System Organization
• Computer-system operation:

o One or more CPUs, device controllers connect through common bus providing access
to shared memory

o Concurrent execution of CPUs and devices competing for memory cycles


Computer-System Organization
• Interrupt:
The occurrence of an evet is usually signaled by an “interrupt” from either hardware or software

• 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”
Common Functions of Interrupts
• Interrupts are an important part of computer architecture
• 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
• An operating system is interrupt driven
- 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
• After the interrupt is serviced, previous execution is resumed
Interrupt Timeline
I/0 Structure
• After I/O starts, control returns to user program only upon I/O completion
 Wait instruction idles the CPU until the next interrupt
 At most one I/O request is outstanding at a time, no simultaneous I/O processing

• After I/O starts, control returns to user program without waiting for I/O completion
 System call – request to the OS to allow user to wait for I/O completion
 Device-status table contains entry for each I/O device indicating its type, address, and state
 OS indexes into I/O device table to determine device status and to modify table entry to include
interrupt
Storage Definitions and Notation Review
Storage Structure
• Main memory – only large storage media that the CPU can access directly
Also called Random access Memory (RAM)
Typically volatile

• Secondary storage – extension of main memory that provides large nonvolatile storage
capacity
Holds large quantity of data permanently

• Hard disks – rigid metal or glass platters covered with magnetic recording material
Disk surface is logically divided into tracks, which are subdivided into sectors
The disk controller determines the logical interaction between the device and the computer

• Solid-state disks – faster than hard disks, nonvolatile


Various technologies
Becoming more popular
Storage Structure
• Von-Neumann Architecture

• Instruction-execution cycle:

Fetches an instruction from memory store it in IR Decode Fetch operands


from memory Execute Instruction Store Result back in memory

• Limitations of Main memory:

Too small to store all data and programs permanently

Volatile storage device – loose it’s contents when power off


Storage Hierarchy
• Storage systems organized in hierarchy
Speed

Cost

Volatility

• Storage systems are either volatile or Non-volatile

• Caching – copying information into faster storage system; main memory can be
viewed as a cache for secondary storage

• Device Driver for each device controller to manage I/O


Provides uniform interface between controller and kernel
Storage-Device Hierarchy
Caching
•Important principle, performed at many levels in a computer (in hardware,
operating system, software)

•Information in use copied from slower to faster storage temporarily

•Faster storage (cache) checked first to determine if information is there


If it is, information used directly from the cache (fast)
If not, data copied to cache and used there

•Cache smaller than storage being cached


Cache management important design problem
Cache size and replacement policy
Computer-System Architecture
How a Modern Computer Works

Von Neuman
Architecture
Computer System Architecture
Categorization based on number of processors used:

1. Single-Processor Systems: One main CPU, some special purpose processors


2. Multiprocessor Systems: Parallel systems, multi-core systems, tightly-coupled
systems
1. Increased throughput
2. Economy of scale
3. Increased reliability – graceful degradation or fault tolerance
Two types:
1. Asymmetric Multiprocessing – each processor is assigned a specific task (boss-worker relationship)
2. Symmetric Multiprocessing – each processor performs all tasks (peers) e.g. AIX (UNIX commercial version by
IBM)

3. Clustered Systems: gathers together multiple CPUs- two or more nodes joined
together. Each node may be a processor or a multi-core system
Symmetric Multiprocessing Architecture
Dual-Core Design

Potrebbero piacerti anche