Introduction to Operating Systems
Click to edit Master subtitle style
4/13/12
Introduction
Abstract view Each users view. An OS implements an abstract view by acting as an intermediary between the user and the computer. OS has two goals efficient use of a computer and user convenience.
4/13/12
Abstract Views of an OS
What is an OS?
For a student ,an OS is the software which permits access to the wealth of knowledge existing on the internet - distributed domain which encompasses many computer systems For a programmer, an OS is the software which permits a computer system to be used for developing programs local domain also known as general purpose domain
For a person using an application package, the OS of a computer is simply the software which makes it possible to use the package OS 4/13/12 domain is only a small part of the general
Abstract Views of an OS (Continued)
Users perception about an OS depends on three factors
-
Purpose of the computer for what it is being used The environment of its use The degree of identity of the system with the purpose being served
4/13/12
Uses of abstract Views
Use Description Gathering A users abstract view indicates important system services which a system should provide. A requirements collection of abstract views can be used to compose a specification of system requirement Design of a system Use of abstract views permits a designer to focus on a specific part of a system. Details of other parts are hidden; these parts can be assumed to be available. This approach helps to control complexity of the design process.
Implementatio A part whose details were hidden in a design n of a system view becomes a module which can be called from other modules. This fact leads to a modular implementation.
Table 1: Abstract Views description 4/13/12
Abstract View (Continued)
OS is a collection of programs which realize the effective use of a computer system in a given environment System programs and software tools , which merely facilitate the utilization of a computer system through the use of higher level programming languages is not a part of this collection 4/13/12
Designers abstract view of an OS Kernel
Controls operation of the computer & provides a set of functions and services to use the CPU and resources of the computer. Kernel layer consists of program which reside in memory at all times Only the kernel programs interact with the computer hardware
User interface
Non kernel programs Kernel
Non Kernel Programs
Implement user commands and do not interact with the hardware. Non kernel programs are the programs which reside on disk are loaded into memory as and when needed
Computer hardware
Fig 1: A designers Abstract View of an OS
User interface 4/13/12
Logical and Physical Organization
Entity A program or a file or an I/O device Logical View Abstract View of an Entity Physical View Operating Systems view of an Entity Logical Organization Arrangement and relationship between components of the entity
4/13/12
Example for Logical and Physical Views
Fig 2: Logical and Physical Views of execution of a program
4/13/12
Goals of an OS
An OS must not only ensure efficient use of a computer system, but also provide user convenience. Trade off between efficient use and user convenience. KEY GOAL is to provide a combination of efficient use and user convenience that best suits the environment in which it is used.
4/13/12
User centric user convenience and good response times to user requests are important in an operating system System centric- use of good resource allocation policies
OS and effective utilization of computer systems
OS components which schedule the use of resources in the system play a 4/13/12 dominant role preemptive and non
Efficient Use of resources can be obtained by monitoring the use of resources and performing corrective actions when necessary. Comprehensive method of monitoring resources like memory, I/O devices and the CPU may lead to high overhead. Another option is to employ simple 4/13/12 easy suboptimal strategies for and
User convenience
Facet Necessity Good service User friendly OS Examples Ability to execute programs ,use file system Speedy response to computational requests Easy to use commands, GUI
Newer programming models oncurrent programming Features for experts Web oriented features Evolution Means to set-up complex computational structures Means to set up Web-enabled servers Ability to add new features, use new computers
Table 2: Facets of user convenience 4/13/12
Operation of an OS
Concern OS responsibility Programs Initiation and termination of programs. Providing convenient method so that several programs can work towards a common goal. Resources Ensuring availability of resources in the system and allocating them to the programs. Scheduling Deciding when, and for how long, to devote the CPU to a program. Protection Protect data and program against interference from other users and their programs.
Table 3: Key concerns of an OS 4/13/12
An OS also performs other tasks to implement its notion of effective utilization
Task Maintain a list of authorized users When/who performs System administrator
Common tasks performed by OS
Construct a list of all resources in the file system When OS is started Initiate execution of programs Maintain resource usage information programs and current status of all programs At user commands byContinuously during OS operation
Maintain current status of all resources andAt resource request or release allocate resources to programs when requested Perform scheduling Maintain information for protection During OS operation During OS operation
Handle requests made by users by OStheirAt user requests Table 4: Common tasks performed and 4/13/12 programs
OS concerns - Programs
A computational structure is a configuration of one or more programs that works towards the common goal. Typical computational structures are:
A single program A sequence of single programs Co-executing programs
4/13/12
Computational OS responsibilities structure Single program Perform program initiation/termination, resource management Sequence of Implement programs dependence single programs terminate the sequence if a program faces abnormal termination Co-executing Provide appropriate interfaces programs between programs, perform termination of the co-executing programs
Table 5: Computational structures and OS responsibilities 4/13/12
OS concerns Resource allocation and scheduling
Resources
system resource
User created resource
Resource allocation function performs binding of one or more resources with a requesting program. Also deallocates resources from a program and allocates them to other programs.
4/13/12
Resource allocation methods
Partitioning of resources:
Allocation is made before the program execution begins Resources allocated to a program may not be used (no flexibility in allocation) OS cannot grant additional resources to a program during execution
Pool based approach:
Allocation is done from a resource pool 4/13/12 when a program requests for the
Resource name Printer 1 Printer 2 Printer 3 Disk1 Disk2 cdw1
Class Addres Allocation status s Printer 101 Allocated to P1 Printer 102 Free Printer 103 Free Disk 201 Allocated to P1 Disk 202 Allocated to P2 CD 301 Free Table 6: Resource allocation table writer
This table is built by the boot procedure by sensing the presence of I/O devices in the system
4/13/12
In partition of resources an OS may decide to allocate 1MB of memory, 2000 disk blocks and a monitor to a program. Such a collection of resources is called a partition
1MB
1MB
1MB
Partition 1 ... Partition n
In pool-based allocation, OS consults the resource table when a program makes a request for a resource, and allocates accordingly. Incurs an overhead of allocating and deallocating resources individually Avoids problems in resource partitioning approach 4/13/12
1MB
1MB
1MB
P1
P2
Sharing of resources
Sequential sharing
A deallocated resource is marked free in the resourced table. Hence making it available for other programs Two or more programs can concurrently use the same resource
Concurrent sharing
Resource preemption sometimes, OS deallocates the resources to 4/13/12 ensure fair utilization of the
CPU sharing
CPU can be shared only in a sequential manner OS must ensure the fair usage of CPU by the programs. OS preempts a program if that Pr Preempted program o program has executed for a gr a reasonable amount of time m
. . . .
New programs
s w ai ti n g fo 4/13/12 r
The function of deciding CPU which program should be given the CPU and Selected program for how long is called Scheduling.
Scheduler
Memory sharing
Parts of memory can be treated as independent resources. Both types of allocation can be used. Partitioning allocation is simple 4/13/12 to implement.
Partition # 1 2 3 4
Pool of memory
A A B
B Unused
Memory allocation schemes
Disk sharing
Different parts of the disk can be treated as independent resources. Modern OSs have a preference towards pool based approach Disk preemption is not practiced by OS
4/13/12
Virtual resources
A virtual resource is a fictitious resource an illusion supported by the OS Gives the impression of having larger number of resources than it actually does. A virtual resource is an abstract view of a resource taken by computation. Virtual devices were used to prevent interference between programs. 4/13/12
Security and protection
Protection function counters the threats of unauthorized use posed by the users of the computer system. Security function counters similar threats posed by the person outside the control of an operating system. The OS verifies the identity of a user during login using password check authentication. Security threats do not arise if the 4/13/12
Overview of protection and security concerns
4/13/12