0% found this document useful (0 votes)
31 views33 pages

01 Os Introduction

Uploaded by

Mamata swain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views33 pages

01 Os Introduction

Uploaded by

Mamata swain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

1

OPERATING SYSTEMS
Introduction to
Operating Systems

12/23/2020 Chandrakant Mallick


What is an Operating System (1)?

• A modern computer consists of:


 One or more processors
 Main memory
 Disks
 Printers
 Various input/output devices.
• Managing all these varied components
requires a layer of software – the
Operating System (OS).
2 12/23/2020
3
What is an Operating System (2)?
 An Operating System is a program that acts as an
intermediary/interface between a user of a
computer and the computer hardware.
 OS goals:
 Control/execute user/application programs.
 Make the computer system convenient to use.

 Ease the solving of user problems.

 Use the computer hardware in an efficient manner.

12/23/2020
Where does the OS fit in?
4

12/23/2020
Services provided by an OS
5

 Facilities for program creation


 editors, compilers, linkers, debuggers, etc.
 Program execution
 loading in memory, I/O and file initialization.
 Access to I/O and files
 deals with the specifics of I/O and file formats.
 System access
 resolves conflicts for resource contention.
 protection in access to resources and data.

12/23/2020
Why are Operating Systems Important?
6

 Important to understand and know how to correctly


use when writing user applications.
 Large and complex systems that have a high
economic impact and result in interesting problems of
management.
 Few actually involved in OS design and
implementation but nevertheless many general
techniques to be learned and applied.
 Combines concepts from many other areas of
Computer Science: Architecture, Languages,
Data Structures, Algorithms.
12/23/2020
Course Outlines
7

 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

12/23/2020
Course Outlines (2)
8

 Concurrent Processes
 Process Models and Management
 Process Description and Control
 Task/Thread Description and Control
 Concurrency: Mutual Exclusion and
Synchronization
 Concurrency: Deadlock and Starvation

12/23/2020
Course Outlines (3)
9

 Memory Management
 Real Memory Management
 Motivation for Virtual Memory (VM)
 Paging and Segmentation
 Page Fetch, Placement and Replacement

12/23/2020
Course Outlines (4)
10

 Uniprocessor Scheduling
 Levelsof CPU Scheduling
 Process Scheduling

 External Storage Management


 File Systems/Management
 Directories
 File Allocation
 Disk Scheduling
12/23/2020
Main Bibliography

1. A. Silberschatz, P. B. Galvin, and G. Gagne,


“Operating Systems Concepts (with Java)”,
8th Edition, John Wiley & Sons, 2009.
http://codex.cs.yale.edu/avi/os-book/os8/index.php
Main Bibliography

3. W. Stallings,
“Operating Systems:
Internals and Design
Principles”,
7th ed, Prentice Hall,
2012.
http://williamstallings.c
om/OperatingSystems/
Additional Bibliography
4. A. S. Tanenbaum,
“Modern Operating
Systems”, 3rd Edition,
Prentice-Hall Intl.,
2008.
http://www.pearsonhigh
ered.com/educator/aca
demic/product/0,,0136
006639,00%2ben-
USS_01DBC.html
Additional Bibliography
5. A. S. Tanenbaum and A.
S. Woodhill, “Operating
Systems: Design and
Implementation”, 3rd
Edition, Prentice-Hall Intl.,
2006.
http://www.pearsonhighered.
com/educator/academic/pro
duct/0,,0131429388,00%2b
en-USS_01DBC.htm
Computer Hardware Organization
15

12/23/2020
Computer System Components
16

1. Hardware – provides basic computing resources


(CPU, Memory, I/O devices, Communication).
2. Operating System – controls and coordinates the
use of the hardware among various application
programs for various users.
3. System & Application Programs – ways in which the
system resources are used to solve computing
problems of the users (Word processors, Compilers,
Web browsers, Database systems, Video games).
4. Users – (People, Machines, other computers).
12/23/2020
P6

Hierarchical view of computer system


17

12/23/2020
Slide 17

P6 Can "User Files" changed to "Users" ?


Pinchas, 02/22/2002
Static View of System Components
18

12/23/2020
Dynamic View of System Components
19

12/23/2020
Layers of a Computer System
20

End
User
Programmer
Application
Programs
Utilities Operating-
System
Operating-System Designer

Computer Hardware

12/23/2020
Views of an Operating System
21

 There are three classical views (in literature):


1. Resource Manager – manages and allocates
resources.
2. Control program – controls the execution of user
programs and operations of I/O devices.
3. Command Executer – Provides an environment for
running user commands.
 But one more modern view: the Operating System
as a Virtual Machine.

12/23/2020
1. Resource Manager
22

 Resource Manager:
 Manages and protects multiple computer resources: CPU,
Processes, Internal/External memory, Tasks, Applications,
Users, Communication channels, etc…
 Handles and allocates resources to multiple users or multiple
programs running at the same time and space (e.g.,
processor time, memory, I/O devices).
 Decides between conflicting requests for efficient and fair
resource use (e.g., maximize throughput, minimize response
time).
 Sort of a bottom-up view.
12/23/2020
OS as a Resource Manager
23

12/23/2020
2. Control Program
24

 Control Program:
 Manages all the components of a complex
computer system in an integrated manner.
 Controls the execution of user programs and
I/O devices to prevent errors and improper
use of computer resources.
 Looks over and protects the computer:
Monitor, Supervisor, Executive, Controller,
Master, Coordinator ….
 Sort of a black box view.
12/23/2020
3. Command Executer
25

 Command Executer:
 Interfaces between the users and machine.
 Supplies services/utilities to users.
 Provides the users with a convenient CLI
(Command Language Interface), also called
a Shell (in UNIX), for entering the user
commands.
 Sort of a top-down view.
12/23/2020
Modern view: Virtual Machine (1)
26

 Operating System as a Virtual Machine:


 An interface between the user and hardware that hides
the details of the hardware (e.g., I/O).
 Constructs higher-level (virtual) resources out of lower-
level (physical) resources (e.g., files).
 Definition: OS is a collection of software enhancements,
executed on the bare hardware, culminating in a high-
level virtual machine that serves as an advanced
programming environment.
 virtual
machine = software enhancement = extended machine
= abstract machine = layer = level = ring.
12/23/2020
Modern view: Virtual Machine (2)
27

12/23/2020
Definition of Operating System
28

 There is no universally accepted definition.


 “Everything a vendor ships when you order an
operating system” is good approximation but varies
widely.
 “The one program running at all times on the
computer” is the Kernel.
 Everything else is either a system program (ships
with the operating system) or an application
program.
12/23/2020
One Kernel Point of View
29

12/23/2020
What is the OS/Kernel?
30

 Is the Operating System just the Kernel (not the


utilities and application programs)?!
 The Command Line Interface (CLI) (or command
layer/interpreter or shell) allows direct command
entry by the user.
 The shell used to be in the kernel but now is a (first
between equals) utility outside of it:
 Easy to change/debug
 Many of them (sh, bsh, csh, ksh, tcsh, wsh, bash)
 Possible to switch between them (chsh)

12/23/2020
UNIX Shell and Utilities

User

Utilities Shell

Kernel

Hardware

31 12/23/2020
General UNIX Architecture (1)

32 12/23/2020

You might also like