0% found this document useful (0 votes)
28 views13 pages

UNIT 2 Notes ITAB

This pdf includes sem1 notes of BBA - unit 2 ITAB

Uploaded by

arundhatiarushi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views13 pages

UNIT 2 Notes ITAB

This pdf includes sem1 notes of BBA - unit 2 ITAB

Uploaded by

arundhatiarushi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

UNIT 2

Software:
Software is a set of electronic instructions consisting of complex codes (Known as programs)
that make the computer perform tasks. In other words, software tells the computer what to do,
some programs exist primary for the computer’s use & help the computer perform & manage its
own task. Other types of program exist primarily for the user & enable the computer to perform
task such as creating documents or drawing pictures.

Types of Software

Types of software
A wide variety of computer software is available today. Although the range of software
available is vast and varied, most software can be divided into two major categories:
1. System software,
2. Application software

System Software
System software is a set of one or more programs designed to control the operation and extend
the processing capability of a computer system. It acts as an intermediary between the computer
hardware and application program, it also provides interface between user and computer In
general, a computer's system software performs one or more of the following functions:
1. Supports the development of other application software.
2. Supports the execution of other application software.
3. Monitors the effective use of various hardware resources such as CPU, memory,
peripherals, etc.
4. Communicates with and controls the operation of peripheral devices such as printer,
disk, tape, etc.
5. It helps the hardware components work together and provides support for the
6. Development and execution of application software (programs).
7. The programs included in a system software package are called system programs and
the programmers who prepare system software are referred to as system programmers.
Advantages
1. Good system software allows application packages to be run on the computer with less
time and effort.
2. Without system software, application packages could not be run on the computer
system. A system software is an indispensable part of a total computer system.
3. A computer without some kind of system software would be very ineffective and most
likely impossible to operate.

Examples
Some examples of system software are:
 Operating systems
 Programming language translators
 Utility programs

 Operating Systems
 An operating system is a set of integrated programs that manages overall
Performance and functioning of the computer system by controlling the resources such
as CPU, memory, I/O devices and overall flow of information within the system.
 It provides as an interface between machine and its users.
 Examples of operating system are Windows XP, Linux.Unix.
 Every computer has an operating system software that takes care of the effective and
efficient utilization of all the hardware and software components of the computer
system.

 Programming Language Translators


Translator refers to program that translate or convert the programming languages into
machine languages. In other words translator is a program which accept the program
written in a programming language and executed them by transforming them into a
form suitable for execution.

1) Compiler:
Definition:. A compiler is a computer program (or set of programs) that transforms
source code written in a programming language (the source language) into another
computer language (the target language, often having a binary form known as object
code). In other words,a compiler is a translator program that translates a high-level
language program into its equivalent machine language program

High Level Language Input Compiler Output Machine Level


Language

Program
One-to-many correspondence
(Source Program) (Object Program)
The input to the compiler is the high-level language program (often referred to as a source
program) and its output is the machine language program (often referred to as an object
program). The compiler translates each high level language instruction into a set of machine
language instructions rather than a single machine language instruction.

During the process of translation of a source program into its equivalent object program by the
compiler ,the source program is not being executed. It is only being converted into a form
that can be executed by the computer's processor.
A compiler can translate only those source programs, which have been written in
the language for which the compiler is meant. For example, a C compiler is only capable of
translating source programs, which have been written in C.Therefore, each computer requires a
separate compiler for each high-level language that it supports.
How Does Complier Works?

High Level
language LOAD
program on Source
disk program in
memory

Object Compiler
Program Code in translate
execution Machine whole
language program
Execute
Compilers are large programs, which reside permanently on secondary storage.
STEP1:When a source program is to be translated, the compiler and the source program
are copied from secondary storage into the main memory of the computer. The
compiler, being a program, is then executed with the source program as its input
data.
STEP2:It generates the equivalent object program as its output, which is normally
saved in a file on secondary storage.
STEP3: Whenever there is a need to execute the program, the object program is copied from
secondary storage into the main memory of the computer and executed.

Characteristics of Compiler

1.There is no need to repeat the compilation process every time you wish to execute the
program: This is because the object program stored on secondary storage is already in machine
language. You simply have to load the object program from the secondary storage into the
main memory of the computer, and execute it directly.
2.Compilation is necessary whenever we need to modify the program: That is, to incorporate
changes in the program, you must load the original source program from secondary storage
into the main memory of the computer, carry out necessary changes in the source program,
recompile the modified source program, and create store an updated object program for
execution.
3.Compilers also automatically detect and indicate certain types of errors in source
programs. These errors are referred to as syntax errors and are
typically of the following types:
1. Illegal characters
2. Illegal combination of characters
3. Improper sequencing of instructions in a program
4. Use of undefined variable names

Limitations
1. A compiler, however, cannot detect logic errors. It can only detect grammatical(syntax
errors) in the source program.
2. Programs containing logical errors will be successfully compiled and the object code will
be obtained without any error message.
3. It is necessary that each computer must have its own "personal" compiler for a particular
language.

2) Interpreter:
An interpreter analyses and executes the source code in line-by-line manner, without looking at
the entire product. In other words, an interpreter translates a statement in a program and
execute the statement immediately before translating the next source language statement. The
advantage of interpreter is that they can execute the program spontaneously.
 Like compiler, interpreter also converts the source program written in high level
language program into machine language.
 Unlike compiler, interpreter scans each line of code of source program for finding the
error.
 If error found, it will display on screen.
 After rectifying the error, interpreter scans the next line of code in a program.

Difference between compiler and interpreter

1. Compiler scan the whole program at once for finding the syntax error but interpreter
scan each line of program.
2. Compiler is faster in execution while interpreter slow in execution.
3. Compiler is slow in debugging while interpreter fast in debugging.

3) Assembler
 Assembler is a language translator that converts the assembly language program into
object code in machine language.

Object code in
Assembly Language Program Machine Language

Assembler
 In assembly language we use mnemonic code like for addition we use ADD, for
multiplication we use MULT and so on.
 Assembler recognizes the character string that makes up the symbolic names of various
machine operation and substitute the required machine code for each instruction.
 At the same time, it also calculate the required address in memory for each symbolic
name or mnemonic code and substitute those address for the names resulting in a
machine language program that can run on its own at any time.

Example of Assembly Program

 Each line of assembly program consists of four column called fields.

[LABEL] <OP CODE> <OPERAND> [COMMENT]

 Bracket indicates that it is optional to use in program.

For example-

[LABEL] <OP CODE> <OPERAND> [COMMENT]

BEGIN ADD A,B ; Add B to A

LINKER AND LOADER

 Linkers and loaders are utilities that function in the execution, or running, of programs.
 A linker, which can also be called a link editor or a binder, is a program that combines
object modules together to form a program that can then be executed.
 Modules are parts of programs. Until modules are combined, or linked, the program
will not function. An individual module can contain one or several routines, and so can
be linked with other modules to support programs of differing functionality.
 A linker performs an important function. Without it, programs would have to be written
completely. The presence of the linker allows a large program to be broken into small,
more manageable pieces.
 In addition to the combining function, a linker can replace a so-called symbolic address
with a real address. Even a program consisting entirely of one module may need to be
linked, if address replacement is done.
 A loader is a utility of an operating system. It copies programs from a storage device to a
computer's main memory, where the program can then be executed. Like linkers,
loaders can also replace virtual addresses with real addresses. Most loaders function
without user involvement. They are invisible to the user, but are a recognizable utility to
the operating system.
 Loader perform 4 basic task:-
1. Allocation
It allocates memory space for the program.
2. Linking
It combines two or more separate object program and supplies the
information needed to allow references between them.
3. Relocation
It prepares a program to execute properly from its storage area.
4. Loading

It places the data and machine instruction into memory.

 There are two types of Loader:-


1. Absolute Loader
2. Relocating Loader

System Utilities
System utility software is required for the maintenance of computer. System utilities are used
for supporting and enhancing the programs and the data in computer. Some system utilities
may come embedded with OS and others may be added later on. Some examples of system
utilities are:
Anti-virus utility to scan computer for viruses.
Data Compression utility to compress the files.
Cryptographic utility to encrypt and decrypt files.
Disk Compression utility to compress contents of a disk for increasing the capacity of a
disk.
Disk Partitioning to divide a single drive into multiple logical drives. Each drive is then
treated as an individual drive and has its own file system.
Disk Cleaners to find files that have not been used for a long time. It helps the user to
decide what to delete when the hard disk is full.
Backup Utility to make a copy of all information stored on the disk. It also restores the
backed up contents in case of disk failure.
System Profiling Utility provides detailed information about the software installed on the
computer and the hardware attached to it.
Network Managers to check the computer network and to log events.

 Device Drivers
A device driver acts as a translator between the hardware and the software that uses the
devices. In other words, it intermediates between the device and the software, in order
to use the device.
 Some devices that are commonly connected to the computer are—keyboard, mouse,
hard disk, printer, speakers, microphone, joystick, webcam, scanner, digital camera, and
monitor. For proper working of a device, its corresponding device driver must be
installed on the computer.
 For example, when we give a command to read data from the hard disk, the command is
sent to the hard disk driver and is translated to a form that the hard disk can
understand. The device driver software is typically supplied by the respective device
manufacturers.
 Each device has its own device driver.
Whenever a new device is connected to a computer, its device driver has to be loaded in
the computer’s memory, to enable use of the device. When you buy a new printer, you
get the device driver CD with it. You must install the device driver on your computer, to
use the new printer. Each printer comes with its own device driver.

 Programming Languages
A Programming Language consists of a set of vocabulary and grammatical rules, to
express the computations and tasks that the computer has to perform. Programming
languages are used to write a program, which controls the behavior of computer, codify
the algorithms precisely, or enables the human-computer interface. Each language has a
unique set of keywords (words that it understands) and a special syntax for organizing
program instructions.
The programming language should be understood, both by the programmer (who is
writing the program) and the computer. A computer understands the language of 0∙s
and 1∙s, while the programmer is more comfortable with English-like language.
Programming Language usually refers to high-level languages like COBOL, BASIC,
FORTRAN, C, C++, Java etc.
Programming languages fall into three categories
 Machine Language is what the computer can understand but it is difficult for the
programmer to understand. Machine languages consist of numbers only. Each
kind of CPU has its own unique machine language.
 Assembly Language falls in between machine language and high-level language.
They are similar to machine language, but easier to program in, because they
allow the programmer to substitute names for numbers.
 High-level Language is easier to understand and use for the programmer but
difficult for the computer.

Machine Language
 A program written in machine language is a collection of binary digits or bits
that the computer reads and interprets. It is a system of instructions and data
executed directly by a computer’s CPU. It is also referred to as machine code or
object code. It is written as strings of 0’s and 1∙s,
Some of the features of a program written in machine language are as follows:
 The computer can understand the programs written in machine language
directly. No translation of the program is needed.
 Program written in machine language can be executed very fast (Since no
translation is required).
 Machine language is defined by the hardware of a computer. It depends on the
type of the processor or processor family that the computer uses, and is thus
machine-dependent. A machine- level program written on one computer may
not work on another computer with a different processor.
 Computers may also differ in other details, such as memory arrangement,
operating systems, and peripheral devices; because a program normally relies on
such factors, different computer may not run the same machine language
program, even when the same type of processor is used.
 Most machine-level instructions have one or more opcode fields which specify
the basic instruction type (such as arithmetic, logical, jump, etc), the actual
operation (such as add or compare), and some other fields.
 It is difficult to write a program in machine language as it has to be written in
binary code. For e.g., 00010001 11001001. Such programs are also difficult to
modify.
 Since writing programs in machine language is very difficult, programs are
hardly written in machine language.

Assembly Language
A program written in assembly language uses symbolic representation of machine codes
needed to program a particular processor (CPU) or processor family. This representation
is usually defined by the CPU manufacturer, and is based on abbreviations (called
mnemonics) that help the programmer remember individual instructions, registers, etc.
Small, English-like representation is used to write the program in assembly language
Assembly language programs are easier to write than the machine language programs,
since assembly language programs use short, English-like representation of machine code.
For e.g.:
ADD 2, 3
LOAD A
SUB A, B
 The program written in assembly language is the source code, which has to be converted
into machine code, also called object code, using translator software, namely, assembler.
 Each line of the assembly language program is converted into one or more lines of
machine code. Hence assembly language programs are also machine-dependent.
 Although assembly language programs use symbolic representation, they are still
difficult to write.
 Assembly language programs are generally written where the efficiency and the speed
of program are the critical issues, i.e. programs requiring high speed and efficiency.

 High-level Language

A program in a high-level language is written in English-like language. Such languages hide the
details of CPU operations and are easily portable across computers. A high-level language
isolates the execution semantics of computer architecture from the specification of the program,
making the process of developing a program simpler and more understandable with respect to
assembly and machine level languages. Some of the features of a program written in high-level
language are as follows:
 Programs are easier to write, read or understand in high-level languages than in
machine
language or assembly language. For example, a program written in C++ is easier to
understand than a machine language program.
 Programs written in high-level languages is the source code which is converted into the
object code (machine code) using translator software like interpreter or compiler.
 A line of code in high-level program may correspond to more than one line of machine
code.
 Programs written in high-level languages are easily portable from one computer to
another.

APPLICATION SOFTWARE

The software that a user uses for accomplishing a specific task is the application software.
Application software may be a single program or a set of programs. A set of programs that are
written for a specific purpose and provide the required functionality is called software package.
Application software is written for different kinds of applications—graphics, word processors,
media players, database applications, telecommunication, accounting purposes etc.
Some examples of application software packages are as follows:
Word Processing Software: For writing letter, reports, documents etc. (e.g. MS-WORD).
Image Processing Software: For assisting in drawing and manipulating graphics (e.g.
Adobe Photoshop).
Accounting Software: For assisting in accounting information, salary, tax returns (Tally
software).
Spreadsheet Software: Used for creating budget, tables etc. (e.g. MS-Excel).
Presentation Software: To make presentations, slide shows (e.g. MS-PowerPoint)
CAD/CAM Software: To assist in architectural design. (e.g. AutoCAD, Autodesk)
Geographic Information Systems: It captures, stores, analyzes, manages, and presents
data, images and maps that are linked to different locations. (e.g. ArcGIS)
Web Browser Software: To access the World Wide Web to search documents, sounds,
images etc. (e.g. Internet Explorer, Netscape Communicator, Chrome).

Operating System

Operating system (OS) is the software that provides an interface between the computer
hardware, and the application programs or users. 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, Windows, Macintosh, MS-DOS, etc.
OBJECTIVES OF OPERATING SYSTEM
(1) To make the computer system convenient and easy to use, for the user

(2) To use the computer hardware in an efficient way, by handling the details of the operations
of the hardware.

TYPES OF OS

1) Single User OS is for use by a single user for a standalone single computer for
performing a single task. Operating system for Personal Computers (PC) are singleuser
OS. For example, if the user is editing a document, then a document cannot be printed
on the printer simultaneously. Single user OS are simple operating system designed to
manage one task at a time. MS-DOS is an example of single user OS.

2) Multiuser OS is used in computer networks that allow same data and applications to be
accessed by multiple users at the same time. The users can also communicate with each
other. Linux, UNIX, and Windows 7 are examples of multiuser OS.

3) Multiprocessing OS have two or more processors for a single running process.


Processing takes place in parallel and is also called parallel processing. Each processor
works on different parts of the same task, or, on two or more different tasks. Since
execution takes place in parallel, they are used for high speed execution, and to increase
the power of computer. Linux, UNIX and Windows 7 are examples of multiprocessing
OS.

4) Real Time OS are designed to respond to an event within a predetermined time. These
operating systems are used to control processes. Processing is done within a time
constraint. OS monitors the events that affect the execution of process and respond
accordingly. They are used to respond to queries in areas like medical imaging system,
industrial control systems etc. LynxOS is an example of real time OS.
5) Embedded OS is embedded in a device in the ROM. They are specific to a device and
are less resource intensive. They are used in appliances like microwaves, washing
machines, traffic control systems etc.

FUNCTIONS OF OS

1) Process Management—The process management activities handled by the OS are—(1)


control access to shared resources like file, memory, I/O and CPU, (2) control execution
of applications, (3) create, execute and delete a process (system process or user process),
(4) cancel or resume a process (5) schedule a process, and (6) synchronization,
communication and deadlock handling for processes.
2) Memory Management—The activities of memory management handled by OS are—(1)
allocate memory, (2) free memory, (3) re-allocate memory to a program when a used
block is freed, and (4) keep track of memory usage.
3) File Management—The file management tasks include—(1) create and delete both files
and directories, (2) provide access to files, (3) allocate space for files, (4) keep back-up of
files, and (5) secure files.
4) Device Management—The device management tasks handled by OS are—(1) open,
close and write device drivers, and (2) communicate, control and monitor the device
driver.
5) Protection and Security—OS protects the resources of system. User authentication, file
attributes like read, write, encryption, and back-up of data are used by OS to provide
basic protection.
6) User Interface or Command Interpreter—Operating system provides an interface
between the computer user and the computer hardware. The user interface is a set of
commands or a graphical user interface via which the user interacts with the
applications and the hardware.

COMMON TERMINOLOGIES
1) DIRECTORY
A computer directory refers to the hierarchy of folders within folders that make up the
computer system. A directory in general is an approach to organizing information. In computer
file systems, a directory is named group of related files that are separated by the naming
convention from other group of files.
Files and folders are usually viewed in a hierarchical format: the top of hierarchy for any
storage medium is called the “Root directory”. A directory that is below another directory is
called a subdirectory. A directory above a sub directory is called a parent directory.
2) FILE
It is a string used to uniquely identify a file stored on the file system. Different file systems
impose different restrictions on length and allowed characters on filenames. A filename
includes one or more of these components:
 Directory (or path) – directory tree (e.g., /usr/bin etc.)
 file – base name of the file
 type (format or extension) – indicates the content type of the file (e.g., .txt, .exe,
.COM, etc.)
There are many different types of files: data files, text files, program files, directory files and so
on. Different types of files store different types of information. For example program files store
programs, whereas text files store text. There can only be one file with exact same file name in
any particular folder.
3) VOLUME:
Volume refers to tape or disk that stores computer data. A volume or logical drive is a single
accessible storage area with a single file system Sometimes large hard disk are divided into
several volumes called partitions, each of which is treated as separate disk.

4) VOLUME LABEL:
Volume label refers to a name for disk or tape. For mass volume storage devices, a label is the
name of a storage volume.

5) DRIVE NAME:
Drive name is name assigned to a storage unit such as a hard disk, floppy disk or CD-ROM
when the disk is first created.

GUI(Graphical user interface)


A Graphical user interface (GUI) is a type of user interface that allows users to interact with
electronic devices using images rather than text commands. GUIs can be used in computers,
hand-held devices such as MP3 players, portable media players or gaming devices, household
appliances and office equipment. A GUI represents the information and actions available to a
user through graphical icons and visual indicators such as secondary notation, as opposed to
text-based interfaces, typed command labels or text navigation.
Elements of a GUI include such things as: windows, pull-down menus, buttons, scroll bars,
iconic images, wizards, the mouse. With the increasing use of multimedia as part of the GUI,
sound, voice, motion video, and virtual reality interfaces seem likely to become part of the GUI
for many applications. A system's graphical user interface along with its input devices is
sometimes referred to as its "look-and-feel."
Components of GUI
1. Program icons : Those icons which represent programs. Program can be run by double
click on the icon by mouse.
2. Object icons: All those icons which represent object like devices, files, folders, ect are
called object icons.
3. Menu: Menus allow the user to execute commands by selecting from a list of choices.
Options are selected with a mouse or other pointing device within a GUI.
4. List & drop-down list: List boxes display various choices within a box. An item of choice
is selected by clicking the mouse on it.
5. Check-box, radio button, text box, Buttons & Toolbars are also components of GUI.

Database Concepts
The database system is an excellent computer-based record-keeping system. A collection of data,
commonly called a database, contains information about a particular enterprise. It maintains any
information that may be necessary to the decision-making process involved in the management of that
organization. It can also be defined as a collection of interrelated data stored together to serve multiple
applications, the data is stored so that it is independent of programs that use the data. A generic and
controlled approach is used to add new data and modify and retrieve existing data within the database.
The data is structured so as to provide the basis for future application development.
Advantages of Using Database

 Database minimizes data redundancy to a great extent.


 The database can control the inconsistency of data to a large extent.
 Sharing of data is also possible using the database.
 Database enforce standards.
 The use of Databases can ensure data security.
 Integrity can be managed using the database.

You might also like