You are on page 1of 37

IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Lecture No. 11

Types of Software: System Software & Application Software. System Software: (


Operating System, language translators, system utilities ) , Types of Programming
Languages: Low Level (its advantages and disadvantages) , Assembly language (its
advantages and disadvantages )

Introduction
A computer system consists of hardware, the electronic devices that enable of computing
and manipulating information and software (set of instructions) that carry out predefined
task to complete a given job. It is the combination of physical equipment (hardware) and
logical instructions (software that gives the modern computing systems their power and
versatility.

Relationship between hardware and software

Software refers to computer programs that are loaded into a computer system and hardware
refers to all the visible devices which are assembled together to build a computer system.
To get a particular job done by a computer, firstly the relevant software is loaded in the
hardware. Different software can be used on the same hardware to perform different jobs,
just as different games can be played on the computer screen (Console) by using different
cassettes.

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
development and execution of application software (programs).

Prepared by: Ms. Kanika Dhingra Sardana Page 1


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

6. 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 of the most commonly known types of system software are :


 Operating systems
 Programming language translators
 System Utilities
 Device Drivers
 Communication Software

Operating Systems

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


Programming language translators are system software that transforms the instructions
prepared by programmers using convenient programming languages into a form that can
be interpreted and executed by a computer system.
 Utilities

These are a set of programs that help users in system maintenance tasks and in performing
tasks of routine nature. Some of the tasks commonly performed by utility programs include
the following:
1. Formatting hard disks or floppy disks.
2. Reorganizing files on a hard disk to conserve storage space.
3. Taking backup of files stored on hard disk on to a tape or floppy disk.
4. Searching a particular file from a directory of hundreds of files.
5. Checking the amount of available memory.
6. Checking the amount of available storage space on hard disk.
7. Reducing the file size for more efficient transmission over a data communication
link.

Prepared by: Ms. Kanika Dhingra Sardana Page 2


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Device Drivers:

Device drivers are system programs which are responsible for proper functioning of
devices. Every device or hardware whether it is a printer, monitor, mouse has a
driver program for support. A driver acts as translator between the device and
programs that use the device.

Communication Software

A communication software enables transfer of data and programs from one


computer system to another.

Application Software

1. Application software is a set of one or more programs designed to solve a specific


problem or do a specific task.
2. Application software, also known as an application or an "app", is computer
software designed to help the user to perform specific tasks.
3. The programs included in an application software package are called application
programs and the programmers who prepare application software are referred to as
application programmers

Introduction to Programming Languages

In all over the world, language is the source of communication among human beings.
Different countries/regions have different languages. Similarly, in order to communicate
with the computer user also needs to have a language that should be understood by the
computer. For this purpose, different languages are developed for performing different
types of work on the computer, such languages are known as Programming Languages.
Basically, languages are divided into two categories according to their interpretation.
1. Low Level Languages.
2. High Level Languages.

Low Level Languages


Low level computer languages are machine codes or close to it. Computer cannot
understand instructions given in high level languages or in English. It can only understand
and execute instructions given in the form of machine language i.e. language of 0 and 1.
There are two types of low level languages:
 Machine Language.
 Assembly Language
Prepared by: Ms. Kanika Dhingra Sardana Page 3
IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Machine Language or First Generation Language :


It is the lowest and most elementary level of Programming language and was the first type
of programming language to be Developed. Machine Language is basically the only
language which computer Can understand. In fact, a manufacturer designs a computer to
obey just one Language, its machine code, which is represented inside the computer by a
String of binary digits (bits) 0 and 1. The symbol 0 stands for the absence of Electric pulse
and 1 for the presence of an electric pulse . Since a computer is Capable of recognizing
electric signals, therefore, it understand machine Language.
Advantages of Machine Language
i) It makes fast and efficient use of the computer.
ii) It requires no translator to translate the code i.e. Directly understood by the computer
Disadvantages of Machine Language:
i) All operation codes have to be remembered
ii) All memory addresses have to be remembered.
iii) It is hard to find errors in a program written in the machine language
iv) These languages are machine dependent i.e. a particular
v)Machine language can be used on only one type of computer

Assembly Language or Second Generation Language


It was developed to overcome some of the many inconveniences of machine language. This
is another low level but a very important language in which operation codes and operands
are given in the form of alphanumeric symbols instead of 0’s and l’s. These alphanumeric
symbols will be known as mnemonic codes and can have maximum up to 5 letter
combination e.g. ADD for addition, SUB for subtraction, START,LABEL etc. Because of
this feature it is also known as ‘Symbolic Programming Language’. This language is also
very difficult and needs a lot of practice to master it because very small.
Advantages:
1. Easier to understand and use: Due to the use of mnemonics instead of numeric op-
codes and symbolic names for data locations instead of numeric addresses, assembly
language programs are much easier to understand and use as compared to machine language
programs.
2. Easier to locate and correct errors: Because of the use of mnemonic op-codes and
symbolic names for data locations, and also because programmers need not keep track of
the storage locations of the data and instructions, fewer errors are made while writing
programs in assembly language, and those that are made are easier to find and correct.

Prepared by: Ms. Kanika Dhingra Sardana Page 4


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

3. Easier to modify: Because they are easier to understand, it is easier to locate, correct,
and modify instructions of an assembly language program than a machine language
program.
in case of machine language.
4. No worry about addresses: One of the greatest advantage of assembly language is that
programmers need not keep track of the storage locations of the data and instructions while
writing an assembly language program.
Limitations of Assembly Language

The following limitations of machine language are not solved by using assembly language:
1. Machine dependent: Because each instruction of an assembly language program is
translated into exactly one machine language instruction, assembly language programs are
machine dependent.
2. Knowledge of hardware required: Since assembly languages are machine dependent,
an assembly language programmer must have a good knowledge of the characteristics and
the logical structure of his/her computer in order to write good assembly language
programs.
3. Machine level coding: In case of an assembly language, instructions are still written at
the machine-code level. That is, one assembly language instruction is nsubstituted for one
machine language instruction.

Prepared by: Ms. Kanika Dhingra Sardana Page 5


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Lecture No. 12

High Level language (its advantages and disadvantages) , Language Translators:


Assemblers, Compilers, Linkers

High Level Languages or Third Generation Language


High level computer languages give formats close to English language and the purpose of
developing high level languages is to enable people to write programs easily and in their
own native language environment (English). High-level languages are basically symbolic
languages that use English words and/or mathematical symbols rather than mnemonic
codes. Each instruction in the high level language is translated into many machine language
instructions thus showing one-to-many translation

Advantages of High Level Language


Following are the advantages of a high level language:
 User-friendly
 Similar to English with vocabulary of words and symbols
 Therefore it is easier to learn.
 They require less time to write.
 They are easier to maintain.
 Problem oriented rather than 'machine' based.
 Program written in a high-level language can be translated into many machine
language and therefore can run on any computer for which there exists an appropriate
translator.
 It is independent of the machine on which it is used i.e Programs developed in high
level language can be run on any Computer

Disadvantages of High Level Language


 A high-level language has to be translated into the machine language by a translator
and thus a price in computer time is paid.
 The object code generated by a translator might be inefficient Compared to an
equivalent assembly language program

Prepared by: Ms. Kanika Dhingra Sardana Page 6


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Fourth Generation Language

Often abbreviated 4GL, fourth-generation languages are programming languages closer to


human languages than typical high-level programming languages. Most 4GLs are used to
access databases. For example, a typical 4GL command is

FIND ALL RECORDS WHERE NAME IS "SMITH"

4GLs are designed to reduce the overall time, effort and cost of software development. The
main domains and families of 4GLs are: database queries, report generators, data
manipulation, analysis and reporting, screen painters and generators, GUI creators,
mathematical optimization, web developmentand general purpose languages.

Also known as a 4th generation language, a domain specific language, or a high


productivity language.
4GLs are more programmer-friendly and enhance programming efficiency with usage of
English-like words and phrases, and when appropriate, the use of icons, graphical interfaces
and symbolical representations.

Fifth Generation Language

A fifth generation programming language (abbreviated as 5GL) is a programming


language based on solving problems using constraints given to the program, rather than
using an algorithm written by a programmer. Most constraint-based and logic programming
languages and some declarative languages are fifth-generation languages.

While fourth-generation programming languages are designed to build specific programs,


fifth-generation languages are designed to make the computer solve a given problem
without the programmer. This way, the programmer only needs 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 algorithm to solve them. Fifth-generation languages are used
mainly in artificial intelligence research. Prolog, OPS5, and Mercury are examples of fifth-
generation languages.

Prepared by: Ms. Kanika Dhingra Sardana Page 7


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Language Translators

Compiler

Definition: A compiler is a translator program that translates a high-level language


program into its equivalent machine language program. A compiler is so called because it
compiles a set of machine language instructions for every program instruction of a high-
level language.

High Level Language Input Compiler output Machine Level


Language
(Source Code)
Machine Level
Language
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
program). The compiler translates each high level language instruction into a set of machine
language
Code)instructions rather than a single machine language instruction.

During the process of translation of a source program into its equivalent object program by
High Level Laguage
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 (SouHigh Level
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
language that it supports.
(Source Code)
How Does Complier Works?

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
(Soufrom secondary storage into the main memory of the computer. The compiler, being
copied
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
Prepared by: Ms. Kanika Dhingra Sardana Page 8
IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

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.

Interpreter

An interpreter is another type of translator used for translating programs written in high-
level languages. It takes one statement of a high-level language program, translates it into
machine language instructions, and then immediately executes the resulting machine
language instructions. That is, in case of an interpreter, the translation and execution
processes alternate for each statement encountered in the high-level language program.

High Level Language Input Interpreter output Result of program


execution.
(Source Program)

How Interpreter differs from compiler?


Program
 This differs from a compiler, which merely translates the entire source program into
an object program and is not involved in its execution. the input to an interpreter is
Code)
Prepared by: Ms. Kanika Dhingra Sardana Page 9
High Level Laguage
IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

the source program, but unlike a compiler, its output is the result of program
execution instead of an object program.
 After compilation of the source program, the resulting object program is
permanently saved for future use and is used every time the program is to be
executed. So repeated compilation (translation of the source code) is not necessary
for repeated execution of a program. However in case of an interpreter, since no
object program is saved for future use, repeated interpretation (translation plus
execution) of a program is necessary for its repeated execution.
 As compared to compilers, interpreters are easier to write because they are less
complex programs than compilers. They also require less memory space for
execution than compilers.
 The main advantage of interpreters over compilers is that a syntax error in a
program statement is detected and brought to the attention of the programmer as
soon as the program statement is interpreted. This allows the programmer to make
corrections during interactive program development. Therefore, interpreters make it
easier and faster to correct programs.

Disadvantage of interpreters over compilers:

 Interpreters are slower than compilers when running a finished program. This is
because each statement is translated every time it is executed from the source
program.
 Because the interpreter does not produce an object program, it must perform the
translation process each time a program is executed.

Assembler

A computer program which translates an assembly language program to its machine


language equivalent. The assembler of a computer system is a system software, supplied by
the computer manufacturer that translates an assembly language program into an equivalent
machine language program of the computer.

Assembly Language Input Assembler Output Machine Level


Language
(Source Code)
Program

Why is it called so?


(Sou
It is so called because in addition to translating an assembly language program into its
equivalent machine language program, it also, "assembles" the machine language program
in the main memory of the computer and makes it ready for execution.

Prepared by: Ms. Kanika Dhingra Sardana Page 10


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

The input to the assembler is the assembly language program (often referred to as a source
program) and its output is the machine language program (often referred to as an object
program). Note that during the process of translation of a source program into its equivalent
object program by the assembler, the source program is not being executed. It is only being
converted into a form that can be executed by the computer's processor.

Assembly language program -► input Assembler -► Machine language program


(Source Program) -► One-to-one correspondence -► (Object Program)

Note: Assemblers, compilers, and interpreters are also referred to as language processors
since they are used for processing a particular language instructions.

Difference Between Compiler and Interpreter

Basis Compiler Interpreter


Object Code A compiler provides a An Interpreter does not
separate object program generate a permanent saved
object code file
Translation Program A compiler converts the An Interpreter translates the
entire program into machine source code line-wise, that
code at one go is, it would execute the
current statement before
translating the next
statement
Debugging Ease Removal of Debugging becomes easier
errors(debugging) is slow because the errors are
pointed out immediately
Implementation By nature, Compilers are Interpreters are easier to
complex programs. Hence write because they are less
they require hard-core complex programs. They
coding. They also require also require less memory for
more memory to execute a program execution.
program.
Execution Time Compilers are faster as Interpreters are slower as
compared to interpreters compared to compiler
because each statement is because each statement is
translated only once and translated every time it is
saved in object file, while executed from the source
can be executed anytime program.
without translating again.

Prepared by: Ms. Kanika Dhingra Sardana Page 11


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Linker

An application usually consist of hundred, thousand or even millions of lines of codes. The
codes are divided into logical groups and stored in different modules so that the debugging
and maintence of the code becomes easier. These independent source programs have to be
linked together to create a complete application. This job is done by a tool called as Linker.
A linker is a program that links together several object modules and libraries to form a
single, coherent program (executable). Object modules are the machine code output from an
assembler or compiler and contain executable machine code and data, together with
information that allows the linker to combine the modules together to form a program.

Source File Compiler Object file

Source File Compiler Object file Linker Executable


File

Source File Compiler Object file

Program
Library
Loader

Loaders are a part of the operating system that brings an executable file residing on disk
into memory and starts it running. It is responsible for loading, linking and relocation. In
computer a loader program is a program that performs the functions of a linker program and

Prepared by: Ms. Kanika Dhingra Sardana Page 12


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

then immediately schedules the executable for execution, without necessarily creating an
executable file as an output.
A loader perform four basic task:-
1) Allocation- It allocates memory space for the program
2) Linking- It combines two or more separate object programs 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 data and machine instruction into the memory.

Source Code
High Level Language
Program

Compiler

object Code
Linker

Executable Machine Object Library Routine


Language Program
( Machine Language)

Loader

Memory

Program Translation Hierarchy

There are two types of loader:-

1) Absolute Loader- It Loads the file into memory at the location specified by the
beginning portion (header) of the file and then passes control to the program. If the
memory space specified by the header is currently in use, execution cannot proceed,
and the user must wait until the requested memory becomes free. Moreover, this
type of loader performs only loading function . It does not perform linking and
program relocation.

Prepared by: Ms. Kanika Dhingra Sardana Page 13


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

2) Relocating Loader- This loader loads the program in memory, altering the various
addresses as required to ensure correct referencing. The decision as to where in
memory the program is placed, is done by the operating system, not the file header.
The relocating loader can only relocate code that has been produced by linker
capable of producing relative code.

Prepared by: Ms. Kanika Dhingra Sardana Page 14


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Lecture no- 13

Operating System: Introduction,


Definition, Types of Operating System( batch Processing,
Time-Sharing or Multi-user, Multi-tasking, Real-Time, Multi-Processor, Embedded),
Booting, Steps for Mail Merge in MS Word

Operating system
An operating system (OS) is a collection of software that manages computer hardware resources
and provides common services for computer programs. The operating system is a vital component
of the system software in a computer system. Application programs require an operating system to
function.
Time-sharing operating systems schedule tasks for efficient use of the system and may also include
accounting for cost allocation of processor time, mass storage, printing, and other resources.
For hardware functions such as input and output and memory allocation, the operating system acts
as an intermediary between programs and the computer hardware.For Example: Windows Xp,
Linux, Unix

Operating systems

Prepared by: Ms. Kanika Dhingra Sardana Page 15


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Types of operating system

1) Serial Processing

The earliest computer system has no OS at all, and is characterized as serial processing
because users have to reserve time slots in advance and during the allotted period, they
occupy the computer exclusively. Thus the computer will be used in sequence by different
users.

These early systems presented 2 Major problems:

1) Users may finish their task earlier than you have expected and unfortunately the rest
time is simply wasted or they cannot finish in the allotted time and thus are forced to
stop which may cause inconvenience.
2) In such systems, Programs are presented by Cards. Programs are loaded into
memory via card reader. With no OS available users have to manually load the
compiler program first with the user program as input. If an error occurred the user
has to repeat the whole process from the beginning. Thus much time is wasted.

2) Simple Batch Systems


 In this type of system there is no direct interaction between the user and the
computer.
 The user has to submit a job (written on card or tape) to a computer operator.
 Then the computer operator places a batch of several jobs on an input device.
 Jobs are batched together by type of languages and requirement.
 Then a special program the monitor, manages the execution of each program in the
batch.
 The monitor is always in the main memory and available for execution.

Following are some disadvantages of this type of system:

1) Zero interaction between user and computer.


2) No mechanism to prioritize processes.

3) Multiprogrammed Operating system

Prepared by: Ms. Kanika Dhingra Sardana Page 16


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Even with the automatic job processing by a monitor, the processor is still often idle. The
problem is actually what we have discussed before regarding programmed I/O.That is
program may have to wait for I/O operation finish and thus leads to the processor’s
idling.The solution is to run multiple programs concurrently during a certain period so that
whenever the current program has to wait for I/O devices, control may be transferred to
another program. If needed, a third program may be loaded or even more.

This scheme is called multiprogramming. With multiprogramming , the utilization of


processor is greatly improved, but it has its own problems. To run multiple programs
concurrently , the memory should be organized properly so that each program has its own
space and doesnot invade others. At some moment there may be more than one program
ready to run. Thus some form of scheduling is needed to obtain better performance.

4) Time Sharing Operating System

With multiprogramming, the overall system is quite efficient. However a problem remains.
That is those jobs that come late in the batch job list won’t get chance to run until the jobs
before them have completed, thus their users have to wait a long time to obtain the results.
Some programs may even need interaction with the users, which requires the processor to
switch to these programs frequently. To reach this new goal, a similar technique to
multiprogramming can be used , called time sharing. In such a system, multiple users
simultaneously access the system through terminals, with the operating system interleaving
the execution of each user program in a short burst of computation. Time sharing OS uses
multiprogramming with a special CPU scheduling algorithm to ensure quick response time
to all users.

The special CPU scheduling algorihm used in a time sharing system allocates a very short
period of CPU time one- by one to each user process beginning from the first user process
and proceeding through the last one, and then again beginning from first one. This short
period of time during which a user process gets the attention of the CPU is known as a time
slice , time slot or quantum and is typically of the order of 10 to 100 milliseconds.ie when
the CPU is allocated to a user process the user process will use the CPU until the allotted
time slice expires or until the process needs to perform some I/O operation or if the
execution of the process is over during this time period.

5) Distributed operating System

A distributed system is a collection of independent computers ,interconnected via a


network, capable of collaborating on a task.Distributed systems use multiple independent
computers to serve multiple real time application and multiple users. Data processing jobs
are distributed among the computers accordingly to which one can perform each job most
efficiently.

Prepared by: Ms. Kanika Dhingra Sardana Page 17


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

The computers communicate with one another through various communication lines (such
as high-speed buses or telephone lines). These are referred as loosely coupled systems or
distributed systems.

The advantages of distributed systems are following.

 With resource sharing facility user at one site may be able to use the resources
available at another.
 Speedup the exchange of data with one another via electronic mail.
 If one site fails in a distributed system, the remaining sites can potentially continue
operating.
 Better service to the customers.
 Reduction of the load on the host computer.
 Reduction of delays in data processing.

Examples of distributed systems are telephone networks, cellular networks, ATM machines
etc.

6) Real Time operating System

Real time system is defined as a data processing system in which the time interval required
to process and respond to inputs is so small that it controls the environment. The time taken
by the system to respond to an input and display of required updated information is termed
as response time. So in this method response time is very less as compared to the online
processing.

Real-time systems are used when there are rigid time requirements on the operation of a
processor or the flow of data and real-time systems can be used as a control device in a
dedicated application. Real-time operating system has well-defined, fixed time constraints
otherwise system will fail.For example Scientific experiments, medical imaging systems,
industrial control systems, weapon systems, robots, and home-applicance controllers, Air
traffic control system etc.

There are two types of real-time operating systems.

Hard real-time systems

Hard real-time systems guarantee that critical tasks complete on time. In hard real-time
systems secondary storage is limited or missing with data stored in ROM. In these systems
virtual memory is almost never found.

Soft real-time systems

Soft real time systems are less restrictive. Critical real-time task gets priority over other
tasks and retains the priority until it completes. Soft real-time systems have limited utility

Prepared by: Ms. Kanika Dhingra Sardana Page 18


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

than hard real-time systems.For example, Multimedia, virtual reality, Advanced Scientific
Projects like undersea exploration and planetary rovers etc.

7) Multiprocessing Operating System

Generally a Computer has a Single Processor means the Computer have a just one CPU for
Processing the instructions. But if we are Running multiple jobs, then this will decrease the
Speed of processing. For Increasing the Speed of Processing we use the Multiprocessing
Operating System. In the Multi Processing there are two or More CPU in a Single
Computer System. If one CPU will fail, then other CPU is used for providing backup to the
first CPU. With the help of Multi-processing, we can Execute Many Jobs at a Time. In such
a system instructions from different and independent programs can be processed
simultaneously by different CPUs or the CPUs may simultaneously execute different
instructions from the same program. If first CPU Completed his Work before the Second
CPU, then the Work of Second CPU will be divided into the First and Second.

Multiprocessing systems are of two types- tightly coupled systems and loosely coupled
systems. In tightly coupled systems there is a single wide primary memory which is shared
by all the processors. On the other hand in loosely coupled systems the processors do not
share memory and each processor has its own local memory.

8) Multitasking

The ability to execute more than one task at the same time, a task being a program. The
terms multitasking and multiprocessing are often used interchangeably, although
multiprocessing implies that more than one CPUis involved.

In multitasking, only one CPU is involved, but it switches from one program to another so
quickly that it gives the appearance of executing all of the programs at the same time.

There are two basic types of multitasking: preemptive and cooperative. In preemptive
multitasking, the operating system parcels out CPU time slices to each program. In
cooperative multitasking, each program can control the CPU for as long as it needs it. If a
program is not using the CPU, however, it can allow another program to use it temporarily.
OS/2, Windows 95, Windows NT, the Amiga operating system and UNIX use preemptive
multitasking, whereas Microsoft Windows 3.x and the MultiFinder (for Macintosh
computers) use cooperative multitasking.

9) Parallel Processing Systems

Prepared by: Ms. Kanika Dhingra Sardana Page 19


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Parallel Processing sytems are designed to speed up the execution of programs by dividing
the program into multiple fragments and processing these fragments simultaneously. Such
systems are multiprocessor systems also known as tightly coupled systems.

Parallel computing is an evolution of serial computing where the jobs are broken into
discrete parts that can be executed concurrently. Each part is further broken down to a
series of instructions. Instructions from each part execute simultaneously on different
CPUs.

A system is said to be a parallel system in which multiple processors have direct access to
shared memory which forms a common address space.In these systems there is single
system wide primary memory(address space) that is shared by all the processors. On the
other hand distributed systems are loosely coupled. Parallel computing is the use of two or
more processors in combination to solve a single problem. An example of parallel
computing would be two servers that share the workload of routing mail, managing
connection to a database, solving mathematical problem etc.

10) Embedded Operating System

It is an operating system for embedded computer systems. These operating systems are
designed to be compact ,efficient and reliable forsaking many functions that non embedded
computer operating systems provide , and which may not be used by the specialized
applications they run. They are designed to operate on small machines like PDAs. They are
able to operate with a limited number of resources. They are very compact and extremely
efficient by design. They are frequently also referred to as real time operating systems
(RTOS). Windows CE and Minix 3 are some of the examples of embedded operating
system.

BOOTING :

Boot is the process of starting or resetting a computer. When first turning on, the computer
executes the software that loads and starts the computers OS and prepares it for use.

Boot Record refers to the section of disk that contains the operating system.

Prepared by: Ms. Kanika Dhingra Sardana Page 20


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Boot sector is the portion of the disk reserved for self starting portion (boot strap loader) of
an operating system.

Boot strap loader is a program that is automatically run when computer is switched on. It
first performs few basic hardware tests then passes control to operating system’s loader files
to load the OS.

It is of two types (1) Cold booting: when the computer is started after having been switched
off. (2) Warm booting: when the operating system alone is restarted (without being
switched off) after a system crash or 'freeze.' Both types of booting clear out (for the time
being) the bugs, bombs, memory conflicts of the OS

Startup Sequence of booting process:

1. The computer is switched ON.


2. Computer loads data from ROM and checks whether all the major components like
processor and hard disk are functioning properly.
3. Computer loads BIOS (basic input/output system) from ROM to determine the
machines fundamental configuration and environment which determines what
peripherals can the system support.
4. Computer loads the operating system into RAM.
5. When an application is opened, it is loaded into RAM and any file that is opened for
use in that application is also loaded into RAM.

Mail Merge in MS Word


Mail Merge and its importance

Mail merge is a feature in MS-Word that enables you to create multiple copies of a document with
small changes in each. It is a way of placing content from a spreadsheet, database, or table into a
Microsoft Word document. Mail merge is ideal for creating personalized form letters or labels
instead of editing the original letter several times to input different personalized information. As
you can imagine, this can save a lot of time as well as worry about not changing all of the
information for the new recipient.

Prepared by: Ms. Kanika Dhingra Sardana Page 21


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Take an example of appointment letter. For every employee the format and structure of
letter is almost identical except those information related to the employee.

Steps of creating a Mail Merge in MS WORD 2007

Step 1
On the Mailings tab, click Start Mail Merge, and then click Step by Step Mail Merge Wizard.

Prepared by: Ms. Kanika Dhingra Sardana Page 22


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Step 2

Select document type

1. In the Mail Merge task pane, click Letters. This will allow you to send letters to a group of
people and personalize the results of the letter that each person receives.
2. Click Next: Starting document.

Prepared by: Ms. Kanika Dhingra Sardana Page 23


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Step 3

Select the starting document

1. Click one of the following options:


o Use the current document: Use the currently open document as your main
document.
o Start from a template: Select one of the ready-to-use mail merge templates.
o Start from existing document: Open an existing document to use as your mail
merge main document.

Currently select “Start from existing document” as the invitation is available with you.

2. In the Mail Merge task pane, click Next: Select recipients.

Prepared by: Ms. Kanika Dhingra Sardana Page 24


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Step 4

Select recipients

When you open or create a data source by using the Mail Merge Wizard, you are telling Word to
use a specific set of variable information for your merge. Use one of the following methods to
attach the main document to the data source.
1. In the Mail Merge task pane, click Next: Select Recipients.
2. Click Type a new list.
3. Click Create.
The New Address List dialog box appears.

Prepared by: Ms. Kanika Dhingra Sardana Page 25


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

In this dialog box, enter the address information for each record. If there is no information for a
particular field, leave the box blank.

By default, Word skips blank fields. Therefore, the merge is not affected if blank entries are in the
data form. The set of information in each form makes up one data record.
 After you type the information for a record, click New Entry to move to the next record.

Prepared by: Ms. Kanika Dhingra Sardana Page 26


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

To delete a record, click Delete Entry. To search for a specific record, click Find Entry. To customize
your list, click Customize. In the Customize Address List dialog box, you can add, delete, rename,
and reorder the merge fields.
 In the New Address List dialog box, click OK. In the Save Address List dialog box, type the
name that you want to give to your data source in the File name box, and then click Save.
 In the Mail Merge Recipients dialog box, make any changes that you want, and then click
OK.
 Click Next: Write your letter to finish setting up your letter.
 Save the main document.
When you save the main document at this point, you are also saving the data source and attaching
the data source to the main document.
 Type the name that you want to give to your main document, and then click Save.
To proceed to the next step, click Next: Write your letter.

Prepared by: Ms. Kanika Dhingra Sardana Page 27


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Step 5

Write your letter

In this step, you set up your main document.

1. Type or add any text and graphics that you want to include in your letter.
2. Add the field codes where you want the variable information to appear. In the Mail Merge
task pane, you have four options:
o Address block: Use this option to insert a formatted address.
o Greeting line: Use this option to insert a formatted salutation.
o Electronic postage: Use this option to insert electronic postage.

Note This option requires that you have a postage software program installed on
your computer.
o More items: Use this option to insert individual merge fields. When you click More
Items, the Insert Merge Field dialog box appears.

Note Make sure that your cursor is where you want to insert the information from
your data source before you click More Items.

Prepared by: Ms. Kanika Dhingra Sardana Page 28


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

3. When you finish editing the main document, click Save or Save As on the File menu.

Note In Word 2007, click the Microsoft Office Button, and then click Save or Save As.

Name the file, and then click Save. To proceed to the next step, click Next: Preview your
letters.

Step 6

Preview your letters

This step allows you to preview your merged data, one letter at a time. You can also make changes
to your recipient list or personalize individual letters. To move between the recipients in the list
one can click the “>>”.

On clicking the “>>” the next recipient’s name and address block appears in the letter.

Prepared by: Ms. Kanika Dhingra Sardana Page 29


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

To proceed to the next step, click Next: Complete the merge.

Prepared by: Ms. Kanika Dhingra Sardana Page 30


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Step 7

Complete the merge

This step merges the variable information with the form letter. You can output the merge result by
using either of the following options:

 Print: Select this option to send the merged document directly to the printer. You will not
be able to view the document on your screen.
When you click Print, the Merge to Printer dialog box appears. In the Merge to Printer
dialog box, you can choose which records to merge. When you click OK, the Print dialog
box appears. Click Print to print the merge document.
Edit individual letters: Select this option to display the merged document on your screen. When
you click Edit individual letters, the Merge to New Document dialog box appears. In the Merge to
New Document dialog box, you can choose which records to merge. When you click OK, the
documents are merged to a new Word document. To print the file, on the File menu, click Print.

Prepared by: Ms. Kanika Dhingra Sardana Page 31


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Lecture 14

Structure of Operating System, Functions of Operating System: File Management, Memory


Management, Process management, device management, Security management

STRUCTURE OF OPERATING SYSTEM:

OBJECTIVES OF OPERATING SYSTEM:

1) Makes the computer more convenient to use


2) Allows computer system resources to be used in an efficient manner
3) Ability to evolve: Permit effective development, testing, and introduction of new
system functions without interfering with service.
4) The user interacts with the operating systems through the user interface and usually
interested in the “look and feel” of the operating system.
5) An operating system controls how processes may access resources.

The major functions of an OS are:-


1) resource management

Prepared by: Ms. Kanika Dhingra Sardana Page 32


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

2) data management
3) job (task) management
4) standard means of communication between user and computer
5) Process Management
6) Memory Management
7) File Management
8) Security
9) Command Interpretation

The resource management function of an OS allocates computer resources such as CPU time, main
memory, secondary storage, and input and output devices for use.

The data management functions of an OS govern the input and output of the data and their location,
storage, and retrieval.

The job management function of an OS prepares, schedules, controls, and monitors jobs submitted
for execution to ensure the most efficient processing. A job is a collection of one or more related
programs and their data.

The OS establishes a standard means of communication between users and their computer systems.
It does this by providing a user interface and a standard set of commands that control the hardware.

The process management module of an operating system takes care of the creation and deletion of
processes, scheduling of various system resources to the different processes requesting them and
providing mechanisms for synchronization and communication among processes.

The memory management module of an OS takes care of allocation and deallocation of memory
space to the various programsin need of this resource.

The file management module of an OS takes care of file related activities such as organization,
storing, retrieval, naming, sharing, and protection of files.

The security module of the OS protects the resources and information of a computer system against
destruction and unauthorized access.

The command interpretation module of an OS takes care of interpreting user commands, and
directing the system resources to handle the requests.

Measuring system performance


Prepared by: Ms. Kanika Dhingra Sardana Page 33
IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

The efficiency of an operating system and the overall performance of a computer system are usually
measured in terms of the following:

1. Throughput: Throughput is the amount of work that the system is able to do per unit of
time. It is measured as the number of processes that are completed by the system per unit
time.
2. Turnaround time: Turnaround time is the interval from the time of submission of a job to
the system for processing to the time of completion of the job.
3. Response time: Response time is the interval from the time of submission of a job to the
system for processing to the time the first response for the job is produced by the system.

Prepared by: Ms. Kanika Dhingra Sardana Page 34


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

Lecture 15

Application Software: Word processor, Spreadsheets, image editors, database management


system, Presentation applications, Desktop publishing software

Application Software

1. Application software is a set of one or more programs designed to solve a specific


problem or do a specific task.
2. Application software, also known as an application or an "app", is computer
software designed to help the user to perform specific tasks.
3. The programs included in an application software package are called application
programs and the programmers who prepare application software are referred to as
application programmers.

Examples
Some of the most commonly known application software are briefly described below.

1.Word-Processing Software

Word-Processing is a term that describes the use of computers to create, edit, view, format,
store, retrieve and print documents (written material such as letters, reports, books, etc.). A
word-processing software is an application software that enables the user to do all these on
a computer system. The need to create documents is so common in every walk of life,
whether it is at work, at school, or at home, that word-processing software is the most
commonly used application software.

2.Graphics Software

A graphics software enables us to use a computer system for creating, editing, viewing,
storing, retrieving and printing designs, drawings, pictures, graphs and anything else that
can be drawn in the traditional manner.

3.Education Software

Education software allow computer systems to be used as a teaching and learning tool. A
few examples of such applications are:

Prepared by: Ms. Kanika Dhingra Sardana Page 35


IINTM/BCA 105/FUNDAMENTALS OF COMPUTERS & IT/UNIT 2

1. Applications that teach young children to do mathematics, how to recognize the alphabet,
or how to read whole words and sentences. The use of a computer allows the learning
process to be made interesting by incorporating audio-visual effects in the application.
2. For example, use of encouraging spoken words (like excellent, marvelous, etc.) when the
correct answer is given, and display of marks obtained leads to interesting learning process.

4.Entertainment Software

Entertainment software allow computer systems to be used as an entertainment tool. A few


examples of such applications are:

1. Video Games. Today thousands of video game applications are available on computer
systems. Special audio and visual effects are used in these applications to make the games
thrilling and exciting for the users.

2. Interactive Television. These applications allow users to either use their computer
systems as an interactive television or to convert their conventional televisions into an
interactive television.

3. Game Partner. These applications allow computers to become a game partner of an


individual for playing conventional games that require two players. A good example of
such an application is the use of computers for playing chess.

Prepared by: Ms. Kanika Dhingra Sardana Page 36


IINTM/BCA-107/Unit-2/INTRODUCTION TO COMPUTERS & IT

Page 37

You might also like