0% found this document useful (0 votes)
34 views28 pages

Abstract Views in Operating Systems

This document provides an introduction to operating systems. It discusses the abstract view of an OS from different user perspectives and describes the goals of an OS as providing efficient computer use and user convenience. The document outlines the logical and physical organization of an OS and covers OS responsibilities like program execution, resource allocation, scheduling, and security/protection.

Uploaded by

Vinuth Raj
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views28 pages

Abstract Views in Operating Systems

This document provides an introduction to operating systems. It discusses the abstract view of an OS from different user perspectives and describes the goals of an OS as providing efficient computer use and user convenience. The document outlines the logical and physical organization of an OS and covers OS responsibilities like program execution, resource allocation, scheduling, and security/protection.

Uploaded by

Vinuth Raj
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

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

You might also like