Operating System Course Overview, Slides of Operating Systems

An overview of an Operating System course, including pre-requisites, textbooks, and reference books. It defines an operating system and its goals, and explains the components of a computer system. It also covers operating system operations, multiprogramming, multitasking, and computing environments such as client-server, peer-to-peer, and cloud computing.

Typology: Slides

2021/2022

Available from 10/01/2022

SamenKhan
SamenKhan 🇵🇰

231 documents

1 / 30

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Operating System
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Partial preview of the text

Download Operating System Course Overview and more Slides Operating Systems in PDF only on Docsity!

Operating System

Course Overview

 (^) Pre-Requisites

 (^) EE-321 Computer Organization and Architecture

 (^) Textbook

 (^) “ Operating System Concepts ”, By Abraham

Silberschatz, Peter Galvin, and Greg Gagne, 10th

Edition, Publisher: John Wiley and Sons

 (^) Reference Books

 (^) Operating Systems: Principles and Practice by

Thomas Anderson, Michael Dahlin, 2nd Edition

 (^) “Operating Systems. Internals and Design Principles”

by William Stallings, Prentice-Hall

2

Course Objectives

 (^) To provide knowledge how operating systems work

 (^) To introduce basic resource management techniques,

issues of performance, avoiding deadlocks etc. to equip

students with sufficient knowledge about the working

mechanism of Operating System

 (^) To apply knowledge for conducting research and

development

4

What is an 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

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

What Operating Systems Do

 (^) Depends on the point of view

 (^) Users want convenience , ease of use and good

performance

 (^) Don’t care about resource utilization

 (^) Operating system is a resource allocator and

control program making efficient use of

Hardware and managing execution of User

programs

Operating System Definition

 (^) No universally accepted definition

 (^) “ Everything a vendor ships when you order an operating

system ” is a good approximation

 (^) But varies wildly

 (^) “ The one program running at all times on the computer ” is the

kernel, part of the operating system

 (^) Everything else is either

 (^) A system program (ships with the operating system, but not part of

the kernel) , or

 (^) An application program , all programs not associated with the

operating system

 (^) Today’s OSes for general purpose and mobile computing also include

middleware – a set of software frameworks that provide addition

services to application developers such as databases, multimedia,

graphics

Overview of Computer System

Structure

Computer System Organization

 (^) Computer-system operation

 (^) One or more CPUs, device controllers connect through common bus

providing access to shared memory

 (^) Concurrent execution of CPUs and devices competing for memory

cycles

How a Modern Computer Works

A von Neumann architecture

Multiprogramming (Batch system)

 (^) Single user cannot always keep CPU and I/O devices

busy

 (^) 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 job has to wait (for I/O for example), OS switches

to another job

Multitasking (Timesharing)

 (^) A logical extension of Batch systems

 (^) the CPU switches jobs so frequently that users can interact

with each job while it is running, creating interactive

computing

 (^) 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

Dual-mode Operation

 (^) 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.

 (^) When a user is running  mode bit is “ user

 (^) When kernel code is executing  mode bit is “ kernel

 (^) How do we guarantee that user does not explicitly set the mode

bit to “kernel”?

 (^) System call changes mode to kernel, return from call resets it to user

 (^) Some instructions designated as privileged , only executable in

kernel mode

Transition from User to Kernel Mode 20