You are on page 1of 21

Operating Systems

Lecture No. 1
Summary

• Introduction and purpose of the course


• Organization of a computer system
• Purpose of a computer system
• What is an Operating System?
• Single-user systems
• Batch systems
• Multi programmed systems
• Time-sharing systems
• Real time systems
• Interrupts, traps and software interrupts (UNIX signals)
• Hardware protection
Course Syllabus (1)

• Motivation for Operating Systems (OS)


• Introduction
• What's an Operating System?
• Computer/Operating System Overview
• Evolution of Operating Systems
• Functional/Protection Aspects
• Operating System Structures
Course Syllabus (2)

• Concurrent Processes
• Process Models and Management
• Process Description and Control
• Task/Thread Description and Control
• Concurrency: Mutual Exclusion and
Synchronization
• Concurrency: Deadlock and Starvation
Course Syllabus (3)

• Memory Management
• Real Memory Management
• Motivation for Virtual Memory (VM)
• Paging and Segmentation
• Page Fetch, Placement and Replacement
Course Syllabus (4)

• Uniprocessor Scheduling
• Levels of CPU Scheduling
• Process Scheduling
• External Storage Management
• File Systems/Management
• Directories
• File Allocation
• Disk Scheduling
Main Bibliography
A. Silberschatz, P. B. Galvin, and G. Gagne, “Operating
Systems Concepts (Essentials)”,
9th Edition, John Wiley & Sons, 2012.
http://codex.cs.yale.edu/avi/os-book/
Main Bibliography

W. Stallings,
“Operating
Systems: Internals
and Design
Principles”, 8th ed,
Pearson, 2015.
http://williamstalli
ngs.com/Operating
Systems/
Main Bibliography

A. S. Tanenbaum,
“Modern
Operating
Systems”, 4th ed,
Pearson, 2015.
http://www.pearsonhig
hered.com/educator/ac
ademic/product/0,,013
6006639,00%2ben-
USS_01DBC.html
Main Bibliography

T. W. Doeppner,
Operating Systems
in Depth, John Wiley
& Sons, 2011,
http://eu.wiley.com/
WileyCDA/WileyTitle
/productCd-
EHEP001803.html
Organization of a Computer System

• Hardware, which provides basic computing resources (CPU, memory,


I/O devices).
• Operating system, which manages the use of the hardware among
the various application programs for the various users and provides
the user a relatively simple machine to use.
• Applications programs that define the ways in which system
resources are used to solve the computing problems of the users
(compilers, database systems, video games, business programs).
• Users, which include people, machines, other computers.
Four components of Computer system
Purpose of a Computer System
Computer systems consist of software and hardware that are combined
to provide a tool to implement solutions for specific problems in an
efficient manner and to execute programs.
Main issues involved in performing these tasks
• Storing an executable on a secondary storage device such as hard disk
• Loading executable from disk into the main memory
• Setting the CPU state appropriately so that program execution could
begin
• Creating multiple cooperating processes, synchronizing their access to
shared data, and allowing them to communicate with each other
Issues require the operating system to provide
the following services
• Manage secondary storage devices
• Manage primary storage
• Manage processes
What is an Operating System?

• There are two views


• Top Down view
• Bottom Up view
Operating system
• 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
Operating System
• OS is a resource allocator
• Manages all resources
• 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
Single-user systems

• A computer system that allows only one user to use the computer at
a given time is known as a single-user system
• Interactive
• user convenience
• responsiveness, instead of maximizing the utilization of the CPU and
peripheral devices.
• Examples: DOS, Windows, and MacOS. Linux and UNIX operating
systems
Batch Systems

Structure of a typical Fortran


job.
Simple Batch Systems
• Batch systems
• Keep CPU busy by having a queue of jobs
• OS would load next job while current one runs
• Users would submit jobs, and wait, and wait, and
• The problems with Batch Systems are as follows −
• Lack of interaction between the user and the job.
• CPU is often idle, because the speed of the mechanical
I/O devices is slower than the CPU.
• Difficult to provide the desired priority.
• Examples: wapda company, PayRoll slips and mobile
software.

You might also like