CPDS_UNIT1_Part1
CPDS_UNIT1_Part1
1. List and explain the functions of various parts of computer hardware and
software.
Computer
Hardware Software
Fig: Computer System
A. System Software: System Software consists of programs that manage the hardware
resources of a computer and perform required information processing tasks.
These programs are divided in to three classes.
i. Operating System Software.
ii. System Support Software.
iii. System Development Software.
i. Operating System Software: It provides services such as a user interface, files and
data base access and interfaces to communication systems such as Internet protocols.
The primary purpose of this software is to keep the system operating in an efficient
manner while allowing the users access to the system.
ii. System Support Software: System Support Software provides system utilities and
other operating services. Examples of system utilities are sort programs and disk format
programs. Operating services consist of programs that provide performance statistics for
the operational staff and security monitors to protect the system and data.
iii. System Development Software: It includes language translators that convert
programs in to machine language for execution, debugging tools to ensure that programs
are error - free and computer -assisted software engineering (CASE) systems.
B. Application Software: It is directly responsible for helping users to solve their
problems. Application software is broken in to two classes.
i. General - Purpose Software
ii. Application - Specific Software
i. General Purpose Software: It is purchased from a software developer and can be
used for more than one application. Examples: word processors, database management
systems, computer – aided design systems. They are labelled general purpose because
they can solve a variety of user computing problems.
ii. Application Specific Software: It can be used only for its intended purpose.
Example: A general ledger system used by accountants.
They can be used only for the task for which they were designed. They cannot be used
for other generalized tasks.
Relationship between system and application software is shown in the figure:
Ans: CREATING AND RUNNING PROGRAMS: It is the job of programmer to write and
test the program. The following are four steps for creating and running programs:
A. Writing and Editing the Program.
B. Compiling the Program.
C. Linking the Program with the required library modules.
D. Executing the Program.
A. Writing and Editing Program: The Software to write programs is known as text
editor. A text editor helps us enter, change and store character data. Depending on the
editor on our system, it could be used to write letters create reports or write programs.
Example: word processor.
The text editor could be generalized word processor, but every compiler comes with
associated text editor. Some of the features of editors are
Search: To locate and replace statements.
Copy, Paste: To copy and move statements.
Format: To set tabs to align text.
After the program is completed the program is saved in a file to disk. This file will be
input to the compiler, it is known as source file. The following figure shows the various
steps in building a C – program.
B. Compiling Programs: The code in a source file on the disk must be translated in to
machine language. This is the job of compiler which translates code in source file stored
on disk in to machine language. The C compiler is actually two separate programs: the
pre-processor and the translator. The pre-processor reads the source code and prepares
it for the compiler. It scans special instructions known as pre-processor commands.
These commands tell the pre-processor to take for special code libraries, make
substitutions in the code. The result of pre-processing is called translation unit. The
translator reads the translation unit and writes resulting object module to a file that can
be combined with other precompiled units to form the final program. An object module is
the code in machine language. This module is not ready for execution because it does
not have the required C and other functions included.
Advantages
A computer can easily understand the low-level language.
Low-level language instructions are executed directly without any translation.
Low-level language instructions require very less time for their execution.
Disadvantages
Low-level language instructions are very difficult to use and understand.
Low-level language instructions are machine-dependent, that means a program
written for a particular machine does not execute on another machine.
In low-level language, there is more chance for errors and it is very difficult to find
errors, debug and modify.
Advantages
Writing instructions in a middle-level language is easier than writing instructions
in a low-level language.
Middle-level language is more readable compared to low-level language.
Easy to understand, find errors and modify.
Disadvantages
Middle-level language is specific to a particular machine architecture that means it
is machine-dependent.
Middle-level language needs to be translated into low-level language.
Middle-level language executes slower compared to low-level language.
3. High-Level Language
Advantages
Writing instructions in a high-level language is easier.
A high-level language is more readable and understandable.
The programs created using high-level language runs on different machines with
little change or no change.
Easy to understand, create programs, find errors and modify.
Disadvantages
High-level language needs to be translated into low-level language.
High-level language executes slower compared to middle and low-level languages.
The programming languages like C, C++, Java, etc., are written in High-level
language which is more comfortable for the developers.
A high-level language is closer to the users.
Low-level language is closer to the computer. Computer hardware can understand
only the low-level language (Machine Language).
The program written in the high-level language needs to be converted to low-level
language to make communication between the user and the computer.
Middle-level language is not closer to both user and computer. We can consider it
as a combination of both high-level language and low-level language.
4. Give the differences between machine, assembly and high level languages.
Machine level language Assembly level language High level language
Machine language consist of Assembly level language It consists of simple human
binary codes (only 0s and consists of mnemonics like language like English-
1s) abbreviations, symbols. statements.
Ex: 101110111100010 Ex: ADD , SUB, MUL etc. Ex: printf (“Hello World!”);
It is directly executed by It needs assembler to It needs compiler to convert
computer hardware. converts assembly language high level language into
in to machine language. machine language.
Also called as low-level Also called as middle level It high level language.
language. language.
Machine dependent Machine dependent Machine dependent
language. language. language.
No formal structure No formal structure Formal structure
Less memory is required Less memory required More memory requitred
It needs less execution time It needs less execution time It needs more execution
time.
Example: Processor can Example: 8086, 8051, ARM Example: C++, JAVA,
only understand the programming language. Design language.
machine code.
5.Discuss the various stages involved in Software Development process?
What is Software Development?
The software development life cycle is a set of steps or phases that are used to develop a
software using any programming language.
Generally, the software development life cycle contains 6 phases, they are as follows….
2. Problem Analysis
3. Design
4. Implementation
6. Maintenance