Introduction To OS
Introduction To OS
Systems
Jakub Olejnik
These slides are a much inexact translation of the material
available at http://wazniak.mimuw.edu.pl.
The authors of the original slides were kind enough to share
their files with me thus help me in translation.
Literature
Lecture
• A. Silberschatz „Operating Systems Concepts”
• A. Tanenbaum „Modern Operating Systems”
• webpage (in polish) – the OS section
http://wazniak.mimuw.edu.pl
Laboratory classes
• C. Newham, B. Rosenblatt „Learning the bash
shell”
• Unix/Linux manual pages
Basic Concepts of Operating
Systems
Lecture 1
What’s in this lecture?
• Definition of an Operating System, its place
and its role in computer system.
• What kind of Operating Systems are there?
• Operating Systems Concepts – how do the
OS’s work?
What is an Operating System?
A definition
An Operating System is a set of computer
programs which operate the computer’s
devices directly and whose task is to present
to a user an unified environment for writing
and running programs in an convenient and
efficient way.
thus…
An OS is a proxy between the user programs and
the actual hardware.
User and his programs
Actual Hardware
Structure of an Operating System
There are basicaly three types of OS’
components i.e.:
graphical or text-based
shells
Kernel modules
hardware
The Tasks of Operating System
• Defining the user interface (shell)
• Providing a file system
• Providing environment to run user programs
– mechanisms of actual code execution, safety.
– mechanisms of process synchronization, communication
• Managing the I/O devices
• Providing procedures for handling basic errors
Re s o u rc e M a n a ge m e nt
Resource Management
Re s o u rc e – any software or hardware component
essential to processing
• Resource allocation – assigning resources to processes
• Resource allocation planning – choosing optimal
allocation strategy
• Access authorization and resource protection –
restricting resource access in accordance with permissions
granted
• Resource recycling – managing reusable resources
• Accounting – maintaining access register
Resources managed by Operating System
• Processor – each program gets a chance to be executed
• Memory
– allocation of memory space to processes
– memory protection and address transformation
• I/O devices
– providing access to keyboards, mice, mass storage devices,
printers, scanners, plotters etc.
• Information (file system)
– organizing information on disks, providing access
– protection and access authorization
Basic classification of Operating Systems
OS’s classified with respect to processing
• Interactive Systems (on-line systems)
– users directly interact with operating system
– task execution starts immediately after submission
• Common OS’s serve as examples
• Batch Systems (off-line systems)
– task execution can be delayed
– users can not interfere with task execution after their task
has been submitted
• Not many examples of pure off-line systems
• Partial examples include: mainframes, job scheduling, print
spooling, bulk transaction processing eg. ELIXIR
Batch System – a historical example
user software
program interrupt
external
interrupt
Operating System
machine code
diagnostic
interrupt
microarchitecture
Hardware memory protection example
• Executed program address
makes reference to
a specific location
in memory
• Memory chunks >= BASE
which are available
to the program are
described by two fault
registers: BASE and
LIMIT < +
LIMIT
memory is accessed
Scheduling by clock interrupts