.Trashed 1723650123 Bca - 1 - Unit IV Software
.Trashed 1723650123 Bca - 1 - Unit IV Software
(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
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.
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.
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.
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.
• 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.
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.
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-