28
Chapter – 1 Chapter – 1 Introduction Introduction

Introduction

Embed Size (px)

DESCRIPTION

Chapter 1-System Software

Citation preview

Page 1: Introduction

Chapter – 1Chapter – 1

IntroductionIntroduction

Page 2: Introduction

IntroductionIntroduction• What is system software?• Goals of system software• System programs and System programming• The wonderland of System Software• Views of System Software

Page 3: Introduction

What is system software?• To know system software the first task is known To know system software the first task is known

what is system for examplewhat is system for example• To a school or college student,the computer system To a school or college student,the computer system

is equipment that runs a browser for the internetis equipment that runs a browser for the internet• To a user of an application package such as To a user of an application package such as

accounting package the computer system is simply accounting package the computer system is simply facilate use of packagesfacilate use of packages

• To a programmer the system is tool for developing To a programmer the system is tool for developing programams.programams.

Page 4: Introduction

What is system software?• In short every one has their own opinion about systemIn short every one has their own opinion about system

• Basically computerized system can be divided into 2 Basically computerized system can be divided into 2 partsparts

• The electronic circuit that constitute computer The electronic circuit that constitute computer hardwarehardware

• The system software that enables a user to satisfy their The system software that enables a user to satisfy their computer needs by provide them effective computer needs by provide them effective functionality which is helpful to use computerized functionality which is helpful to use computerized systemsystem

Page 5: Introduction

What is system software?• As we discuss earlier for computer system As we discuss earlier for computer system

everyone has their own view so we generate everyone has their own view so we generate abstract views as under givenabstract views as under given

User interfaceUser interface

Application programsApplication programs

Operating systemOperating system

User interfaceUser interface

Language processorsLanguage processors

Operating systemsOperating systems

Computer hardware Computer hardware

Page 6: Introduction

Abstract views of a computer system,Abstract views of a computer system,• User interface: the user interface accepts User interface: the user interface accepts

user’s command for using services provided user’s command for using services provided by os and initiates execution of one or more by os and initiates execution of one or more programs to fulfill the command. the user programs to fulfill the command. the user interface is either command line interface, interface is either command line interface, as in dos it accepts the command on prompt as in dos it accepts the command on prompt and on windows it works as a graphical user and on windows it works as a graphical user interface.interface.

Page 7: Introduction

Abstract views of a computer system, Abstract views of a computer system, • Application programs or language processors:Application programs or language processors:

This programs either implement the user’s This programs either implement the user’s application or assist in development of a programapplication or assist in development of a program

• Operating system:Operating system:

it controls the operation of the computer and provide it controls the operation of the computer and provide a set of services for executing programs and using a set of services for executing programs and using resources of the computer.resources of the computer.

Page 8: Introduction

Features of System softwareFeatures of System software• Basically system software has two featuresBasically system software has two features

• One is it facilate execution of programs and One is it facilate execution of programs and use of resources in a computer system.use of resources in a computer system.

• Other is it is layer based approach where Other is it is layer based approach where each layer is communicate with other each layer is communicate with other according to abstract view of system.according to abstract view of system.

Page 9: Introduction

Goals of System softwareGoals of System software• The fundamental goals of system software are as The fundamental goals of system software are as

given beloved.given beloved.

- User convenience: provide convenient methods User convenience: provide convenient methods of using computer systemof using computer system

- Efficient use: ensure efficient use of computer Efficient use: ensure efficient use of computer resourcesresources

- Non-interference: prevent interference in the Non-interference: prevent interference in the activities of its usersactivities of its users

Page 10: Introduction

User convenienceUser convenience• It provide convenient methods of using It provide convenient methods of using

computer systems for examplescomputer systems for examples

Facet Examples

Fulfillment of necessity Ability to execute programs, use the file system

Good service Speedily response to computer system

User friendly interface Easy to use command like GUI

New programming model Concurrent programming

Web oriented features Meant to set up web oriented servers

Evolution Add new features, use new computer technology

Page 11: Introduction

Efficient UseEfficient Use• Ensure efficient use of computer resourcesEnsure efficient use of computer resources

• Concentrates on cpu,memory,disks and other Concentrates on cpu,memory,disks and other io devicesio devices

• Each programs has allotted some resources Each programs has allotted some resources without it can not executewithout it can not execute

• To achieve good efficiency the system To achieve good efficiency the system software must minimize the waste of software must minimize the waste of resources by programs and own overheadresources by programs and own overhead

Page 12: Introduction

Non-interferenceNon-interference

• System must prevent illegality use of System must prevent illegality use of programs it mean without permission no one programs it mean without permission no one cab able to access the programcab able to access the program

• System must focus on isolationSystem must focus on isolation

• The authentication and authorization The authentication and authorization concepts is must for computerize systemsconcepts is must for computerize systems

• This activity is possible by using This activity is possible by using sophisticated authentication techniquesophisticated authentication technique

Page 13: Introduction

System programmingSystem programming• System software is collection of programsSystem software is collection of programs

• Each program is called system program which Each program is called system program which plays a role in the effective servicing of usersplays a role in the effective servicing of users

• Servicing includes the all activities in the Servicing includes the all activities in the creation of programscreation of programs

• System programming is the set of techniques System programming is the set of techniques used to realizes these design goalsused to realizes these design goals

Page 14: Introduction

System programmingSystem programming• The program should function correctly under all The program should function correctly under all

conditionsconditions

• The program should be effective in computer The program should be effective in computer environmentenvironment

• It also have 2 goalsIt also have 2 goals

- First is it is portableFirst is it is portable

- Second is it should be able to envolve to provide Second is it should be able to envolve to provide new functionalities and adopt new technologiesnew functionalities and adopt new technologies

Page 15: Introduction

The wonderland of System SoftwareThe wonderland of System Software• Programs are executed on based of resources like Programs are executed on based of resources like

cpu,memory,io devices but in some case program cpu,memory,io devices but in some case program A be preferred over program BA be preferred over program B

• The purpose of studying system software is The purpose of studying system software is which of two should be preferred in a specific which of two should be preferred in a specific situationsituation

• The following aspects effect on system software The following aspects effect on system software which provide solution about referencing which which provide solution about referencing which program from 2 at same time.program from 2 at same time.

Page 16: Introduction

The program development and The program development and production environmentsproduction environments

• In program development first user run program on In program development first user run program on trial base to rectify the bugstrial base to rectify the bugs

• In production environments the user executes on In production environments the user executes on one or more sets of data each to produce useful one or more sets of data each to produce useful results.results.

• A Compiler and interpreter are 2 system programs A Compiler and interpreter are 2 system programs that can use to execute program in these that can use to execute program in these environments.environments.

Page 17: Introduction

Making Software PortableMaking Software Portable• Portable mean program must be able to run Portable mean program must be able to run

on any environmenton any environment

• The notion of a virtual machine provides a The notion of a virtual machine provides a convenient method of implementing convenient method of implementing portabilityportability

• For exampleFor example

Software SSoftware S

Virtual machine Virtual machine layer for clayer for c

Software SSoftware S

S run on computer c S is ported to c

Page 18: Introduction

Realizing Benefit of internetRealizing Benefit of internet• A program should be able to invoke program located A program should be able to invoke program located

in remote computers and integrate their result in its in remote computers and integrate their result in its own computationown computation

• A user should be able to download an unknown A user should be able to download an unknown program to her/his computer and execute it without program to her/his computer and execute it without dangerdanger

• A web server should be able to provide time varying A web server should be able to provide time varying data also called dynamic content to a large number data also called dynamic content to a large number of clientof client

Page 19: Introduction

The Quick and Dirty programmingThe Quick and Dirty programming• When users wishes to perform computational When users wishes to perform computational

task it becomes time consuming for systemtask it becomes time consuming for system

• So in that case a user may desire a quick and So in that case a user may desire a quick and dirty solution is needed for system which dirty solution is needed for system which provide flexibility to solve errorsprovide flexibility to solve errors

• The solution should fulfill users computational The solution should fulfill users computational need.need.

Page 20: Introduction

The Embedded system environmentThe Embedded system environment• Embedded system applications deviated from Embedded system applications deviated from

trend towards more intelligence in computer trend towards more intelligence in computer hardware and software.hardware and software.

• In this system a computer system controls the In this system a computer system controls the operation of an equipment such as audio,cell operation of an equipment such as audio,cell phone etcphone etc

• But embedded system has limitations their size But embedded system has limitations their size is fixed so they have lack of resources so it is is fixed so they have lack of resources so it is difficult to compiledifficult to compile

• To solve this problem special compiler are To solve this problem special compiler are needed.needed.

Page 21: Introduction

Dynamic specification, flexibility Dynamic specification, flexibility and adaptive softwareand adaptive software

• The term dynamic mean there are special The term dynamic mean there are special features are implemented during execution time features are implemented during execution time of programof program

• It creates program execution time overhead for It creates program execution time overhead for example define runtime array with size of 100example define runtime array with size of 100

• Flexibility is the capability to broaden the Flexibility is the capability to broaden the choice in specification or decision according to choice in specification or decision according to need of user. for example user define data typesneed of user. for example user define data types

Page 22: Introduction

Adaptive SoftwareAdaptive Software• Adaptive software is one that adjusts its own Adaptive software is one that adjusts its own

features and behavior according to environmentsfeatures and behavior according to environments• It is combination of dynamic and flexibility of It is combination of dynamic and flexibility of

system.system.• For example language processors which generally For example language processors which generally

convert user language into system languageconvert user language into system language• Other is dynamic compiler which invoke the size of Other is dynamic compiler which invoke the size of

variable at run time with some user define data variable at run time with some user define data types.types.

Page 23: Introduction

Views Of System SoftwareViews Of System Software• User centric view: this view includes system User centric view: this view includes system

programs that provide user continence by programs that provide user continence by permitting a user to specify her computational permitting a user to specify her computational need in a manner of his own choiceneed in a manner of his own choice

• System centric View: it includes system System centric View: it includes system programs that provide effectiveness in the programs that provide effectiveness in the simultaneous servicing among many users and simultaneous servicing among many users and also provide facilities for interleaving of users also provide facilities for interleaving of users request in a multi user software.request in a multi user software.

Page 24: Introduction

Views Of System SoftwareViews Of System Software

• Computer hardwareComputer hardware

User interfaceUser interface

Language Language processorsprocessors

User interfaceUser interface User interfaceUser interface

Multi user softwareMulti user software

Operating SystemOperating System

Page 25: Introduction

User Centric ViewUser Centric View• It assists one user in fulfilling his computational It assists one user in fulfilling his computational

needsneeds

• System program perform the role of mediator System program perform the role of mediator between system and userbetween system and user

• Language processors translate the user need into Language processors translate the user need into system oriented needsystem oriented need

• Assembler which work as a compiler which is Assembler which work as a compiler which is translate the system assembly language into translate the system assembly language into machine oriented programmachine oriented program

• Linker and loader helps the execution of machine Linker and loader helps the execution of machine programprogram

Page 26: Introduction

User Centric ViewUser Centric View• Debugger helps checking bugs in the programsDebugger helps checking bugs in the programs

• If there are small number of tasks are there then If there are small number of tasks are there then language processor work as a interpreterlanguage processor work as a interpreter

• Application program is developed using language Application program is developed using language processors where translation is necessaryprocessors where translation is necessary

• Generally user centric view contain the scripts Generally user centric view contain the scripts that control the application programthat control the application program

Page 27: Introduction

System Centric ViewSystem Centric View• It is system programs has system software that It is system programs has system software that

achieves effective utilizationsachieves effective utilizations

• Operating system has allotted resources for all Operating system has allotted resources for all programs at a time of execution and this process programs at a time of execution and this process take place with sharing resources by applicationstake place with sharing resources by applications

• Sharing resources may needed non-interference Sharing resources may needed non-interference between programsbetween programs

• Resource sharing is focused on 2 techniquesResource sharing is focused on 2 techniques

- Resource partitioning: in which resource is Resource partitioning: in which resource is divided into programsdivided into programs

Page 28: Introduction

System Centric ViewSystem Centric View- Resource scheduling: in which resource selected Resource scheduling: in which resource selected

from list of programs and allotted resource for a from list of programs and allotted resource for a particular time periodparticular time period

- Scheduling of CPU results in interleaved Scheduling of CPU results in interleaved execution of programsexecution of programs

- For example os provide multithreading purpose For example os provide multithreading purpose for schedulling.for schedulling.