Computer Software
Importance of Software
Software is a collection of
instructions and data that enables a user to interact or work with a computer,
its hardware. The software tells the computer how to operate. It's the opposite
of the physical hardware from which the system is built and works. Computers
would be useless without software. As such, you cannot surf the Internet or
read pages without your Internet browser software. A browser cannot run on your
computer without an operating system.
Computer software includes
computer programs, libraries, and related non-executable data, such as online
documentation or digital media. Computer hardware and software need each other,
and neither can be work on its own.
Most software is in
high-level programming languages. They are simple and more efficient for
programmers because they are closer to natural languages than machine
languages. High-level languages are translated into machine language using a
compiler or interpreter or a combination of both. The software can also be
written in low-level assembly language, with strong correspondences of computer
machine language instructions and translated into machine language by the
assembler.
Types
On all computer platforms, the software can include
in a few broad categories.
Application Software
There is software that uses a
computer system to perform unusual tasks or perform recreational responsibilities.
There are many types of application software.
System Software
The system software is a type
of computer program that is designed to run a computer's hardware and
application programs. If we think of the computer system as a layered model,
the system software is the interface between the hardware and user applications.
The operating system (OS) is the best-known example of system software. The OS
manages all the other programs on a computer.
Other
examples of system software include:
1. The BIOS (basic
input/output system) gets the computer system started after you turn it on and
manages the data flow between the operating system and attached devices such as
the hard disk, video adapter, keyboard, mouse, and printer.
2. The boot program loads the
operating system into the computer's main memory or random access memory (RAM).
3. An assembler takes basic
computer instructions and converts them into a pattern of bits that the
computer's processor can use to perform its basic operations.
4. A device driver controls a particular type of device that is attached to your computers, such as a
keyboard or a mouse. The driver program converts the more general input/output
instructions of the operating system to messages that the device type can
understand.
Additionally, system software
can also include system utilities, such as the disk defragmenter and System
Restore, and develop tools, such as compilers and debuggers.
System software and
application programs are the two main types of computer software. Unlike system
software, an application program (often just called an application or app)
performs a particular function for the user. Examples include browsers, email
clients, word processors, and spreadsheets.
These include:
Operating system
Operating systems are
essential collections of software that manage resources and provide the general
services of that software. Supervisory programs, boot loaders, shells, and
windows are the main components of the operating system. The operating system
is integrated with additional software (including application software).
Device Drivers
Device Drivers Operate or
control a specific type of device attached to a computer. Each device requires
at least one corresponding device driver. A computer has at least one input
device and at least one output device. So the computer needs more than one
device driver.
Malware
Malware can prevent and
disrupt the computer. By the way, malware is unwanted. Malware is related to
computer-related crimes.
Software Architecture
Users often see things
differently than programmers. People who use general-purpose computers (as
opposed to embedded systems, analog computers, and supercomputers) usually, see
three types of software perform different functions: platforms, applications,
and user software.
Platform Software
The platform consists of
firmware, device drivers, an operating system, and a graphical user interface
in general. It allows the user to interact with the computer with its perimeter
(related equipment). Platform software integrated with computers. PCs usually
can change the platform software.
Application Software
Examples of application
software include office suites and video games. Application software is often
purchased separately from the computer hardware. Sometimes applications are
integrated with a computer, but that doesn't change the fact that they run as
separate applications. Applications are usually separate programs of the
operating system they are often created on a specific platform. Many users
think of compilers, databases, and other "system software" as
applications.
Execution
Once the software is
installed, the computer can run the software. It involves sending instructions
from the application software to the hardware via the system software. That eventually
receives the instructions as machine code.
Quality and reliability
The quality of the software
is very important. Quality is important for professional and system software
like Microsoft Office, Microsoft Windows, and Linux. If the software is faulty
(buggy), it can delete someone's work, crash the computer, and do other
unexpected things. Defects and errors are called "bugs" that are
often found during alpha and beta testing.
Many defects were detected
and removed (debugged) by software testing. However, software testing rarely
removes every bug.
Software License
A software license is a legal
instrument (usually by way of contract law, with or without printed material)
governing the use or redistribution of software. Under United States copyright
law, all software is copyright protected, in both source code and object code
forms, unless that software was developed by the United States Government, in
which case it cannot be copyrighted.
Authors of copyrighted software can donate their software to the public
domain, in which case it is also not covered by copyright and, as a result,
cannot be licensed.
A typical software license
grants the licensee, typically an end-user, permission to use one or more
copies of the software in ways where such a use would otherwise potentially
constitute copyright infringement of the software owner's exclusive rights under
copyright.
Industry and organizations
There is a software industry
among many software companies and programmers in the world. Software can be
a very lucrative industry. Bill Gates, a co-founder of Microsoft, was the
richest man in the world in 2009.
Non-profit software
organizations include the Free Software Foundation, the GNU Project, and the
Mozilla Foundation. Software Standards Institutions such as W3C, IETF develop
suggested software standards such as XML, HTTP, and HTML so that the software
can interact with these standards.
Other well-known major
software companies include Google, IBM, TCS, Infosys, Wipro, HCL Technologies,
Oracle, Novell, SAP, Symantec, Adobe Systems, Cedetrad, and Corel, and smaller
companies offer a lot of innovation.