Software Concepts Dr. Ashish K. Gupta Dr. Ashish K. Gupta MBBS, MS-Surgery, PGDHHM, MBA-HCA (FMS) Gold Medalist, MAHA, PG in Quality Management & AHO, Consultant Surgeon, Hospital Consultant, NABH-Assessor, CMD Blue Ocean Consultants Director Programs AHA
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Software Concepts
Dr. Ashish K. GuptaDr. Ashish K. GuptaMBBS, MS-Surgery, PGDHHM, MBA-HCA (FMS) GoldMedalist, MAHA, PG in Quality Management & AHO,
Consultant Surgeon, Hospital Consultant,NABH-Assessor, CMD Blue Ocean Consultants
Director Programs AHA
Study Objectives:
1. What is Software?2. Software Program3. The History of Software4. Software Categories
A. System &B. application SoftwareC. Language Translators
5. Hardware- Software Relationship6. SYSTEM SOFTWARE
7. Basic Components ofSystem Software
A. Operating systems:B. Device driversC. Utility programs
8. OS CapabilitiesA. Multi-programmingB. Virtual StorageC. Time SharingD. Multi- processing
9. Utilities10. Other software
(Study Duration= 1 Hour)
1. What is Software?2. Software Program3. The History of Software4. Software Categories
A. System &B. application SoftwareC. Language Translators
5. Hardware- Software Relationship6. SYSTEM SOFTWARE
7. Basic Components ofSystem Software
A. Operating systems:B. Device driversC. Utility programs
8. OS CapabilitiesA. Multi-programmingB. Virtual StorageC. Time SharingD. Multi- processing
The History of SoftwareThe History of Software• Software is the element that drives the hardware to perform
specific tasks for the user• In infancy of computers there was a time when the entire
wiring of the computer was done in such a way as torepresent a series of instructions. Such computers were KA‘Hardwired’, as the set of instructions was wired in thehardware itself
• Such systems were dedicated & had a very narrow scope ofusage
• As the complexity & size of instructions increased, to do thesame hardware do more, there was a need to provideenough storage to it, therefore instructions had to move outto high capacity storage devices like floppies, hard disks & CDs
• Software is the element that drives the hardware to performspecific tasks for the user
• In infancy of computers there was a time when the entirewiring of the computer was done in such a way as torepresent a series of instructions. Such computers were KA‘Hardwired’, as the set of instructions was wired in thehardware itself
• Such systems were dedicated & had a very narrow scope ofusage
• As the complexity & size of instructions increased, to do thesame hardware do more, there was a need to provideenough storage to it, therefore instructions had to move outto high capacity storage devices like floppies, hard disks & CDs
System & Application SoftwareSystem & Application SoftwareDefinedDefined
• System Software: Is a set of generalized programs thatmanage the computer’s resources, such as central processor,communication links & peripheral devices– Only handful of systems software are available– Programmers who write system software are KA System
Programmers• Application Software: Describes the programs that are
written for or by the users to apply the computer to a specifictask. E.g. Software for processing an order or generating amailing list– Hundreds of application software packages are available– Programmers who write application software are KA
Application Programmers
• System Software: Is a set of generalized programs thatmanage the computer’s resources, such as central processor,communication links & peripheral devices– Only handful of systems software are available– Programmers who write system software are KA System
Programmers• Application Software: Describes the programs that are
written for or by the users to apply the computer to a specifictask. E.g. Software for processing an order or generating amailing list– Hundreds of application software packages are available– Programmers who write application software are KA
Language TranslatorsLanguage Translators• A type of system software. They act as:
– Interpreters (compiles likewise) It is a translator thatinterprets statement by statement, any program written inhigh language. Very useful for programming as it checks forerror statement by statement in an interactive mode
– Compilers (compiles program-wise) It reads the entireprogram written in high language & converts it to machinelanguage codes
– Assemblers (converts semi-machine language, macroinstructions to machine language)
• They convert programming languages into machine languagethat can be understood by the computer & utility programs thatperform common processing tasks
• A type of system software. They act as:– Interpreters (compiles likewise) It is a translator that
interprets statement by statement, any program written inhigh language. Very useful for programming as it checks forerror statement by statement in an interactive mode
– Compilers (compiles program-wise) It reads the entireprogram written in high language & converts it to machinelanguage codes
– Assemblers (converts semi-machine language, macroinstructions to machine language)
• They convert programming languages into machine languagethat can be understood by the computer & utility programs thatperform common processing tasks
Language TranslatorsLanguage Translators• The most elemental form of programming uses only binary
digits 0, 1 which is directly understood by the electronic circuits.A programme written using only binary digits is called aMachine Language Programme
• Assembly language provides a significant improvement overmachine language. These are written using mnemonic codeslike ADD, STORE etc. rather than machine language, makingprogramming easier. However it needs to be translated intomachine language codes. This translation is done by assemblers
• Both machine language & assembly language programme ismachine dependent i.e. program written for one machinecannot be used in another machine
• The most elemental form of programming uses only binarydigits 0, 1 which is directly understood by the electronic circuits.A programme written using only binary digits is called aMachine Language Programme
• Assembly language provides a significant improvement overmachine language. These are written using mnemonic codeslike ADD, STORE etc. rather than machine language, makingprogramming easier. However it needs to be translated intomachine language codes. This translation is done by assemblers
• Both machine language & assembly language programme ismachine dependent i.e. program written for one machinecannot be used in another machine
• System software which wefind already installed if webuy a new computer,enables the applicationsoftware to interact withthe computer & helps thecomputer manage itsinternal & externalresources
• System software which wefind already installed if webuy a new computer,enables the applicationsoftware to interact withthe computer & helps thecomputer manage itsinternal & externalresources
1. Operating System (OS)1. Operating System (OS)• An OS is the most important system software & is required to
operate a computer system• OS became a part of computer software with the second
generation computers. Advancements in computer hardwarehave also contributed to more efficient operating systems
• First OS was called Batch Processing (serial) OS wasdeveloped for second generation computers. The OS executesthe jobs serially one after the other from a batch of jobssubmitted. The CPU is kept busy only during the processingcycle of a lob & it idles during the input & output operations
• An OS is the most important system software & is required tooperate a computer system
• OS became a part of computer software with the secondgeneration computers. Advancements in computer hardwarehave also contributed to more efficient operating systems
• First OS was called Batch Processing (serial) OS wasdeveloped for second generation computers. The OS executesthe jobs serially one after the other from a batch of jobssubmitted. The CPU is kept busy only during the processingcycle of a lob & it idles during the input & output operations
• This drawback or idling the CPU was overcome by theintroduction of overlap processing
• Similar consideration gave rise to the concept of multi-programming, that handles multiple jobs simultaneously byoverlapping the input, output & processing cycles of variousjobs
• This OS was introduced along with Third generationcomputers & is still popular. It has replaced earlier batchprocessing OS
• Multi-programming OS is more complex & requires morepowerful hardware to support it
• This drawback or idling the CPU was overcome by theintroduction of overlap processing
• Similar consideration gave rise to the concept of multi-programming, that handles multiple jobs simultaneously byoverlapping the input, output & processing cycles of variousjobs
• This OS was introduced along with Third generationcomputers & is still popular. It has replaced earlier batchprocessing OS
• Multi-programming OS is more complex & requires morepowerful hardware to support it
1. Operating System (OS)1. Operating System (OS)• Is the computer system’s chief manager• OS:
1. Provides locations in primary memory for data & programs2. Controls the input & output devices such as printers,
terminals & telecommunication links3. Also coordinates the scheduling of work in various areas of
the computer so that different parts of different jobs canbe worked on at the same time
4. Keeps track of each computer job & may also keep track ofwho is using the system, of what programs have been run& of any unauthorized attempts to access the system
• Is the computer system’s chief manager• OS:
1. Provides locations in primary memory for data & programs2. Controls the input & output devices such as printers,
terminals & telecommunication links3. Also coordinates the scheduling of work in various areas of
the computer so that different parts of different jobs canbe worked on at the same time
4. Keeps track of each computer job & may also keep track ofwho is using the system, of what programs have been run& of any unauthorized attempts to access the system
Multiple programs can share a computer system’sresources at any one time through concurrent useof the CPU. Only one program is actually using theCPU at any given moment, but the input/outputneeds of other programs can be serviced at thesame time
Multiple programs can share a computer system’sresources at any one time through concurrent useof the CPU. Only one program is actually using theCPU at any given moment, but the input/outputneeds of other programs can be serviced at thesame time
VirtualStorage
Handles programs more efficiently by breaking downthe programs into tiny sections that are read intomemory only when needed. The rest of eachprogram is stored on disk until it is required. Virtualstorage allows very large programs to be executedby small machines, or a large number of programs tobe executed concurrently by a single machine
Allows many users to share computer processingresources simultaneously by allocating each a tinyslice of computer time to perform computing tasks &transferring processing from user to user. Thisarrangement permits many users to be connected toa CPU simultaneously, with each receiving only a tinyamount of CPU time
Allows many users to share computer processingresources simultaneously by allocating each a tinyslice of computer time to perform computing tasks &transferring processing from user to user. Thisarrangement permits many users to be connected toa CPU simultaneously, with each receiving only a tinyamount of CPU time
Multi-processing
Links together two or more CPUs to work in parallel ina single computer system. The OS can assign multipleCPUs to execute different instructions from the sameprogram or from different programs simultaneously,dividing the work between the CPUs