Chapter 1 Introduction
Chapter 1 Introduction
1
Introduction
2
Introduction (continued)
3
System Software: The Virtual
Machine
l System software
» Acts as an intermediary between users and hardware
4
The Role of System Software
5
Operating Systems
l System commands
» Carry out services such as translate a program, load a
program, run a program
» Types of system commands
6
Functions of an Operating System
l Five most important responsibilities of the
operating system
» User interface management
7
The User Interface
l Operating system
» Waits for a user command
l User interfaces
» Text-oriented
» Graphical
8
Types of System Software
9
Types of System Software
10
Types of System Software
(continued)
l User interface
» Graphical user interface (GUI) provides graphical control of
the capabilities and services of the computer
l Language services
» Assemblers, compilers, and interpreters
» Allow you to write programs in a high-level, user-oriented
language, and then execute them
l Memory managers
» Allocate and retrieve memory space
11
Types of System Software
(continued)
l Information managers
» Handle the organization, storage, and retrieval of information
on mass storage devices
l I/O systems
» Allow the use of different types of input and output devices
l Scheduler
» Keeps a list of programs ready to run and selects the one
that will execute next
l Utilities
» Collections of library routines that provide services either to
user or other system routines 12
Machine Language
l Machine language
» Uses binary
» Difficult to change
13
Assembly Language (continued)
l Assembly languages
» Designed to overcome shortcomings of machine languages
14
Assembly Language (continued)
l Source program
» An assembly language program
l Object program
» A machine language program
l Assembler
» Translates a source program into a corresponding object
program
15
Assembly Language (continued)
16
Assembly Language (continued)
17
Assembly Language (continued)
18
Examples of Assembly Language
Code (continued)
l Assembly language translation
LOAD B --Put the value B into register R.
ADD C --R now holds the sum (B + C).
SUBTRACT SEVEN --R now holds the expression (B + C - 7).
STORE A --Store the result into A.
: --These data should be placed after the
HALT.
A: .DATA 0
B: .DATA 0
C: .DATA 0
SEVEN: .DATA 7 --The constant 7.
19
Program example
l Problem
» When you encounter a negative number, print out the sum of the
non-negative values and stop
20
Program example
21
Assembly Language Program to Compute the Sum of Nonnegative
Numbers
22
Translation and Loading
l Loader
» Reads instructions from the object file and stores them into
memory for execution
23
Translation and Loading (continued)
l Assembler tasks
» Convert symbolic op codes to binary
24
System Security And Protection
– Authorization lists
25
Efficient Allocation Of Resources
l The operating system ensures that
» Multiple tasks of the computer can be underway at one time
26
The Safe Use Of Resources
l Deadlock
» Two processes are each holding a resource the other needs
» Neither process will ever progress
27
Historical Overview of Operating
Systems Development
» No operating systems
28
Historical Overview of Operating
Systems Development (continued)
29
Operation of a Batch Computer System
30
Historical Overview of Operating
Systems Development (continued)
31
Historical Overview of Operating
Systems Development (continued)
32
The Future
33
Some of the Major Advances in Operating Systems Development
34