CE Free Writing - 3
CE Free Writing - 3
CE Free Writing - 3
MOUNIKA
Student Registration Number 665489 Class &Section: AIML -1C
Study Level : UG/PG UG Year &Term: I & I
Subject Name COMPUTER ESSENTIAL
Name of the Assessment Free writing -3
Date of Submission 12-10-2024
Module-5
Computer software
From the reference material of module 5. I have
understood that what is computer software. A program
is a sequence of instructions that a computer can
interpret and execute. Programs can be built into the
hardware itself, or they may exist independently in a
form known as software. Hardware describes the
physical components of computers and related devices.
The process of fetching and then performing the
instructions is called “running,” or “executing,” a
program.
The two main types of software are system software and
application software.
Application software consists of programs that are
aimed to help users in solving particular computing
problems.
the system software, which encompasses the programs
that heavily interact with computer resources and
provide services to other programs. Popular examples in
this are Operating Systems (OS), hardware drivers,
compiler etc.
SYSTEM SOFTWARE:
System software co-ordinates the various parts of
computer system and mediates between the application
software and computer hardware. Operating system is
system software, which manages and controls the
computers activities.
1. Operating System: An operating system is a set of
computer programs that controls the computer
hardware and acts as an interface with the application
programs. The operating system plays a central role in
the functioning of a computer system.
Functions of Operating System:
Performing common computer hardware functions.
Providing a user interface.
Providing a degree of hardware independence.
Managing system memory.
Managing processing tasks Computer Software.
Providing networking capability.
Controlling access to system resources.
Managing files.
Common Hardware Functions:
All application programs must perform certain
tasks. For example
Getting input from the keyboard or some other
input devices
Retrieving data from disks
Storing data on disks
Displaying information on a monitor or printer
A graphical user interface (GUI) uses pictures (called
icons) and menus displayed on screen to send
commands to the computer system. Many people find
that GUIs are easier to use because user intuitively grasp
the functions. Today, the most widely used graphical
user interface is Windows by Microsoft. Alan Kay and
others at Xerox PARC (Palo Alto Research Center, located
in California) were pioneers in investigating the use of
overlapping windows and icons as an interface.
Windows is based on the use of a window, or a portion
of the display screen dedicated to a specific application.
The screen can display several windows at once. Another
example which is also widely used is iOS by Apple.
Memory Management: The purpose of memory
management is to control how memory is accessed and
to maximize available memory and storage. The memory
management feature of many operating systems allows
the computer to execute program instructions
effectively and with speed.
Memory controller allows the computer system to
efficiently and effectively store and retrieve data
and instructions and to supply them to the CPU
Memory management is important because
memory can be divided into different segments or
areas. Some computer chips provide “rings” of
protection.
Virtual Memory works by swapping programs or
parts of programs between memory and one or
more disk drives using a concept call paging.
Processing Task: Managing all processing activities is
accomplished by the task management features of
operating systems. Task management allocates
computer resources to make the best use of system
assets.
Networking Capability: The operating system can provide
features and capabilities that aid users in connecting to a
computer network.
File Management: An operating system performs file
management functions to ensure that the files are
available to CPU when needed and that they are
protected from access by unauthorized users.
2.Language Translators: The CPU (also called processor)
of a computer understands commands in machine
language, where each instruction is a series of binary
digits. Programming in machine language is not easy, as
programmers have to remember the machine codes,
which are in binary format. To help programmers, other
high level programming languages have been developed
whose instructions are easy to remember for
programmers as these languages use English words.
Difference between Compiler and Interpreter: An
interpreter is a language translator that reads the source
code line-byline and executes them one by one. On the
other hand, a compiler first reads the complete source
code and then generates its object code (the equivalent
machine language program).
Advantages and Disadvantages of Interpreter over
Compiler
Advantages:
As compared to compiler no synthesis phase is
required in interpreter: Neither there is a need to
learn target language B nor the target code is to be
generated. Thus interpreters don’t have synthesis
phase.
Direct Execution: There is no intermediate
compilation phase so the code is directly executed.
Disadvantages:
Efficiency Loss: As the code is executed on the fly,
the efficiency of the program is low. In compilers,
there is a separate phase for optimization of the
program code.
Interpreter must be available on target machine:
The compiled code can be executed on any similar
machine. The code needs not to be compiled every
time. For languages, which are interpreter based,
the interpreter must be available on each machine
where the code is to be executed.
3. Utility Programs: A utility program is designed for
general support to the processes of a computer. They
are usually for routine, repetitive tasks and many users
share them. Examples of utility programs include
diagnostic programs, antivirus tools, trace programs,
input routines, and programs used to perform routine
tasks.
APPLICATION SOFTWARE
Application software is a complete, self-contained
program that performs a specific function directly for
the user. This is in contrast to system software, which
exists to support application programs. Application
software may consist of a single program, such as an
image viewer.
Programming Languages:
A programming language is an artificial language
(as opposed to natural languages such as Hindi,
English etc.) that is used to generate or to express
computer programs. Both system software and
application software are developed using one or
many programming languages.
Generations of Programming Languages
The programming languages have been divided
into different generations according to their
characteristics and capabilities.
Machine Language: The first generation of
computer programming languages is machine
language. Programs in machine language consist of
instructions coded in of 0s and 1s, thus the
alphabets of machine language are 0 and 1.
Assemble Language The second generation of
computer programming language started using
mnemonics (like ADD, SUB) to represent machine
language instructions and storage locations.
Assembly language is also machine-dependent.
Third Generation Language :(3GL) 3GL are English-
like languages. They use statements and
commands, which are similar to the words used in
English. 3GLs are easier to learn, but less efficient
in the use of computer resources as compared to
machine and assembly languages. Typically, a
statement in 3GL is translated into many
instructions of machine language. C, BASIC,
FORTRAN, COBOL and Pascal are the popular third
generation languages.
DIFFERENCE BETWEEN APPLICATION SOFTWARE AND
SYSTEM SOFTWARE:
System software and application software are
computer programs. The system software is also
installed during the installation of the operating
system. However, the application software utilizes
the capabilities of the computer on which it is
installed.
OPEN SOURCE SOFTWARE Open Source Software (OSS):
primarily defined as software, which is freely re-
distributable and includes the source code. The
licenses under which OSS is released vary greatly.
These are a few of the most common and popular
licenses for OSS. Some examples are –
1. GNU Public License (GPL) V2 & V3
2. GNU Affero General Public License (AGPL)
3. Limited GNU Public License (LGPL)
4. MIT License
5. Berkeley Software Distribution (BSD) 3-Clause
License
6. Apache License 2.0
7. The Artistic License
8. The Netscape Public License (NPL)
9. Mozilla Public License (MPL)
10. Apple Public Source License (APSL).
ACQUIRING APPLICATION SOFTWARE
A company can either develop or purchase
software for its use. In some cases, the
purchased software can be modified /
customized according to the needs of the
company.
THANK YOU