0% found this document useful (0 votes)
11 views34 pages

Chapter 1 Introduction

Uploaded by

owuor bilgates
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)
11 views34 pages

Chapter 1 Introduction

Uploaded by

owuor bilgates
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/ 34

Chapter 1 Introduction

1
Introduction

l Von Neumann computer


» “Naked machine”
» Hardware without any helpful user-oriented features
» Extremely difficult for a human to work with

l An interface between the user and the


hardware is needed to make a Von
Neumann computer usable

2
Introduction (continued)

l Tasks of the interface


» Hide details of the underlying hardware from the user

» Present information in a way that does not require in-depth


knowledge of the internal structure of the system

» Allow easy user access to the available resources

» Prevent accidental or intentional damage to hardware,


programs, and data

3
System Software: The Virtual
Machine

l System software
» Acts as an intermediary between users and hardware

» Creates a virtual environment for the user that hides the


actual computer architecture

l Virtual machine (or virtual environment)


» Set of services and resources created by the system
software and seen by the user

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

– Lines of text typed at a terminal


– Menu items displayed on a screen and selected
with a mouse and a button: Point-and-click
» Examined by the operating system

6
Functions of an Operating System
l Five most important responsibilities of the
operating system
» User interface management

» Program scheduling and activation

» Control of access to system and files

» Efficient resource allocation

» Deadlock detection and error detection

7
The User Interface
l Operating system
» Waits for a user command

» If command is legal, activates and schedules the appropriate


software package

l User interfaces
» Text-oriented

» Graphical

8
Types of System Software

l System software is a collection of many


different programs
l Operating system
» Controls the overall operation of the computer
» Communicates with the user
» Determines what the user wants
» Activates system programs, applications packages, or user
programs to carry out user requests

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

» Allows only numeric memory addresses

» Difficult to change

» Difficult to create data

13
Assembly Language (continued)

l Assembly languages
» Designed to overcome shortcomings of machine languages

» Create a more productive, user-oriented environment

» Earlier termed second-generation languages

» Now viewed as low-level programming 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)

The Translation/Loading/Execution Process

16
Assembly Language (continued)

l Advantages of writing in assembly language


rather than machine language
» Use of symbolic operation codes rather than numeric
(binary) ones

» Use of symbolic memory addresses rather than numeric


(binary) ones

» Pseudo-operations that provide useful user-oriented services


such as data generation

17
Assembly Language (continued)

Structure of a Typical Assembly Language Program

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

» Read in a sequence of non-negative numbers, one number at a


time, and compute a running sum

» When you encounter a negative number, print out the sum of the
non-negative values and stop

20
Program example

Algorithm to Compute the Sum of Numbers

21
Assembly Language Program to Compute the Sum of Nonnegative
Numbers
22
Translation and Loading

l Before a source program can be run, an


assembler and a loader must be invoked
l Assembler
» Translates a symbolic assembly language program into
machine language

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

» Convert symbolic addresses to binary

» Perform assembler services requested by the pseudo-ops

» Put translated instructions into a file for future use

24
System Security And Protection

l The operating system must prevent


» Non-authorized people from using the computer

– User names and passwords

» Legitimate users from accessing data or programs they are


not authorized to access

– Authorization lists

25
Efficient Allocation Of Resources
l The operating system ensures that
» Multiple tasks of the computer can be underway at one time

» Processor is constantly busy

– Keeps a queue of programs that are ready to run

– Whenever processor is idle, picks a job from the


queue and assigns it to the processor

26
The Safe Use Of Resources

l Deadlock
» Two processes are each holding a resource the other needs
» Neither process will ever progress

l The operating system must handle deadlocks


» Deadlock prevention
» Deadlock recovery

27
Historical Overview of Operating
Systems Development

l First generation of system software (roughly


1945-1955)

» No operating systems

» Assemblers and loaders were almost the only system software


provided

28
Historical Overview of Operating
Systems Development (continued)

l Second generation of system software (1955-


1965)
» Batch operating systems

» Ran collections of input programs one after the other

» Included a command language

29
Operation of a Batch Computer System

30
Historical Overview of Operating
Systems Development (continued)

l Third-generation operating systems (1965-1985)

» Multiprogrammed operating systems

» Permitted multiple user programs to run at once

31
Historical Overview of Operating
Systems Development (continued)

l Fourth-generation operating systems (1985-


present)
» Network operating systems

» Virtual environment treats resources physically residing on the


computer in the same way as resources available through the
computer’s network

32
The Future

l Operating systems will continue to evolve

l Possible characteristics of fifth-generation


systems
» Multimedia user interfaces

» Parallel processing systems

» Completely distributed computing environments

33
Some of the Major Advances in Operating Systems Development
34

You might also like