0% found this document useful (0 votes)
8 views7 pages

.Trashed 1723650123 Bca - 1 - Unit IV Software

122

Uploaded by

anmo14251425
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views7 pages

.Trashed 1723650123 Bca - 1 - Unit IV Software

122

Uploaded by

anmo14251425
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

UNIT –IV Software

Computer – Software, its Need & their Role and categories-


Software is a set of programs, which is designed to perform a well-defined function. A program is a sequence
of instructions written to solve a particular problem.
There are two types of software −
• System Software
• Application Software
(1) System Software
The system software is a collection of programs designed to operate, control, and extend the processing
capabilities of the computer itself. System software is generally prepared by the computer manufacturers.
These software products comprise of programs written in low-level languages, which interact with the
hardware at a very basic level. System software serves as the interface between the hardware and the end
users.
Some examples of system software are Operating System, Compilers, Interpreter, Assemblers, etc.

Here is a list of some of the most prominent features of a system software −


• Close to the system
• Fast in speed
• Difficult to design
• Difficult to understand
• Less interactive
• Smaller in size
• Difficult to manipulate
• Generally written in low-level language

(2)Application Software-
Application software products are designed to satisfy a particular need of a particular environment. All
software applications prepared in the computer lab can come under the category of Application software.
Application software may consist of a single program, such as Microsoft's notepad for writing and editing a
simple text. It may also consist of a collection of programs, often called a software package, which work
together to accomplish a task, such as a spreadsheet package.
Examples of Application software are the following −
• Payroll Software
• Student Record Software
• Inventory Management Software
• Income Tax Software
• Railways Reservation Software
• Microsoft Office Suite Software
• Microsoft Word
• Microsoft Excel
• Microsoft PowerPoint

Features of application software are as follows −


• Close to the user
• Easy to design
• More interactive
• Slow in speed
• Generally written in high-level language
• Easy to understand
• Easy to manipulate and use
• Bigger in size and requires large storage space
Characteristics of A Good Programming (Software) -
Several characteristics believed to be important for making a programming language good are:
Simplicity : A good programming language must be simple and easy to learn and use. It should provide a
programmer with a clear, simple and unified set of concepts, which can be easily grasped. The overall
simplicity of a programming language strongly affects the readability of the programs written in that
language, and programs, which are easier to read and understand, are also easier to maintain.

Naturalness: - A good language should be natural for the application area, for which it has been designed.
That is, it should provide appropriate operators, data structures, control structures, and a natural syntax to
facilitate the users to code their problem easily and efficiently.

Abstraction: - Abstraction means the ability to define and then use complicated structures or operations in
ways that allow many of the details to be ignored. The degree of abstraction allowed by a programming
language directly effects its writ ability.

Efficiency: - Programs written in a good programming language are efficiently translated into machine code,
are efficiently executed, and acquire as little space in the memory as possible. That is a good programming
language is supported with a good language translator which gives due consideration to space and time
efficiency.
Structured:- Structured means that the language should have necessary features to allow its users to write
their programs based on the concepts of structured programming. This property of a moreover, it forces a
programmer to look at a problem in a logical way, so that fewer errors are created while writing a program
for the problem.
Compactness: - In a good programming language, programmers should be able to express intended
operations concisely. A verbose language is generally not liked by programmers, because they need to write
too much.
Locality: - A good programming language should be such that while writing a programmer concentrate
almost solely on the part of the program around the statement currently being worked with.

Various stages in Program Development -


The process of software development services in India goes through a series of stages in step wise fashion
that almost every developing company follows. Known as the ‘software development life cycle,’ these six
steps include planning, analysis, design, development & implementation, testing & deployment and
maintenance.
1. Planning: Without the perfect plan, calculating the strengths and weaknesses of the project, development
of software is meaningless. Planning kicks off a project flawlessly and affects its progress positively.

2. Analysis: This step is about analyzing the performance of the software at various stages and making notes
on additional requirements. Analysis is very important to proceed further to the next step.

3. Design: Once the analysis is complete, the step of designing takes over, which is basically building the
architecture of the project. This step helps remove possible flaws by setting a standard and attempting to
stick to it.

4. Development & Implementation: The actual task of developing the software starts here with data
recording going on in the background. Once the software is developed, the stage of implementation comes
in where the product goes through a pilot study to see if it’s functioning properly.
5. Testing: The testing stage assesses the software for errors and documents bugs if there are any.

6. Maintenance: Once the software passes through all the stages without any issues, it is to undergo a
maintenance process wherein it will be maintained and upgraded from time to time to adapt to changes.
Almost every software development Indian company follows all the six steps, leading to the reputation that
the country enjoys in the software market today.

Overview & Definition of operating system (OS)


An operating system is a program that acts as an interface between the user and the computer hardware
and controls the execution of all kinds of programs.

An operating system (OS) is a collection of software that manages computer hardware resources and
provides common services for computer programs.
An operating system is a software which performs all the basic tasks like file management, memory
management, process management, handling input and output, and controlling peripheral devices such as
disk drives and printers.
Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS,
OS/400, AIX, z/OS, etc.
Functions (Applications) of an operating System-
Following are some of important functions of an operating System.
• Memory Management
• Processor Management
• Device Management
• File Management
• Security
• Control over system performance
• Job accounting
• Coordination between other software and users
(1)Memory Management-
Memory management refers to management of Primary Memory or Main Memory. Main memory is a large
array of words or bytes where each word or byte has its own address. Main memory provides a fast storage
that can be accessed directly by the CPU. For a program to be executed, it must in the main memory.
An Operating System does the following activities for memory management −
• Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part are not in use.
• In multiprogramming, the OS decides which process will get memory when and how much.
• Allocates the memory when a process requests it to do so.
• De-allocates the memory when a process no longer needs it or has been terminated.
(2)Processor Management-
In multiprogramming environment, the OS decides which process gets the processor when and for how
much time. This function is called process scheduling. An Operating System does the following activities for
processor management −
• Keeps tracks of processor and status of process. The program responsible for this task is known
as traffic controller.
• Allocates the processor (CPU) to a process.
• De-allocates processor when a process is no longer required.
(3)Device Management-
An Operating System manages device communication via their respective drivers. It does the following
activities for device management −
• Keeps tracks of all devices. Program responsible for this task is known as the I/O controller.
• Decides which process gets the device when and for how much time.
• Allocates the device in the efficient way.
• De-allocates devices.
(4)File Management-
A file system is normally organized into directories for easy navigation and usage. These directories may
contain files and other directions.
An Operating System does the following activities for file management −
• Keeps track of information, location, uses, status etc. The collective facilities are often known as file
system.
• Decides who gets the resources.
• Allocates the resources.
• De-allocates the resources.
(5) Security − By means of password and similar other techniques, it prevents unauthorized access to
programs and data.
(6)Control over system performance − Recording delays between request for a service and response from
the system.
(7)Job accounting − Keeping track of time and resources used by various jobs and users.
(8) Coordination between other software and users − Coordination and assignment of compilers,
interpreters, assemblers and other software to the various users of the computer systems.

OS classification (Types of Operating System)


The Operating system can perform a Single Operation and also Multiple Operations at a Time. So there are
many types of Operating systems those are organized by using their Working Techniques.

(1) Batch Processing Operating System:


In the Batch Processing Similar Types of jobs are Firstly Prepared and they are Stored on the Card. and that
card will be Submit to the System for the Processing. The System then Perform all the Operations on the
Instructions one by one.
The Main Problem is that the Jobs those are prepared for Execution must be the Same Type .

Batch processing is a technique in which an Operating System collects the programs and data together in a
batch before processing starts. An operating system does the following activities related to batch processing

• The OS defines a job which has predefined sequence of commands, programs and data as a single
unit.
• The OS keeps a number a jobs in memory and executes them without any manual information.
• Jobs are processed in the order of submission, i.e., first come first served fashion.

Advantages
• Batch processing takes much of the work of the operator to the computer.
• Increased performance as a new job get started as soon as the previous job is finished, without any
manual intervention.
Disadvantages
• Difficult to debug program.
• A job could enter an infinite loop.
• Due to lack of protection scheme, one batch job can affect pending jobs.

(2) Multi-Programming Operating System:


In Multi programming we can Execute Multiple Programs on the System at a Time and in the Multi-
programming the CPU will never get idle, because with the help of Multi-Programming we can Execute Many
Programs on the System
Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to
execute.
An OS does the following activities related to multiprogramming.
• The operating system keeps several jobs in memory at a time.
• The operating system picks and begins to execute one of the jobs in the memory.
• Multiprogramming operating systems monitor the state of all active programs and system resources
using memory management programs to ensures that the CPU is never idle, unless there are no jobs
to process.
Advantages
• High and efficient CPU utilization.
• User feels that many programs are allotted CPU almost simultaneously.
Disadvantages
• CPU scheduling is required.
• To accommodate many jobs in memory, memory management is required.

(3)Multitasking Operating System -


Multitasking is when multiple jobs are executed by the CPU simultaneously by switching between them.
Switches occur so frequently that the users may interact with each program while it is running. An OS does
the following activities related to multitasking −
• The user gives instructions to the operating system or to a program directly, and receives an
immediate response.
• The OS handles multitasking in the way that it can handle multiple operations/executes multiple
programs at a time.
• Each user has at least one separate program in memory.

• A program that is loaded into memory and is executing is commonly referred to as a process.
• When a process executes, it typically executes for only a very short time before it either finishes or
needs to perform I/O.
(4) Multiprocessing Operating System:
Generally a Computer has a Single Processor means a Computer have a just one CPU for Processing the
instructions. But if we are Running multiple jobs, then this will decrease the Speed of CPU. For Increasing the
Speed of Processing then we uses the Multiprocessing.
In the Multi-Processing there are two or More CPU in a Single Operating System if one CPU will fail,
then other CPU is used for providing backup to the first CPU. With the help of Multi-processing, we can
Execute Many Jobs at a Time. All the Operations are divided into the Number of CPU’s. if first CPU Completed
his Work before the Second CPU, then the Work of Second CPU will be divided into the First and Second.

(5)Time-sharing operating systems


Time-sharing is a technique which enables many people, located at various terminals, to use a particular
computer system at the same time. Time-sharing is a logical extension of multiprogramming. Processor's
time which is shared among multiple users simultaneously is termed as time-sharing.
The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is that in
case of multiprogrammed batch systems, the objective is to maximize processor use, whereas in Time-
Sharing Systems, the objective is to minimize response time.
Advantages
• Provides the advantage of quick response.
• Avoids duplication of software.
• Reduces CPU idle time.
Disadvantages –
• Problem of reliability.
• Question of security and integrity of user programs and data.
• Problem of data communication.
(6) Real Time System Operating System:
There is also an Operating System which is known as Real Time Processing System. In this Response Time is
already fixed. Means time to Display the Results after Possessing has fixed by the Processor or CPU. Real
Time System is used at those Places in which we Requires higher and Timely Response. These Types of
Systems are used in Reservation. So when we specify the Request, the CPU will perform at that Time. There
are two Types of Real Time System.
1) Hard Real Time System: In the Hard Real Time System, Time is fixed and we can’t Change any Moments
of the Time of Processing. Means CPU will Process the data as we Enters the Data.
2) Soft Real Time System: In the Soft Real Time System, some Moments can be Change. Means after giving
the Command to the CPU, CPU Performs the Operation after a Microsecond.
(7) Multi-user operating system-
A multi-user operating system differs from a single-user system on a network in that each user is
accessing the same OS at different machines.
A multi-user operating system allows multiple users to access the data and processes of a single
machine from different computers or terminals. These were previously often connected to the larger system
through a wired network, though now wireless networking for this type of system is more common.

A multi-user operating system is often used in businesses and offices where different users need to
access the same resources, but these resources cannot be installed on every system. In a multi-user
operating system, the OS must be able to handle the various needs and requests of all of the users effectively.

In a multi-user system, for example, the OS may need to handle numerous people attempting to use
a single printer simultaneously. The system processes the requests and places the print jobs in a queue that
keeps them organized and allows each job to print out one at a time. Without a multi-user OS, the jobs could
become intermingled and the resulting printed pages would be virtually incomprehensible.

(8)Multithreading Operating System- Multithreading is the execution of multiple threads of a single


process concurrently within the context of that process.

A thread of a process means a code segment of a process, which has its own thread ID, program
counter, registers and stack and can execute independently. But threads belonging to the same process has
to share the belongings of that process like code, data, and system resources. Creating separate processes
for each service request consumes time and exhaust system resources. Instead of incurring this overhead, it
is more efficient to create threads of a process.
To understand the multithreading concept let us take an example of a word processor. A word processor,
displays graphic, responds to keystrokes, and at the same time, it continues spelling and grammar checking.
You do not have to open different word processors to do this concurrently. It does get happen in a single
word processor with the help of multiple threads.

Advantages-

• Multithreading increases the responsiveness as if one thread of a process is blocked or performing


the lengthy operation, the process still continues.
• The second benefit of multithreading is resource sharing as several threads of a process share same
code and data within the same address space.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy