Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
41 views

Chapter 6 Computer Software

Uploaded by

shoba
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Chapter 6 Computer Software

Uploaded by

shoba
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 31

Computer

Fundamentals and
Programming in C
2nd Edition
Reema Thareja

1
© Oxford University Press 2016. All rights reserved.
CHAPTER 6
COMPUTER SOFTWARE

© Oxford University Press 2016. All rights reserved.


INTRODUCTION
COMPUTER SYSTEM

COMPUTER HARDWARE COMPUTER SOFTWARE

SYSTEM SOFTWARE APPLICATION SOFTWARE

The computer hardware cannot think and make decisions on its own. So, it cannot be
used to analyze a given set of data and find a solution on its own. The hardware needs
a software (a set of programs) to instruct what has to be done. A program is a set of
instructions that is arranged in a sequence to guide a computer to find a solution for
the given problem. The process of writing a program is called programming.
Computer software is written by computer programmers using a programming
language.

© Oxford University Press 2016. All rights reserved.


Examples of computer software include:

• Driver Software

• Educational software

• Media Players and Media Development Software

• Productivity Software such as word processors, database management utilities, and


presentation software, Operating Systems software , etc.

•Computer Games

© Oxford University Press 2016. All rights reserved.


System Software Application Software
It is a collection of programs that enable the users to It is a collection of programs written for a specific
interact with hardware components efficiently application. Like, we have library system, inventory control
system, etc
It controls and manages the hardware It uses the services provided by the system software to
interact with hardware components
System software is machine dependant It is machine independent
The programmer must understand the architecture of the The programmer ignores the architecture of the machine
machine and hardware details to write a system software and hardware details to write an application software

Interacts with the hardware directly Interacts with the hardware indirectly through system calls
provided by system software
Writing a system software is a complicated task Writing application programs is relatively very easy
Example: compiler, operating system Example: MS-WORD, PAINT
USER N
USER 1 USER 2

Application programs

For example, games, spreadsheets, word processor, database, web browsers

System Software

For example, Operating System

Computer Hardware

For example, printer, mouse, scanner, keyboard, CPU, disk

© Oxford University Press 2016. All rights reserved.


BASIC INPUT OUTPUT SYSTEM (BIOS)
•BIOS provides basic functionality to operate and control the hardware connected to or built
into the computer.
•It is a de-facto standard defining a firmware interface. The BIOS is built into the computer and
is the first code run by the computer when it is switched on. The key role of the BIOS is to load
and start the operating system.
•When the computer starts, the first function that BIOS performs is to initialize and identify
system devices such as the video display card, keyboard and mouse, hard disk, CD/DVD drive
and other hardware. The code in the BIOS chip runs a series of tests called POST (Power On Self
Test) to ensure that the system devices are working correctly.
•The BIOS then locates software held on a peripheral device such as a hard disk or a CD, and
loads and executes that software, giving it control of the computer. This process is known as
booting.
•BIOS is stored on a ROM chip built into the system.

© Oxford University Press 2016. All rights reserved.


Operating System: The primary goal of an operating system is to
make the computer system convenient and efficient to use.
An operating system ensures that the system resources (such as CPU,
memory, I/O devices, etc) are utilized efficiently. For example, there
may be many service requests on a web server and each user request
need to be serviced. Similarly, there may be many programs residing in
the main memory. Therefore, the system needs to determine which
programs are active and which need to wait for some I/O operation.

© Oxford University Press 2016. All rights reserved.


Utility Software: It is used to analyze, configure, optimize, and maintain the
computer system. Some of them are listed below.
Disk defragmenters; Disk checkers; Disk cleaners; Disk space analyzers; Disk
partitions; Backup utilities; Disk compression; File managers; System
profilers; Anti-virus utilities; Cryptographic utilities;
Launcher applications ; Registry cleaners ; Network utilities;
Command line interface (CLI); and Graphical user interface (GUI)

© Oxford University Press 2016. All rights reserved.


TRANSLATORS
A compiler is a special type of program that transforms source code written in a
programming language into machine language comprising of just two digits- 1s and 0s.
The resultant code in 1s and 0s is known as the object code.
Interpreter: Like the compiler, the interpreter also converts machine level language
instructions into machine level language. However, it translates the instructions into
an intermediate form, which it then executes. Usually, a compiled program executes
faster than an interpreted program.

Assembler: An assembler takes an assembly language program as an input and gives a


code in machine language (also called an object code) as output. There is a one-to-one
correspondence between the assembly language code and the machine language
code. However, if there is an error, the assembler gives a list of errors. The object file
is
created only when the assembly language code is free from errors.
© Oxford University Press 2016. All rights reserved.
Linker: Also called link editor and binder, a linker is a program that combines object
modules to form an executable program. Generally, in case of a large program, the
programmers prefer to break a code into smaller modules. Eventually, when the
source code of all the modules has been converted into object code, all the modules
must be put together. This is the job of the linker. The compiler automatically invokes
the linker as the last step in compiling a program.
Loader: A loader is a special type of program that copies programs from a storage
device to main memory, where they can be executed. Most loaders are transparent to
the users.
Debugger: Debugging tools, commonly known as debugger s , are used to identify
coding errors at different stages of software (or program) development. A debugger is
a program that runs other programs allowing users to exercise some degree of
control over their programs so that they can examine them when things go wrong.

© Oxford University Press 2016. All rights reserved.


Application software is a type of computer software that employs the capabilities of a
computer directly to perform a user-defined task. Examples of software applications are
word processors, spreadsheets, media players, education software, CAD, CAM, data
communication software, statistical and operational research software, etc.

© Oxford University Press 2016. All rights reserved.


Acquiring Computer software
Software can be acquired in following three ways:
Buying pre-written software: Many pre-written software packages are already available in
the market. We just need to find one that best meets our requirements. Requirement
means two things: First, compatibility with the available hardware and the operating
system, and second, the list of desired features, duration of warranty, cost, etc.

Having customized software: If any pre-written software package does not meet the
individual’s or the organization’s requirements, then the next option is to have a
customized software package. The organization can create a customized software package
either in-house, if the organization has a
software development team or outsource it to a different organization.

Downloading public domain software: Some software are available on the Internet that
the users
can download free of cost. If such available software meets user’s requirements, they can
be easily downloaded. Such type of software is known as public domain software or
freeware or shareware. It is also often referred as community-supported software as
authors do not support the product directly but users of the software support and help
each other.

© Oxford University Press 2016. All rights reserved.


Productivity Software is any software that is used to attain something productive,
especially in the office or home, as opposed to game software or entertainment
software.
Word processing program, spreadsheet application or graphic design software,
are actually the tools people use to create and produce documents,
presentations, databases, charts, graphs, calendars, labels, to-do lists, etc.

© Oxford University Press 2016. All rights reserved.


Graphics software or image editing software is a program that allows users to
create and edit digital images and illustrations. Examples of such software’s include
Adobe Photoshop Illustrator, Paint Shop Pro, MS Paint, etc. Some of the graphics
applications are given below:
Paint, Presentation, Animation, CAD and Desktop Publishing programs

© Oxford University Press 2016. All rights reserved.


Multimedia Software is a comprehensive term which means different types of
media like text, audio, still images, animation, video, and interactivity.
Multimedia content can be broadly divided into two groups: linear and non-linear.
While the linear active content progresses without any navigational control for the
viewer, non-linear content, supports user’s interaction to control progress.
Multimedia presentations can be live or recorded.

© Oxford University Press 2016. All rights reserved.


Multimedia is widely applied in areas such as advertisements, education,
entertainment, engineering, medicine, mathematics, business, scientific research
and spatial temporal applications.

Edutainment is now emerging as a trend in school as well as higher education.


Moreover, visually impaired or people with other kinds of disabilities can pursue
their careers by using training programs specially designed for them.

© Oxford University Press 2016. All rights reserved.


DATABASE MANAGEMENT SOFTWARE
DBMS is a collection of programs which helps the users to store, edit, and extract data
from a database.
Today, different types of DBMSs are available in the market such as Microsoft Access,
FileMaker, DB2, SQL Server, and Oracle etc.
DBMS is used in computerized library systems, automated teller machines, flight
reservation systems, computerized parts inventory systems, etc.

Information from a database is extracted in the form of a query, which is a stylized


question. Consider a query written below.
SELECT ALL FROM STUDENTS WHERE MARKS > 90

© Oxford University Press 2016. All rights reserved.


The information from a database can be presented to the users in a
variety of formats. For example, many DBMSs include a report writer
program that outputs the data in the form of a report. Many DBMSs
also include a graphics component to display the information in the
form of graphs and charts.

All in all, DBMS facilitates its users to control data access, enforce
data integrity, manage concurrency, and restore the database from
backups.

© Oxford University Press 2016. All rights reserved.


OBJECTIVES OF OPERATING SYSTEM
Manages the computer hardware
Provides a user interface
Process Management
Memory Management
Security Management

TYPES OF OPERATING SYSTEM


TYPES OF OPERATING SYSTEMS

BATCH SINGLE USER SINGLE USER MULTI USER MULTI REAL TIME VIRTUAL
PROCESSING SINGLE MULTI MULTI PROCESSING MACHINE
TASKING
TASKING TASKING TASKING

© Oxford University Press 2016. All rights reserved.


Command Interpretation
The command interpretation module or command interpreter of the operating system provides
a set of commands that users can execute. When a user executes a system
call, the command interpreter interprets the instructions and allocates system’s resources to
handle user’s request. The command interpreter also provides an easy-to-use intuitive interface
to the users, thereby hiding internal complexities and fulfilling operating system’s objective of
ease of use.

The user interface of command interpreter can be broadly classified into two groups—CLI and
GUI.

Command line interface (CLI) is a way by which users can interact with a program by typing
commands at the prompt. Such an interface makes use of only the keyboard
to issue commands.

Graphical user interface (GUI) is an interface that makes use of the following graphical
components to allow users to easily interact with the computer or system:
•Pointer
•Pointing device
•Icons
•Menus
•Window
© Oxford University Press 2016. All rights reserved.
MS DOS System

Microsoft DOS is a non-graphical command line operating system, which was released
by Microsoft in August 1981. It was the first widely installed operating system in personal
computers in the 1980s. MS-DOS was not only one of the most powerful operating
systems of that time but was also easy to load and install. It requires neither much
memory nor a very sophisticated computer to run on.

MS-DOS is a 16- bit operating system. Therefore, it can send, receive, or process only
16 bits of data at a time. It is unable to take advantage of the 32-bit or 64-bit processors
available in the market today.

Although users do not use MS-DOS today, its command shell (now called Windows
command line) is still popular among users.

© Oxford University Press 2016. All rights reserved.


Windows Operating System

Windows operating system is given by Microsoft. When designing this operating


system, Microsoft has taken two separate approaches in which one is suited for home
users and the other is intended for the IT professionals. The home edition supports
more user’s functionalities and multimedia features but has limited support for
security and networking. The professional edition on the other hand is well suited for
server environment, has limited multimedia features but offer enhanced networking
capability and security.

© Oxford University Press 2016. All rights reserved.


UNIX
UNIX is a stable, multi-user, multi-tasking operating system for servers, desktops and laptop
computers. It also supports GUI and is made up of three parts.

The kernel: The kernel of UNIX is the hub of the operating system as it allocates CPU time
and memory to programs and handles the communications when a system call is invoked.

The shell: The shell acts as an interface between the user and the kernel.

Files and processes: Everything in UNIX is either considered to be a file or a process.

© Oxford University Press 2016. All rights reserved.


LINUX
Linux is a very powerful, free open-source operating system based on Unix. It was originally
created by Linus Torvalds with the assistance of developers from around the globe. Users can
freely download Linux from the Internet and also make changes in it. This operating system is
gradually becoming popular throughout the world.
Advantages of Linux include:
Low cost
Stable
Better Performance
Networking
Flexible
Compatible
Fast and easy to install
Better use of hard disk
Multitasking
Security
© Oxford University Press 2016. All rights reserved.
Mobile Operating Systems
A mobile operating system (or mobile OS) is a set of data and programs that is
specifically designed to run on mobile devices such as smartphones, PDAs, tablet
computers, wearable devices, and other handheld devices. It manages all the
hardware and optimizes the efficiency of the application software in the device. For
example, it manages mobile multimedia functions, Internet connectivity, Bluetooth,
Wi-Fi, camera, music player, voice recorder, etc., in a mobile device.

Some commonly used mobile operating systems are


•iOS - It is developed by Apple to be used on its iPhone devices
•Android - Android is Google’s operating system which is used on mobile devices.
Android devices can install a range of apps from Google Play, which is an official app
market.
•Windows Phone - Windows Phone is Microsoft’s mobile OS which is used in
smartphones and mobile devices
•BlackBerry OS - It is a proprietary mobile OS developed by BlackBerry Limited to be
used on BlackBerry mobile devices.

© Oxford University Press 2016. All rights reserved.


Generations of Programming Languages
The concept of generations of programming languages (also known
as levels) is closely connected to the advances in technology that
brought about the different generations of computers.
The four generations of programming languages include:
•Machine language
•Assembly language
•High-level language (also known as third generation language or
3GL)
•Very high-level language (also known as fourth generation language
or 4GL

© Oxford University Press 2016. All rights reserved.


First Generation: Machine Language
• Only language that a computer understands
• All the commands and data values are expressed using 0s and 1s

© Oxford University Press 2016. All rights reserved.


Second Generation: Assembly Language
• Comprise the languages which use symbolic notations to
represent machine language instructions
• Closely connected to machine languages and the internal
architecture of the computer system on which they are used

© Oxford University Press 2016. All rights reserved.


Third Generation: High-level Language
• A statement written in HLL expands into several machine language
instructions
• Programs were written in languages that were more English-like,
making them more convenient to use and giving the programmer
more time to address a client’s problems
• 3GLs make it easy to write and debug a program
• Programs written in such languages are portable between
machines

© Oxford University Press 2016. All rights reserved.


Fourth Generation: Very High-level Languages
• Instructions of the code are written in English-like sentences
• Are non-procedural, so users concentrate on the ‘what’ instead of
the ‘how’ aspect of the task
• Code written in a 4GL is easy to maintain
• Code enhances the productivity of programmers, as they have to
type fewer lines of code to get something done
• A typical example of a 4GL is the query language, which allows a
user to request information from a database with precisely worded
English-like sentences

© Oxford University Press 2016. All rights reserved.


Fifth Generation Programming Language
• Centred on solving problems using the constraints given to a
program rather than using an algorithm written by a programmer
• Most constraint-based, logic programming languages and some
declarative languages form a part of the 5GLs
• Widely used in artificial intelligence research
• Languages contain visual tools to help develop a program
• Examples: Prolog, OPS5, Mercury, and Visual Basic
• Programmers only have to worry about what problems need to be
solved and what conditions need to be met, without worrying
about how to implement a routine or an algorithm to solve them

© Oxford University Press 2016. All rights reserved.

You might also like