CH02 - Operating_System_Overview
CH02 - Operating_System_Overview
g
Systems: Chapter 2
Internals
and Operating
Design System Overview
Principle Eighth Edition
Global Edition
s By William Stallings
Operating System
A program that controls the execution of
application programs
Aninterface between applications and
hardware
Main objectives
of an OS:
•
convenience
•
efficiency
•
ability to evolve
Operating System
Services
Program development
Program execution
Access I/O devices
Controlled access to files
System access
Error detection and response
Accounting
OS Services
Accounting
collectstatistics
monitor performance
used to anticipate future
enhancements
used for billing users
Key Interfaces
new services
Fixes
Evolution of
Operating Systems
Stages include:
Time
Sharing
Multiprogra Systems
mmed
Batch
Simple Systems
Batch
Systems
Serial
Processi
ng
Serial Processing
Earliest
Problems:
Computers:
Scheduling:
No operating system most installations used a
programmers hardcopy sign-up sheet to
interacted directly with reserve computer time
the computer hardware time allocations could
run short or long,
Computers ran from a
resulting in wasted
console with display lights,
computer time
toggle switches, some form
of input device, and a printer Setup time
Users have access to the
a considerable amount of
computer in “series” time was spent just on
setting up the program to
run
Simple Batch
Systems
Early computers were very expensive
important to maximize processor utilization
Monitor (1st batch OS)
user no longer has direct access to processor
job is submitted to computer operator who
batches them together and places them on
an input device
program branches back to the monitor when
finished
Monitor Point of
View
Monitor controls the
sequence of events
Resident Monitor is
software always in memory
Monitor reads in job one at
a time and gives control
Job returns control to
monitor
Processor Point of
View
Processor executes instruction from the
memory containing the monitor
Executes the instructions in the user program
until it encounters an ending or error condition
“control is passed to a job” means processor is
fetching and executing instructions in a user
program
“control is returned to the monitor” means that
the processor is fetching and executing
instructions from the monitor program
Job Control Language
(JCL)
pecial type of programming language used to provide instructions to the monitor
• while the user program is executing, it must not alter the memory area containing the monitor
Timer
Privileged instructions
Interrupts
• gives OS more flexibility in controlling user programs (Early OSs do NOT have)
Modes of Operation
Multiprogramming
also known as multitasking
memory is expanded to hold three, four, or more
programs and switch among all of them
Multiprogramming
Example
a program in execution
long-
automatic support
protectio term
allocation of
process n and storage
and modular
isolation access
managem program
control (via file
ent ming
system)
Virtual Memory
(VM)
Typically, operating systems meet these
requirements with virtual memory and file
system facilities.
VM is a facility that allows programs to address
memory from a logical point of view, without
regard to the amount of main memory physically
available
Conceived to meet the requirement of having
multiple user jobs reside in main memory
concurrently
Paging
Allows processes to be comprised of a number
of fixed-size blocks, called pages
Program references a word by means of a
virtual address
consists of a page number and an offset within
the page
each page may be located anywhere in main
memory
Provides for a dynamic mapping between the
virtual address used in the program and a real
(or physical) address in main memory
Information
Protection
and Security
The nature of the Main
threat that concerns issue availabilit
an organization will s y
vary greatly
depending on the
circumstances authentici confidentialit
ty y
The problem data
involves controlling integrity
access to computer
systems and the
information stored
in them
Scheduling and
Resource
Management
Keyresponsibility
of an OS is
managing
efficienc fairness
resources y
Resource
allocation policies differential
responsiven
must consider: ess
OS Queues
Short-term queue:
consists of processes that are in main memory and are
ready to run as soon as the processor is made
available.
Short-term scheduler determines which one will use
processor first: round-robin, priority order, etc.
• microkernel architecture
• multithreading
• symmetric multiprocessing
• distributed operating systems
• object-oriented design
Microkernel
Architecture
Assignsonly a few essential functions to
the kernel:
interprocess
address basic
communicatio
spaces scheduling
n (IPC)
The approach:
is well suited
simplifies
provides to a
implementatio
flexibility distributed
n
environment
Multithreading
Technique in which a process, executing an
application, is divided into threads that can run
concurrently
Thread
• dispatchable unit of work
• includes a processor context and its own data area to enable
subroutine branching
• executes sequentially and is interruptible
Process
• a collection of one or more threads and associated system
resources
• programmer has greater control over the modularity of the
application and the timing of application related events
Symmetric
Multiprocessing
(SMP)
Term that refers to a computer hardware
architecture and also to the OS behavior that
exploits that architecture
Several processes can run in parallel
Multiple processors are transparent to the user
these processors share same main memory and
I/O facilities
all processors can perform same functions
performance of a system
Increment
can be enhanced by adding
al Growth
an additional processor
BSD
Linux
Solaris 10
Sun’s SVR4-based UNIX release
Provides all of the features of SVR4 plus a
number of more advanced features such
as:
afully preemptable, multithreaded
kernel
full support for SMP
an object-oriented interface to file
systems
Most widely used and most successful
commercial UNIX implementation
LINUX Overview
Started out as a UNIX variant for the IBM PC
Linus Torvalds, a Finnish student of computer science, wrote the
initial version
Linux was first posted on the Internet in 1991
Today it is a full-featured UNIX system that runs on several
platforms
Is free and the source code is available
Key to success has been the availability of free software packages
Highly modular and easily configured
Android Operating
System
A Linux-based system Most recent version is
originally designed for Android 6.0.1
touchscreen mobile devices "Marshmallow" (Dec. 9,
such as smartphones and 2015)
tablet computers
The Open Handset Alliance
The most popular mobile OS (OHA) was responsible for
Development was done by the Android OS releases as
Android Inc., which was an open platform
bought by Google in 2005
The open-source nature of
1st commercial version Android has been the key
(Android 1.0) was released in to its success
2008
Every Android application
runs in its own process with
its own instance of the
Dalvik virtual machine
Android (DVM)
DVM executes files in the
Runtime Dalvik Executable (.dex)
format
Component includes a set
of core libraries that
provides most of the
functionality available in
the core libraries of the
Java programming
language
To execute an operation the
DVM calls on the
corresponding C/C++
library using the Java
Native Interface (JNI)
Summary
Fault tolerance
Operating system
Fundamental concepts
objectives and functions
Faults
User/computer interface
OS mechanisms
Resource manager
OS design considerations for
Evolution of operating
multiprocessor and multicore
systems
Microsoft Windows overview
Serial processing
Simple/multiprogrammed/
Traditional Unix systems
History/description
time-sharing batch
Modern Unix systems
systems
Linux
Major achievements
Android
Developments leading to
modern operating systems