UNIT - 1
Roadmap • What is an Operating System?
• • • • • • • • Operating System Objectives/Functions The Evolution of Operating Systems Major Achievements Structuring methods Design of API’s Interrupts Device Organization User/System state Transition
What is an Operating System? • A program that acts as an intermediary between a user of a computer and the computer hardware. OR
• A program that controls the execution of application programs. • Kernel – the one program running at all times (all else being application programs).
OR • Resource allocator – manages and allocates resources. • An interface between applications and hardware
Main objectives of an OS: • Convenience
Make the computer system convenient to use.
An OS allows the computer system resources to be used in an efficient manner
• Ability to evolve
An OS should be constructed in such a way as to permit the effective development, testing, and introduction of new system functions without interfering with service.
Abstract View of System Components
Services Provided by the Operating System • Program development Editors and debuggers.
• Program execution
OS handles scheduling of numerous tasks required to execute a program.
• Access I/O devices
Each device will have unique interface OS presents standard interface to users
• Controlled access to files
—Accessing different media but presenting a common interface to users —Provides protection in multi-access systems
Services cont… • System Access • Error detection and response —Internal and external hardware errors —Software errors —Operating system cannot grant request of application
—Collect usage statistics —Monitor performance
The Role of an OS • A computer is a set of resources for the movement, storage, and processing of data. • The OS is responsible for managing these resources.
Operating System as Software
The OS functions in the same way as an ordinary computer software —It is a program that is executed by the CPU — Operating system relinquishes control of the processor
OS as Resource Manager
Evolution of Operating Systems • Operating systems will evolve over time —Hardware upgrades plus new types of hardware —New services —Fixes • It may be easier to understand the key requirements of an OS by considering the evolution of Operating Systems
• Stages include:
—Serial Processing —Simple Batch Systems — Uniprogramming —Multiprogrammed batch systems —Time Sharing Systems
Stages include: • • • • • • • • Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Serial Processing • No operating system • Machines run from a console with display lights, toggle switches, input device, and printer • Problems include: —Scheduling —Setup time
Simple batch system • Early computers were extremely expensive —Important to maximize processor utilization
—Software that controls the sequence of events —Batch jobs together —Program returns control to monitor when finished —
Monitor’s perspective • Monitor controls the sequence of events • Resident Monitor is software always in memory • Monitor reads in job and gives control • Job returns control to monitor
Job Control Language • Special type of programming language to control jobs • Provides instruction to the monitor —What compiler to use —What data to use.
• Memory protection for monitor
—Jobs cannot overwrite or alter
—Prevent a job from monopolizing system
• Privileged instructions
—Only executed by the monitor
Modes of Operation • User Mode
—User program executes in user mode —Certain areas of memory protected from user access —Certain instructions may not be executed
• Kernel Mode
—Monitor executes in kernel mode —Privileged instructions may be executed, all memory...