Operating system and system software
Operating Systems System commands
o Carry out services such as translate a program, load a program, run a program
o 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
Functions of an Operating System important responsibilities of the operating system
o User interface managemento Program scheduling and activation
Schedule programs for executiono Control of access to system and files
Store and retrieve fileso Efficient resource allocationo Deadlock detection and error detectiono Oversee operation of computer
Coordinate the execution of programs
Operating System Components Kernel
o Performs basic required functionso The user interface act as an intermediary between users and the
operating system kernel
The Kernal
File managero Directory (or Folder): A user-created bundle of files and other
directories (subdirectories)o Directory Path: A sequence of directories within directories
Device drivers Memory manager
o Allocates space in main memoryo May create the illusion that the machine has more memory than it
actually does (virtual memory) by playing a “shell game” in which blocks of data (pages) are shifted back and forth between main memory and mass storage
Scheduler and dispatcher
Evolution of Shared Computing Batch processing
o has been associated with mainframe computers since the earliest days of electronic computing in the 1950s
o OLD SCHOOL queue a project/program into the computer’s job queue, gives the
results when doneo but still used in billing, payroll, any administrationo http://processanddata.com/batching-systems/
Batch processing
Interactive processingo Requires real-time processing
Exampleo an insurance company can make changes to a customer's household
insurance, e.g. while the customer is on the phone. o The insurance clerk simply calls up details of the customer's policy on
the screen, and types in any required changes which immediately update the customer's records.
o A report of the change would be automatically generated and a copy sent to the customer.
Interactive processing
Time-sharing/Multitaskingo Implemented by Multiprogramming
Multiprocessor machines
Role and Types of System Software Types of Software
o Application softwareo Performs specific tasks for userso System softwareo Provides infrastructure for application softwareo Consists of operating system and utility software
Types of System Software
The Role of System Software
System software is a collection of many different programs Operating system
o Controls the overall operation of the computero Communicates with the usero Determines what the user wantso Activates system programs, applications packages, or user programs to
carry out user requests User interface
o Graphical user interface (GUI) provides graphical control of the capabilities and services of the computer
Language serviceso Assemblers, compilers, and interpreterso Allow you to write programs in a high-level, user-oriented language, and
then execute them Memory managers
o Allocate and retrieve memory space Information managers
o Handle the organization, storage, and retrieval of information on mass storage devices
I/O systemso Allow the use of different types of input and output devices
Schedulero Keeps a list of programs ready to run and selects the one that will
execute next Utilities
o Collections of library routines that provide services either to user or other system routines
The User Interface Operating system
o Waits for a user commando If command is legal, activates and schedules the appropriate software
package User interfaces
o Text-orientedo Graphical
User Interface Responsibility of the Operating System
The Overall Booting Process Boot loader: Program in ROM (example of firmware) Run by the CPU when power is turned on Transfers operating system from mass storage to main memory Executes jump to operating system
Boot Sequence
Process (Application) Management Process: The activity of executing a program Process State: Current status of the activity
o Program countero General purpose registerso Related portion of main memory
Scheduler: Adds new processes to the process table and removes completed processes from the process table
Dispatcher: Controls the allocation of time slices to the processes in the process tableo The end of a time slice is signaled by an interrupt.
Time-sharing between process A and process B
Efficient Allocation Of Resources The operating system ensures that
o Multiple tasks of the computer can be underway at one timeo 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 Semaphore: A “control flag” Critical Region: A group of instructions that should be executed by only one
process at a time Mutual exclusion: Requirement for proper implementation of a critical region
The Safe Use Of Resources Deadlock
o Two processes are each holding a resource the other needso Neither process will ever progress
The operating system must handle deadlockso Deadlock preventiono Deadlock recovery
DeadLock
System Security And Protection The operating system must prevent
o Non-authorized people from using the computer User names and passwords
Legitimate users from accessing data or programs they are not authorized to accesso Authorization lists
Attacks from outsideo Problems
Insecure passwords Sniffing software
o Counter measures Auditing software
Attacks from withino Problem
Unruly processeso Counter measures
Control process activities via privileged modes and privileged instructions
Historical Overview of Operating Systems Development
First generation of system software (roughly 1945-1955)o No operating systemso Assemblers and loaders were almost the only system software provided
Second generation of system software (1955-1965)o Batch operating systemso Ran collections of input programs one after the othero Included a command language
Operation of a Batch Computer System
Third-generation operating systems (1965-1985)o Multiprogrammed operating systemso Permitted multiple user programs to run at once
Fourth-generation operating systems (1985-present)o Network operating systemso Virtual environment treats resources physically residing on the computer
in the same way as resources available through the computer’s networkThe Virtual Environment Created by a Network
Operating System
The Future Operating systems will continue to evolve Possible characteristics of fifth-generation systems
o Multimedia user interfaceso Parallel processing systemso Completely distributed computing environments
Structure of a Distributed System
Sources:
Computer Science Overview – Brookshear
FYI Section
Introduction Von Neumann computer
o “Naked machine”o Hardware without any helpful user-oriented featureso Extremely difficult for a human to work with
An interface between the user and the hardware is needed to make a Von Neumann computer usable
Tasks of the interfaceo Hide details of the underlying hardware from the usero Present information in a way that does not require in-depth knowledge
of the internal structure of the systemo Allow easy user access to the available resourceso Prevent accidental or intentional damage to hardware, programs, and
data
System Software: The Virtual Machine System software
o Acts as an intermediary between users and hardwareo Creates a virtual environment for the user that hides the actual computer
architecture Virtual machine (or virtual environment)
o Set of services and resources created by the system software and seen by the user
Sources:
Batch processinghttp://en.wikipedia.org/wiki/Batch_processing