Transaction Management in Database Management System
Introduction to operating syatem
1. Chapter 1: Introduction
What is an Operating System?
What are the components of an OS?
What does an OS do?
Short History of OSs
Different types of OSs
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 1
Slide
2. 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.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 2
Slide
3. Computer System Components
1. Hardware – provides basic computing resources
(CPU, memory, I/O devices).
2. Operating system – controls and coordinates the
use of the hardware among the various application
programs for the various users.
3. Applications programs – define the ways in which
the system resources are used to solve the
computing problems of the users (compilers,
database systems, video games, business programs).
4. Users - (people, machines, other computers).
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 3
Slide
4. Abstract View of System Components
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 4
Slide
5. System Components
Hides the complexity of
machine language from
programmer
Instruction Set
Architecture
Physical devices grouped
together to form functional
units
Integrated circuit chips,
power supply, CRT
The operating system run in kernel or supervisor mode - protected
from user tampering
Compilers, editors and application programs run in user mode
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 5
Slide
6. Functions of an OS
User Environment - OS layer transforms bare
hardware machine into higher level abstractions
Execution environment - process management, file
manipulation, interrupt handling, I/O operations,
language.
Error detection and handling
Protection and security
Fault tolerance and failure recovery
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 6
Slide
7. Functions of an OS
Resource Management
Time management
CPU
and disk transfer scheduling
Space management
main
Synchronization and deadlock handling
IPC,
and secondary storage allocation
critical section, coordination
Accounting and status information
resource
usage tracking
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 7
Slide
8. History of Operating Systems
Pre-electronic
Charles Babbage (1792-1871) “analytical machine”
Purely mechanical, failed because technology could not
produce the required wheels, cog, gears to the required
precision
First generation 1945 - 1955
Aiken, von Neumann, Eckert, Mauchley and Zuse
programming done via plugboards, no OS or language
vacuum tubes
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 8
Slide
9. History of Operating Systems
Second generation 1955 - 1965
transistors more reliable than vacuum tubes
jobs read in via punched cards
batch systems introduced to reduce wasted time in
setting up and running jobs
•bring cards to 1401
•read cards to tape offline
•put tape on 7094 which does computing
•put tape on 1401 which prints output offline
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 9
Slide
10. History of Operating Systems
Third generation 1965 – 1980
IBM System/360: combine business and scientific computers into one
machine
Computer will grow with client(memory, processor speed, number of I/O
devices etc.)
Forerunner of 370, 4300, 3080 and 3090
Use of integrated circuits provided major price/performance advantage over
2nd generation
OS/360 had to meet conflicting needs which resulted in enormous and
complex operating system
Introduced multiprogramming to make most efficient use of CPU
Spooling: read jobs from cards to disk ready to load into memory and queue
output to disk for printing
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 10
Slide
11. History of Operating Systems
In batch, total time from submitting a job to getting the output was a few
hours, very unproductive for programmers
Timesharing (a variant of multiprogramming) provides for user
interaction with the computer system
On-line communication between the user and the system is provided; when the
operating system finishes the execution of one command, it seeks the next
“control statement” from the user’s keyboard.
The CPU is multiplexed among several jobs that are kept in memory and on
disk (the CPU is allocated to a job only if the job is in memory).
takes advantage of the idle CPU
switch occurs so frequently that the user can interact with each program as it is
running
each command is short so only a little CPU time is needed for each user
each user is given the impression that the entire system is dedicated to his use
Batch jobs could be running in background
CTSS (Compatible Time Sharing System - MIT) was first success
Minicomputers and the development of UNIX
UNIX was stripped down, one user version of MULTICS (extension of CTSS)
Numerous variants : System V, BSD, POSIX (IEEE), MINIX, Linux
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 11
Slide
12. History of Operating Systems
Fourth generation 1980 – present
Large Scale Integrated chips
personal computers
1974: Intel developed 8080 chip (8 bit CPU), Gary Kildall wrote CP/M
OS (Intel gave him the rights) and formed Digital Research
Early 1980s: IBM designed IBM PC. Bill Gates had BASIC interpreter
and recommended DR as an OS. Kildall sent subordinate to meeting
and refused to sign non-disclosure. Gates was asked for an OS, bought
DOS from Seattle Computer Products and offered IBM DOS/BASIC
package. Renamed it MS -DOS
Early Windows versions ran on top of DOS, Windows 95 and beyond
and NT were full fledged OSs
Network Operating Systems (user sees multiple computers)
Distributed Operating Systems (user sees one processor)
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 12
Slide
13. Mainframe Systems
First computers used to solve many commercial and
scientific applications
evolved from batch time shared systems
Reduce setup time by batching similar jobs
serial card readers were initial input device then disks enabled job
scheduling by the operating system
Automatic job sequencing – automatically transfers control
from one job to another.
first rudimentary operating system.
CPU often idle because of great differences in speed between
mechanical I/O vs. electronic devices
Early OS called resident monitor
initial control in monitor
control transfers to job
when job completes control transfers pack to monitor
eliminated intervention by programmer
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 13
Slide
14. Memory Layout for a Simple Batch System
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 14
Slide
15. Multiprogrammed Batch Systems
Several jobs from the pool of all submitted jobs are kept in main
memory at the same time, and the CPU is multiplexed among them.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 15
Slide
16. OS Features Needed for Multiprogramming
Why multiprogramming?
Increases CPU utilization by trying to always keep the
CPU busy processing some job
I/O of one job causes switch to another job
Memory management – the system must allocate
the memory to several jobs.
CPU scheduling – the system must choose among
several jobs ready to run.
Allocation of devices.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 16
Slide
17. Desktop Systems
Personal computers – computer system dedicated to a
single user.
I/O devices – keyboards, mice, display screens, small
printers.
User convenience and responsiveness.
Can adopt technology developed for larger operating
systems. Often individuals have sole use of computer and do
not need advanced CPU utilization of protection features.
May run several different types of operating systems
(Windows, MacOS, UNIX, Linux)
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 17
Slide
18. Parallel Systems
Multiprocessor systems with more than on CPU in close
communication.
Tightly coupled system – processors share memory and a
clock; communication usually takes place through the
shared memory.
Advantages of parallel system:
Increased throughput with more processors
Economical – share peripherals, mass storage, power etc. as
opposed to individual PCs
Increased reliability
graceful degradation / fault tolerant
failure of one processor will slow down but not halt the system
other processors pick up the slack
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 18
Slide
19. Parallel Systems (Cont.)
Symmetric multiprocessing
(SMP)
Each processor runs and
identical copy of the
operating system.
Many processes can run at
once without performance
deterioration.
Most modern operating
systems support SMP
Asymmetric multiprocessing
Each processor is assigned a specific task; controlling processor schedules
and allocates work to other processors.
More common in extremely large systems
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 19
Slide
20. Distributed Systems
Distribute the computation among several physical
processors.
Loosely coupled system – each processor has its own local
memory; processors communicate with one another
through various communications lines, such as high-speed
buses or telephone lines.
Advantages of distributed systems.
Resource sharing
Computation speed up – load sharing
Reliability
Communications between processors and processes
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 20
Slide
21. Distributed Systems (cont)
Requires networking infrastructure.
TCP/IP is the most common network protocol
Local area networks (LAN) or Wide area
networks (WAN)
May be either client-server or peer-to-peer
systems.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 21
Slide
22. Real-Time Systems
Often used as a control device in a dedicated application such
as controlling scientific experiments, medical imaging systems,
industrial control systems, and some display systems.
Well-defined, fixed time constraints.
Hard real-time:
Secondary storage limited or absent, data stored in short term memory,
or read-only memory (ROM)
Not supported by general-purpose operating systems.
Soft real-time
Limited utility in industrial control of robotics
Useful in applications (multimedia, virtual reality) requiring advanced
operating-system features.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 22
Slide
23. Handheld Systems
Personal Digital Assistants (PDAs)
Cellular telephones
Issues:
Limited memory (512KB to 8MB) requires efficient
management
Slow processors
Small display screens.
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 23
Slide
24. Migration of Operating-System Concepts and Features
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction 24
Slide