0% found this document useful (0 votes)
5 views67 pages

Number Sys Computer Fun

Uploaded by

susmitpics
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)
5 views67 pages

Number Sys Computer Fun

Uploaded by

susmitpics
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

Chapter- 4

Number Systems
4.0 Objectives
4.1 Introduction
4.2 Non Positional Number System
4.3 Positional Number System
4.4 Conversion
4.5 Shortcut Methods
4.6 Summary
4.7 Check Your Progress-Answers
4.8 Questions for Self-Study
4.9 Suggested Readings

4.0 OBJECTIVES
Friends, after studying this you will be able to explain various number systems. The
main features of this chapter are as follows
 Non Positional Number System
 Positional Number System
 Number Systems
 Conversion
 Shortcut Methods

4.1 INTRODUCTION
W e saw in the previous chapter that a computer stores data internally in a format that is
not easily readable by human beings. This is the reason why input and output (I/O)
interfaces are required. Every computer stores numbers, letters, and other special
characters in coded form. Before going into the details of these codes, it is essential
to have basic understanding of number system. Hence, this chapter familiarizes you with
the fundamentals of number system. It also introduces some commonly used number
system by computer professionals and relationship among them.
Number systems are two types – non-positional and positional.

4.2 NON POSITIONAL NUMBER SYSTEM


In early days, human beings counted on fingers. W hen counting beyond ten fingers,
they used stones , pebbles, or sticks to indicate values. This method of a counting uses
an additive approach or non-positional number system. IN this system, we have symbols
such as I for 1, II for 2, III for 3, IIII for 4, IIIII for 5, etc. Each symbol represents the
same value regardless of its position in a number, and to find the value of a number, one
has to count the number of symbols present in the number. Since it is very difficult to
perform arithmetic with such a number system, positional number system was
developed.

4.3 POSITIONAL NUMBER SYSTEM


In a positional number system, there are only a few symbols called digits. These
symbols represent different values, depending on the position they occupy in a number.
The value of each digit in such a number is determined by three considerations.
1. The digit itself,
2. The position of the digit
in the number, and
3. The base of the number system (where base is defined as the total number of digits
available in the number system).

In our day-to-day life, we use decimal number system. In this system, base is equal
to 10 because there are altogether ten symbols or digit (0,1,2,3,4,5,6,7,8, and 9).

Number Systems/41
You know that in decimal number system. Successive positions to the left of the
decimal point represent units, tens, hundreds, thousands, etc. However, notice that
each position represents a specific power of the base (10). For example, decimal
number 2586 (written as 2586) consists of digit 6 in units position, 8 in tens position,
5 in hundreds position, and 2 in thousands position, and its value can be written as:

(2 x 103) + (5 x 102) + (8 x 101) + (6 x 100)= 2000 + 500 + 80 + 6 = 2586

Observe that the same digit signifies different values, depending on the position it
occupies in the number. For example,

In 258610 the digit 6 signifies 6 x 100 = 6


In 256810 the digit 6 signifies 6 x 101 = 60
In 265810 the digit 6 signifies 6 x 102 = 600
In 625810 the digit 6 signifies 6 x 103 = 6000
Hence, we can represent any number by using the available digits and arranging
them in various positions.
The principles that apply to decimal number system, also apply to any other
positional number system. It is important to keep track of only the base of the number
system in which we are working.
The value of the base in all positional number systems suggests the following
characteristics:
1. The value of the base determines the total number of different symbols or digits
available in the number system. The first of these choices is always zero.
2. The maximum value of a single digit is always equal to one less than the value of
the base.

4.3.1 Binary Number System


Binary number system is like decimal number system, except that the base is 2,
instead of
10. W e can use only two symbols or digits (0 and 1) in this number system. Note that
the largest single digit is 1 (one less than the base). Each position in binary number
represents a power of the base (2). Hence, in this system, the rightmost position is
units (20) position, the second position from the rights 2’s (21) position, and proceeding
in this way, we have 4’s (22) position, 8’s (23) position, 16’s (24) position, and so on.
Therefore, decimal equivalent of binary number
2
10101 (written as 10101 ) is :

(1 x 24) + (0 x 23) + (1 x 22) + (0 x 21) + (1 x 20) = 16 + 0 + 4 + 0 + 1 =


21

In order to be specific about which system we are referring to, it is a common


practice to indicate the base as a subscript. Hence, we write”

101012=2110
The sort form of “binary digit” is bit. Hence, “bit” in computer
2
terminology means either a
0 or1.
An n-bit number is binary number consisting of ‘n’ bits. Below table lists all 3-bits
numbers along with number can have not one of the 8 values in range 0 to 7. In fact,
any decimal number in the range 0 to 2n-1 can be represented in binary form as an n-bit
number.

Binary Decimal Equivalent

000 0

001 1

010 2

Computer Fundamentals/42
011 3

100 4

101 5

110 6

111 7

Table No 4.1 3-bit numbers with their decimal values.

Every computer stores numbers, letters, and other special characters in binary form.
There are several occasions when computer professionals need to know the raw data
contained in a computer’s memory. A commonly used way to doing this is to print
memory contents on a printer. This printout is called a memory dump. Memory dumps,
which are in binary numbers, would have many pages of 0s and 1s. W orking with these
numbers would be very difficult and error prone for computer professionals. Hence,
two number systems – octal and hexadecimal, are often used as shortcut notations
for binary. These number systems and their relationship with binary number system are
explained below.

4.3.2 Octal Number System


In octal number system, the base is 8. Hence, there are only eight symbols or
digits:
0,1,2,3,4,5,6, and 7 (8 and 9 do not exist in this system). The largest single digit is 7
(one less than the base 8). Each position in an octal number represents a power of the
base (8). Therefore, decimal equivalent of octal number 2057 (written
8
as 2057) is:

(2 x 83) + (0 x 83) + (5 x 81) + (7 x 80) = 1024 + 0 + 40 + 7 = 1071

Observe that since there are only 8 digits in octal number system, 3 bits (23= 8) are
sufficient to represent any number in binary (see the above table-4.1)

4.3.2 Hexadecimal Number System


In hexadecimal number system, the base is 16. Hence, there are 16 symbols or digits.
The first 10 digits are the same digits of decimal number system – 0, 1, 2,3,4,5,6,7,8,
and 9. The remaining six digits are denoted by the symbols A,B,C,D,E, and F,
representing decimal values 10,11,12,13,14 and 15, respectively. Hence, the largest
single digit is F or 15 (one less than the base 16). Each position in hexadecimal number
system represents a power of
the base (16). Therefore, decimal equivalent of hexadecimal number 1 AF (written as
1AF16)
is

1 x 162) + (A x 161) + (F x 160) = (1 x 256) + (10 x 16) + (15 x 1) = 256 + 160 + 15= 431

Hence, 1AF16=43110 10
Observe that since there are only 16 digits in hexadecimal
number 4 bits (24 = 16) are sufficient to represent any
hexadecimal number in binary.

Number Systems/43
Check Your Progress - 4.2 & 4.3
Fill in the blanks
1. Binary System consists of digit ..........................and ..........................
2. Every Computer Store letters, Symbols and numbers in .......................... format.
3. The principles that apply to decimal number system , also apply to any
other.......................... number system.
4. In .......................... number system, the base is 16. Hence,
there are 16 symbols or digits.
5. In 265810 the digit 6 signifies ..........................

4.4 CONVERSION
Numbers expressed in decimal number system are much more meaningful to us, than
are numbers expressed in any other number system. This is because we hav e been
using decimal numbers in our day-to-day life, right from childhood. However, we can
represent any number system in any other number system. Because the input and final
output values are to be in decimal, computer professionals are often required to
convert numbers in other number system to decimal and vice-versa. Many methods
can be used to convert numbers from one base to another. A method of converting
from another base to decimal, and a
method of converting from decimal to another base are described below.
4.4.1 Converting from another Base to Decimal
The following steps are sued to convert a number in any other base to a base 10
(decimal)
number.

Step 1 : Determine the column (positional) value of each digit (this depends on the
position
of the digit and the base of the number system).
Step 2 : Multiply the obtained column values (in Step 1) by the digits in the
corresponding columns.

Step 3 : Sum up the products calculated in Step 2. The total is the equivalent value
in decimal.

Example 4.1.
11002 = ?10

Solution:
Step 1: Determine Column values
Column Number Column Value
(from right)

1 20 = 1
2 21 = 2
3 22 = 4
4 23 = 8
5 24 = 16

Step 2: Multiply the column values by the corresponding column digits


16 8 4 2 1
x1 x1 x0 x0 x1

Computer Fundamentals/44
16 8 0 0 1

Step 3: Sum up the products


16 + 8 + 0 + 0 + 1 = 25
Hence, 110012 = 2510

Example 4.2.
47062=?10
Solution:

Step 1: Determine Column values


Column Number(from right) Column Value

1 80 = 1

2 81 = 8

3 82 = 64

4 83 = 512

Step 2: Multiply the column values By


the corresponding column Digits
512 64 8 1
x4 x7 x0 x6
2048 448 0 6
Step 3: Sum up the products
2048 + 448 + 0 + 6 = 2502
Hence, 47068= 250210

Example 4.3.
1 AC16 = ?10
Solution :
1AC16 = 1 x 162 + A x 161 + C x 160
= 1 x 256 + 10 x 16 + 12 x 1
= 256 + 160 + 12
= 42810
Example 4.4.
40527 = ?10
Solution :
405216 = 4 x 73 + 0 x 72 + 5 x 71 + 2 x 70
= 4 x 343 + 0 x 49 + 5 x 7 + 2 x 1
= 1372 + 0 + 35 + 2
= 140910
Example 4.5.
40526 = ?10
Solution :
40526 = 4 x 63 + 0 x 62 + 5 x 61 + 2 x 60
= 4 x 216 + 0 x 36 + 5 x 6 + 2 x 1
= 864 + 0 + 30 + 2
= 89610

Number Systems/45
Comparing this result with the obtained in Example 4.4, we the find that although
the digits (4052) are the same for both the numbers, their decimal equivalents are
different.
This is because the number in Example 4.4 is represented in base 7 number system,
whereas the number in Example 4.5 is represented in base 6 number system.

Solution :
40526 = 4 x 63 + 0 x 62 + 5 x 61 + 2 x 60
= 4 x 216 + 0 x 36 + 5 x 6 + 2 x 1
= 864 + 0 + 30 + 2
= 89610
Example 4.6.
40527 = ?10
Solution :
110014 = 4 x 44 + 1 x 43 + 0 x 42 + 0 x 41 + 1 x 40
= 1 x 256 + 1 x 64 + 0 x 16 + 0 x 4 + 1 x 1
= 2562 + 64 + 0 + 0 + 1
= 32110
Example 4.7.
1AC13 = ?10
Solution :
1AC13 = 1 x 132 + A x 131 + C x 130
= 1 x 169 + 10 x 13 + 12 x 1
= 31110
Compare the result with the result obtained In Example 4.3

4.4.2 Converting from Decimal to Another Base (Division- Remainder Technique)


The Following steps are used to convert a have 10 (decimal) number to a number in
another
base.
Step 1 : Divide the decimal number by the value of the new base.
Step 2 : Record the remainder from Step 1 as the rightmost digit (least
significant digit) of the new base number.
Step 3 : Divide the quotient of the previous division by the new base.
Step 4: Record the remainder from Step 3 as the next digit (to the left) of the new
number. Repeat Steps 3 and 4, recording remainders from right to left, until the
quotient becomes zero in Step 3. Note that the last remainder, thus obtained, will be
most significant digit of the new base number.

Computer Fundamentals/46
Number Systems/47
Hence, 171510 = BAB12
Compare the result with the result obtained in Example 4.3.

4.4.3 Converting from a Base Other than 10 to Another Base Other Than 10
The following steps are used to convert a number in a base other than 10, to a number
in
another base than 10:
Step 1 : Convert the original number to a base 10 (decimal) number.
Step 2 : Convert the decimal number obtained in Step 1 to the new base number.

Computer Fundamentals/48
Example 4.16 illustrates the method of converting a binary number to an octal
number,
Similarly, Example 4.17 shows how to convert a binary number to a hexadecimal
number.
However, these are lengthy procedures and we can use shortcut methods when we
desire
such conversions. The shortcut methods are described below.

4.5 SHORTCUT METHODS

4.5.1 Shortcut Method for Binary to Octal Conversion


The following steps are used in this method:

Step1 : Div ide the binary digits into groups of three


( starting from the right).
Step 2 : Convert each group of three binary digits to one octal digit. Since there are only
8 digits (0 to 7) in octal number system , 3 bits (23 = 8) are sufficient to represent any
octal number in binary. Moreover, since decimal digits 0 to 7 are equal to the octal digits 0
to 7, we use binary to decimal conversion method in this step.

Number Systems/49
4.5.2Short Method for Octal to Binary Conversion
The following steps are used in this method :
Step 1 : Convert each octal digit to a 3 digit binary number (the octal digits may be
treated as a decimal numbers for this conversion).
Step 2 : Combine all the resulting binary groups (of 3 digits each) into a single
binary number.

4.5.3 Shortcut Method for Binary to Hexadecimal


Conversion
The following steps are used in this method:
Step 1 : Divide the binary digits into groups of four (starting from the right).
Step 2 : Convert each group of four binary digits to one hexadecimal digit. Remember
that hexadecimal digits 0 to 9 are equal to decimal digits 0 to 9 and hexadecimal digits
A to F are equal to decimal v alues 10 to 15. Hence, for this step, we use binary to
decimal conversion procedure and represent decimal values 10 to 15 as hexadecimal A
to F

Computer Fundamentals/50
Example 4.24:
2AB16=?2

We have summarized the relationship among decimal, hexadecimal, binary, and


octal number system. Note that the maximum value for a single digit of octal (7) is equal to
the maximum value of three digits of binary. The value range of one digit of octal duplicated
the value range of three digits of binary. If we substitute octal digits for binary digits, the
substitution is on a one-to-three basis. Hence, computer that print octal numbers instead
of binary, while taking memory dump, save one-third of printing space and time.
Similarly, note that the maximum value of one digit in hexadecimal is equal to the
maximum value of the four digits in binary. Hence, the value range of one digit of

Number Systems/51
hexadecimal is equivalent to the value range of four digits of binary. Therefore,
hexadecimal shortcut notation is one-to-four reduction in space and time required for
memory dump.

Check Your Progress - 4.4 & 4.5

Fill in the Blanks


[Link] Equivalent for FF is Hexadecimal System is ..................................
[Link] equivalent for 16 is ..................................
[Link] is for ..................................and MSD is for
..................................
[Link] symbols used in octal are ..................................

[Link] equivalent for 10110101100


2
is ..................................

4.6 SUMMARY
1) Number systems are of two types – non-positional and positional.
2) In a non-positional number system. Each symbol represents the same value
regardless of its position in the number and to find the value of a number, one has to
count the number of symbols present in the number. It is very difficult to perform
arithmetic with such a number system.
3) In a positional number system, there are only a few symbols called digits. These
symbols represent different values depending on the position they occupy in a number.
The value of each digit in such a number is determined by the three considerations:
·The digit itself,
·The position of the digit in the number, and
·The base of the number system (where base is defined at the total number of
digits available in the number system).
4) In our day-to-day life, we use the decimal number system. In this system, base is
equal to 10 because there are altogether ten symbols or digits. (0,1,2,3,4,5,6,7,8 and

Computer Fundamentals/52
9).
5) Some positional number system that are used in computer design and by
computer professionals are binary (having base 2), octal (having base 8), and hexadecimal
(having base 16).

4.7 CHECK YOUR PROGRESS-ANSWERS

4.2 & 4.3

1. 0 and 1 2. Binary 3. Positional 4. Hexadecimal 5. 6 x 102 = 600

4.4 and 4.5


1. 255 2. 10002

3. Least Significant Digit & Most Significant Digit.


4. 0,1,2,3,4,5,6,7 5. 5AC16

4.8 QUESTIONS FOR SELF - STUDY

1) Differentiate between positional and Non positional number systems.


2) W hat is base of a number system? W rite examples to
illustrate the role of base in positional number system.
3) W hat is the value of base for decimal, hexadecimal, binary and octal number system?
4) Find decimal equivalent of
a) 1101011 b) 10110001100 c) 1010101100 d) 1110101
5) Find octal equivalent of following binary numbers
a) 1010011 b) 1001001101
c) 1010101100 d) 11001010
6) Find hexadecimal equivalent of above mentioned binary numbers

7) Convert following numbers into decimal numbers


a) 1101102
b) 2A3B16
c) 25738
8) Convert following decimal numbers into binary numbers
a) 435 b) 32 c) 1694 d) 135

4.9 Suggested Readings


 Computer Fundamentals
Concepts, Systems & Applications – P.K Sinha

 







Number Systems/53
NOTES



Computer Fundamentals/54
Chapter - 5

Boolean algebra and Logic Circuits


5.0 Objectives
5.1 Introduction
5.2 Boolean Algebra
5.3 Principle of Duality
5.4 Logic Gates
5.5 Logic Circuits
5.6 Design of Combinational Circuit
5.7 Summary
5.8 Check Your Progress - Answers
5.9 Questions for Self – Study
5.10 Suggested Readings

5.0 OBJECTIVES
Friends, This chapter deals with Boolean algebra and logic gates. After learning this
chapter you will be able to explain-
 Boolean Algebra
 Logic Gates
 Logic Circuits
 Design of Combinational Circuit

5.1 INTRODUCTION
Boolean algebra deals with binary number system. It is very useful in designing
logic circuits used in processors of computer system. In this chapter, you will learn
about this algebra and elementary logic gates used to build up logic circuits of different
types for performing necessary arithmetic operations. These logic gates are the building
blocks of all logic circuits in a computer. You will also learn how to use Boolean algebra
for designing simple logic circuits used frequently by arithmetic logic unit and almost
all computers.

5.2 BOOLEAN ALGEBRA


In mid 1800, George Boole (1815-1864), an English mathematician, developed
algebra for simplifying the representation and manipulation of propositional logic. It is
known a Boolean algebra after its developer’s name. Later, in the year 1938. Claude E.
Shannon proposed the use of Boolean algebra in the design of relay switching circuits.
The basic techniques described Shannon were adopted almost universally for the design
and analysis of switching circuits. Owing to analogous relationship between the action of
relays and modern electronic circuits, the same techniques are still used in the design of
modern computers.
Boolean algebra provides an economical and straightforward approach to the design of
relay and other types of switching circuits. Just as an ordinary algebraic expression is
simplified by using basic theorems , the expression describing a given switching
circuit network is also simplified by using Boolean algebra. Today, Boolean algebra is
used extensively in designing electronic circuitry of computers.

Fundamental concepts of Boolean Algebra


Boolean algebra is based on the fundamental concepts described below.

Use of Binary Digits


In a normal algebraic expression, a variable can take any numerical value. For example,
in the expression 3A + 7B = C, each of the variables. A, B, and C may have from the entire

Boolean Algebra and Logic Circuits /55


field of real numbers. Since, Boolean algebra deals with binary number system, the
variables used in Boolean equations may have only possible values (0 or 1). For
example, in the Boolean equation A + B = C, each of the variables A, B, and C may
have only the values 0 or
1.
5.2.1 Logical Addition
The symbol ‘+’ is used for logical addition operator. It is also known as ‘OR’ operator.
We can define the + symbol (OR operator) by listing all possible combinations of A and
B with the resulting value of C for each combination in the equation A + B = C. Since the
variables A and B can have only two possible values (0 or 1). Only four (22) combinations
of inputs are possible (see the table 5.1). The resulting output values for each of
the four input combinations are given in the table. Such a table is known as a truth table.
Hence, the below figure is the truth table for logical OR operator.

Table 5.1
Observe that the result is 0 only when both input variables are 0. It is 1 when any one or
both of the input variables are 1. This is the reason why the + symbol does not have the
“normal” arithmetic meaning, but is a logical addition operator. This concept of logical
addition may be extended to any number of variables. For example, in the equation A
+ B + C + D = E, even if A,B,C and D, all had the value of 1, the sum of the values (the
result E) would be 1 only. The equation A + B = C is normally read as “A or B equals C”.

5.2.2 Logical Multiplication


The symbol ‘.’ Is used for logical multiplication operator. It is also known as ‘AND’
operator. We can define the symbol (AND operator) by listing all possible
combinations of A and B with the resulting value of C for each combination in the
equation. A . B = C. table 5.2 shows the truth table for logical AND operator. Observe
that the result C is equal to 1 only when both input variables A and B are 1, otherwise it
is 0. The equation A. B = C is normally read as “A and B equals C”.

Table 5.2
5.2.3 Complementation
Truth table for logical AND (.) [Link] and AND are binary operations because they
operate on two variables. Complementation is a unary operation defined on a single
variable.
The symbol ‘-‘ is used for complementation operator. It is also known as ‘NOT’
operator. Hence, we write A meaning “complement” of A”, or (A + B) meaning of A + B.”
Complementation of a variable is the reverse of its value. Hence, if A = 0, the A = 1 and
if A = 1. Then A = 0. Below table 5.3 shows the truth table for logical NOT (-) operator. A is
read as “complement of A” or “not of A”.

Computer Fundamental /56


Table 5.3

5.2.4 Operator Precedence


Does A + B .C mean (A + B) . C or A + (B . C)? The two generate different values for A =
1, B = 0, and C = 0 because we have (1 + 0) . 0 = 0 and 1 + (0.0) = 1. Hence,
operator precedence rules are needed to correctly evaluate Boolean expressions. The
precedence rules for Boolean operators are as follows:
1. The expression is scanned from left to right.
2. Expression enclosed within parentheses are evaluated first.
3. All complement (NOT) operations are performed next.
4. All ‘-‘(AND) operations are performed after that.
5. Finally, all ‘+’ (OR) operations are performed in the end.
According to these rules, A + B. C should be evaluated as A + (B .C). Similarly, for
the expression A. B, complement of A and B are both evaluated first and the results are
then AND ed. Again, for the expression (A + B), the expression inside the parenthesis
(A + B) is evaluated first and the result is then complemented.

5.3 Principle of Duality


 When value and operations can be paired up in a way that leaves everything
important unchanged when all pairs are switched simultaneously, we call the member
of each pair dual to each other.
Thus 0 and 1 are dual, ^ and are dual.
The duality principle asserts that Boolean.
Algebra is unchanged, when all dual pairs are interchanged.

 Dual of one expression is obtained by replacing AND (.) with OR (+) and OR
with AND together with replacement of 1 with 0 and 0 with 1.

5.4 Logic Gates

ll operations within a computer are carried out by means of combinations of


signals passing through standard blocks of built-in circuits known as logic gates. In
other words, a logic gate is an electronic circuit that operates on one or more input
signals to produce standard output signals. These logic gates are the building blocks
of all electronic circuits in a computer.
Combinations of multiple logic gates of different types are often used to build
electronic circuits in computers.
Out of many types of logic gates available, we shall study here only some of
the most important ones. These are sufficient to introduce the concept of electronic logic
circuit with the use of logic gates.

5.4.1AND Gate

An AND gate is the physical realization of logical multiplication (AND)


operation. It is an electronic circuit that generates an output signal of 1, only if all input
signals are also 1.

Input A B Output

Fig 5.1 Two or more switches connected in series behave as an AND gate

Behavior of a logic gate (the state of its output signal, depending on various

Boolean Algebra and Logic Circuits /57


combinations o of input signals) is represented conveniently by means of a truth table.
Below Figure shows the truth table and block diagram symbol for an AND gate for two
input signals. Since there are only two inputs (A and B), only four (22) combinations of
inputs are possible. Notice that the output is 1 only when both inputs are in 1 state,
otherwise it is 0.

Fig. 5.2 Block diagram symbol and truth table 5.4 for an AND gate.

5.4.2 OR Gate

An OR gate is the physical realization of logical addition (OR) operation. It is an


electronic circuit that generates an output signal of 1, if any of the input signals is also
1.
Two or more switches connected in parallel behave as an OR gate. Observe
from the below Figure that the input current will reach the output point when any one of
the two switches (A or B) are in ON (1) state. There will be no output only when both
the switches are in OFF (0) state.

Fig. 5.3 that demonstrates Two or more switches connected in parallel


behave as an OR gate

Below fig 5.4 shows the truth table and block diagram symbol for an OR gate for two
input signals. Notice that the output is 1, when any of the input signals is n 1. It is 0
only when both inputs are 0.

Fig.5.4 Block Diagram and Truth Table for an OR Gate


Just as + and. Operations could be extended to several variables by using
associative law, AND gates and OR gates can also have more than two inputs. Above
shows three-input AND a nd OR gates and the table of all input combinations for each.
Notice that the output of the AND gate with inputs A,B and C is 1 only if all three inputs

Computer Fundamental /58


are 1, so that we write the output as A. B. C. Similarly, the OR gate with inputs, A,B,
and C has a 1 output if any one of the inputs is 1, so that we write the output as A + B
+ C.

The above argument can be extended. A four-input AND gate has a 1 output
only when all four inputs are 1 and a four-input OR gate has a 1 output when any of its
inputs is a 1.

(b) Three-input OR gate.


Fig. 5. 5 Block diagram symbol and truth and truth table for
(a) Three-input AND gate and b) Three- input OR gate.

5.4.3 NOT Gate

A NOT gate is the physical realization of complementation operation. It is an


electronic circuit that generates the reverse of the input signal as output signal as
output signal. It is also known as an inverter because it inverts the input.

Below Figure 5.6 shows the truth table and block diagram symbol for a NOT gate.

Boolean Algebra and Logic Circuits /59


Recall that Complementation operation is unary operation defined on a single variable.
Hence, a NOT Gate always has a single input. Below figure also shows that two NOT
gates connected in Series given an output equal to the input. This is the gating
counterpart of the law of the Double complementation. A = A.

Fig 5.6 (a) Block diagram symbol and truth table for NOT gate.
(b) Two NOT gates in series

5.4.5 NAND Gate

A NAND gate is a complemented AND gate. That is the output of NAND gate will be
1 if any one the input is 0, and it will be 0 only when all inputs are 1.

Below Figure 5.7 shows the truth table and block diagram symbol for a NAND gate.
The symbol ‘ ‘ is usually used to represent a NAND operation in Boolean expressions.
Hence

Fig. 5.7 Block diagram symbol and truth table for a NAND gate.

An AND gate followed by a NOT gate operates as a NAND gate (see Figure
above) . In the figure, the output of the AND gate will be A .B that is turn is fed as input
to the NOT gate. Hence, the final output will be complement of A.B, which is equal to
(A.B) or A + B or A B. in fact, the small circle on the output of NAND gate (see Figure
6.24) represents complementation.

Computer Fundamental /60


Figure 5.8 Demonstrating NAND gate realization with AND gate and a
NOT gate

Multiple-input NAND gates can be analyzed similarly. A three-input NAND gate


with inputs, A,B, and C will have output equal to A.B.C or A + B + C meaning that the
output will be 1 if any of the inputs is a 0, and it will be 0 only when all three inputs are
1.

5.4.6 NOR Gate

A NOR gate is complemented OR gate. That is, the output of a NOR gate will be
1 only when all input are 0, and it will be 0 if any input is a 1.
Below figure 5.9 shows the truth table and block diagram symbol for a NOR
gate. The symbol ‘ ’ is usually used to represent a NOR operation is Boolean
expressions.
Hence A B = A + B = A .B.

Fig 5.9 Block diagram symbol and truth table for a NOR gate

An OR gate followed by a NOT gate operates as a NOR gate (see the below
figure). In the
Figure the output of the OR gate will be A +B that in turn is fed as input to the NOT
gate. Hence, the final output will be complement of A +B, which is equal to (A + B) or
A.B or A B. In fact, the small circle on the output of NOR gate (see Figure 5.10)
represents Complementation.
Multiple-input NOR gates can be analyzed similarly. A three-input NOR gate
with inputs
A,B, and C will have an output equal to A + B + C or A. B. C meaning that the output
will be
1 only when all three inputs are 0, and it will be 0 if any of the three inputs is a 1

Fig.5.10 NOR gate realization with an OR gate and a NOT gate

Check Your Progress - 5.2 & 5.4


State whether the following statements are true or false
1. Boolean algebra provides an economical and straightforward approach to the
design of relay and other types of switching circuits.
2. AND gates and OR gates cannot have more than two inputs.
3. All operations within a computer are carried out by means of combinations of
signals passing through standard blocks of built-in circuits known as logic gates.
4. Zero NOR Zero produces Zero.
5. An OR gate followed by a NOT gate operates as a NOR gate.

Boolean Algebra and Logic Circuits /61


5.5 LOGIC CIRCUITS

Logic gates described in the previous section are seldom used alone but
are used in combinations. They are interconnected to form gating/logic networks known as
combinational logic circuits. Boolean algebra expression for a given logic circuit
can be derived by systematically progressing input to output on its gates. Few
examples are given below. Example
Find the Boolean expression for the output of the logic circuit given belo

D
B

Solution
Input A is fed to the NOT gate, whose output will be A.
Inputs B and C are fed to the OR gate, whose output will be B + C
These two outputs (A and B + C) are in turn fed as input to the AND gate, whose
output will be A . (B + C)
Hence, D = A . (B + C) is the Boolean expression for the output of the given logic
circuit.
Find the logic expression for the output produced by the logic circuit given below.

Solution
The output of the OR gate is
A + B …………
(a) The output of the first AND gate is
A.B …………
(b)Expression (b) is fed as input to the NOT gate, whose output will be
A.B …………
(c)
Now, expressions (a) and (c) are fed as input to the second AND gate, whose output will
be
(A + B) . (A . B)
Hence, C = (A + B) . (A . B) is the logic expression for the output produced by the given
logic circuit.

 Converting Expressions to logic circuits


The method for constructing logic circuits for Boolean expressions by using
these three gates only is illustrated below with some example. Construct a logic circuit
for the Boolean expression A. B + C
Solution: method of constructing logic circuits for Boolean expressions by
using

The desired logic circuit is shown above and it self-explanatory. Constrict


a logic circuit for the Boolean expression

Computer Fundamental /62


5.6 DESIGN OF COMBINATIONAL CIRCUIT
Design of a combinational circuit starts from the outline of the problem and
ends in a logic circuit diagram.
1. State the given problems completely and exactly.
2. Interpret the problem to determine available input and required output variables.
3. Assign a letter symbol to each input variable and each output variable.
4. Design a truth table that defines the required relations between inputs and outputs.
5. Obtain the simplified Boolean expression for each output
6. Draw a logic circuit diagram to implement the Boolean expression.
The design procedure is illustrated below with the design of adder circuits
because addition is the most basic arithmetic operation for any computer system.
The following four rules summarize addition in binary number system.
0+ 0=0
0+ 1=1
1+ 0=1
1 + 1 = 10
The first three operations produce a single-digit sum, but when both augends
and addend bits are equal to 1, the sum consists of two digits. The higher significant bit
of this result is called a carry. W hen both augends and addend numbers contain more
than one digit, the carry obtained from addition of two
bits at any stage is added to the next pair of significant bits. A combinational circuit that
performs the addition of two bits is called a half-adder. One that performs the addition
of three bits (two significant bits and previous carry) is called a full-adder. The name of the
former comes from that fact that two half-adders can be employed to implement of a full-
adder.

5.6.1 Design of Half-Adder

From the definition given above, a half-adder needs two binary inputs and two
binary outputs.
The input variables designate the augends and addend bits whereas the output
variables and addend bits whereas the output variables produce the sum and carry
bits. Let A and B be the two inputs and S (for sum) and C (for carry) be the two
outputs. The truth table of the Figure defines the function of a half-adder.

Boolean Algebra and Logic Circuits /63


Figure 5.11 showing Truth table for a half –adder.

The Boolean expressions for the two outputs, obtained from the truth table, are:
S = A.B + A.B
C = A.B

The logic circuit diagram to implement these expressions is shown in the below Figure
5.12

Figure 5.12 showing the logic circuit diagram for a half-adder

A half-adder is limited in the sense that it can add only two single bits. Although, it
generates a carry for the next higher pair of significant bits it cannot accept a carry
generated from the previous pair of lower significant bits. A full-adder solves this
problem.

5.6.2 Design of Full-Adder

A full-adder forms the arithmetic sum of three input bits. Hence, it consists of
three inputs and two outputs. Two of the input variables (A and B) represent the
augends and addend bit and the third input variable (D) represents the carry from the
previous lower significant position. Two outputs are necessary because the sum of
three binary digits ranges from 0 to 3 and binary 2 and 3 need two digits. These two
outputs are designated by the symbols S (for sum) and C (for carry). The truth table of
the below Figure defines the function of a full-adder.
The 1s and 0s for the output variables are determined from the arithmetic sum of the
three input variables. When all input variables are 0, the output is 0 for both C and S.
The S output is equal to 1 when only one input is equal to 1, or when all three inputs
are equal to 1. The C output is 1 if two or three inputs are equal to 1.

Computer Fundamental /64


Figure 5.13 showing Truth table for a full-adder.

The sum-of-products expressions for the two outputs can be obtained directly from the
truth table and are given below.
S = A.B.D + A.B.D + A.B.D + A.B.D
C = A.B.D + A.B.D + A.B.D + A.B.D

Although, the expression for S cannot be simplified, it is possible to simplify the


expression for C as follows.

C = A.B.D + A.B.D + A.B.D + A.B.D


= A.B.D + A.B.D + A.B.D + A.B.D + A.B.D + A.B.D
( since x + x = x)
= (A.B.D + A.B.D) + (A.B.D + A.B.D) + (A.B.D + A.B.D)
= (A+ A) .B.D + (B+B).A.D + (D+ D) .A.B
= B.D + A.D + B.D (since x + x = x)
= A.B + A.D + B.D

Hence, we obtain the following expressions for the two outputs:


S = A.B.D + A.B.D + A.B.D + A.B.D
C = A.B + A.D + B.D

Boolean Algebra and Logic Circuits /65


a) Logic circuit diagram for sum
(b) Logic circuit diagram for carry

Figure showing the logic circuit diagrams to implement these expressions.


The S output from the second half-adder is the exclusive-OR of D and the output of the
first half-adder giving.

S = (A.B. + A.B.).D + (A.B. + A.B.).D


= (A.B. + A.B.).D + A.B.D + A.B.D
= (A.B). (A.B). D + A.B.D + A.B.D
= (A.A + A.B + A.B + B.B).D + A.B.D + A.B.D
= (A.B. + A.B.).D + A.B.D + A.B.D
= A.B.D + A.B.D + A.B.D + A.B.D
= A.B.D + A.B.D + A.B.D + A.B.D

The carry output is:

C = (A.B. + A.B.).D + A.B


= A.B.D + A.B.D + A.B.(D+ D)
= A.B.D + A.B.D + A.B.D + A.B.D

This can be simplified, as before, to

C = A.B + A.D + B.D

Check Your Progress - 5.5 & 5.6

Fill in the blanks

1. A .............................needs two binary inputs and two binary outputs.

2. A half-adder is limited in the sense that it can add only .............................

3. A .............................forms the arithmetic sum of three input bits.

5.7 SUMMARY

1) Boolean algebra deals with binary number system. That is, the variables used
in Boolean equations may have only two possible values (0 and 1).
2) In Boolean algebra the ‘OR’ operator used for logical addition is represented by
the symbol ‘+’; the ‘AND; operator used for logical multiplication is represented
by the symbol ‘.’, and the ‘NOT’ operator used for complementation is
represented by the symbol ‘-‘.
3) As regards precedence of Boolean operators, ‘NOT’ operator takes
precedence over ‘AND’ and ‘OR’ operators, and ‘AND’ operator takes
precedence over ‘OR’ operator.
4) An Boolean algebra, there is a precise duality between the operators. (AND and +
(OR) and the digits 0 and 1. This property is known as the principle of duality.
5) A Boolean function is an expression formed with binary variables, the two binary
operators OR and AND, the unary operator NOT, parentheses, and equal to sign.

Computer Fundamental /66


6) Complement of a Boolean function F is F is obtained by interchanging 0s and
1s and 1s for 0s in the truth table defining the function.
7) A sum-of-products expression is a single product term (midterm), or several
product terms (midterms) logically added (OR) together. For example,
expression x.y and x.y is a sum-of-products expression.
8) A logic gate is electronic circuit that operators on one more input signals to
produce standard output signals. These logic gates are the building blocks of all
electronic circuits in a computer.
9) The logic gates are interconnected to form gating or logic networks known as
combinational logic circuits.

5.8 CHECK YOUR PROGRESS-ANSWERS

5.2 & 5.4


1. True 2. False 3. True 4. False 5. True

5.5 & 5.6


1.A Half Adder 2. Two Single Bits 3. Full adder.

5.9 QUESTIONS FOR SELF - STUDY

1) Explain the principle of duality in Boolean algebra. How it is useful?


2) W rite the dual of following Boolean expressions:
a) A+B b) A + B + C c) A. B + A.B
d) A+B e) A. (A + B) f) A + A.B

3) Write the dual of the rule A + A.B = A + B


4) State and prove the two basic De Morgan’s theorems.
5) Prove following rules by perfect induction method:
a) A.B + A .B = A b) A + A .B = A + B
c) A. (A + C) = A d) (A + B). (A .B) = A .B + B.A
e) (A + B). (A .B) = A .B + B.A
6) Explain gates with example for OR, NOR, AND, NAND.
7) W rite a Note on Half adder of circuit
8) W rite Short notes on :

Logical Circuit, Additional Circuit, Full order Circuit.

Boolean Algebra and Logic Circuits /67


5.10Suggested Reading’s

 Computer Fundamentals
Concepts, Systems & Applications – P.K Sinha

References

 [Link]



Computer Fundamental /68


NOTES

Boolean Algebra and Logic Circuits /69


NOTES

Computer Fundamental /70


Chapter 6

Computer Software, Programming


Languages and Program Development

6.0 Objectives
6.1 Introduction
6.2 Classification of Software
6.3 Programming Languages
6.4 Program Development Process
6.5 Summary
6.6 Check your Progress - Answers
6.7 Questions for Self – Study
6.8 Suggested Reading’s

6.0 OBJECTIVES

Friends after studying this lesson, you will be able to :


 State the definition of software, the classification of software viz Application
Software, System Software, Utility Software and Firmware.
 Discuss various programming languages and their evolution from Machine
Language to Fourth Generation languages, through assembly and high level
languages.
 Describe translators and their types
 Discuss program development process and the various stages in the
development of a computer program.

6.1 INTRODUCTION

As is already seen, a computer cannot do anything on its own. It has to be provided a


detailed set of instructions to perform a specific task to achieve a desired goal, this set of
instructions, which are written in the form which is understood by the computer, is known
as a computer program. The program controls the processing of the computer.

6. 2 CLASSIFICATION OF SOFTWARES

Software means a set of programs, procedures and other associated


documentation which describes what the program does and how it is to be used.
Hardware and software both have to work together. A number of software’s can be run
on the same hardware to perform different types of jobs. The software acts as an interface
between the user and the computer.
Software is mainly classified into:
 Application Software
 System Software

6.2.1 Application Software:


Application software is a program or a set of programs which are written to carry
out a specific [Link]. Payroll, financial accounting etc. Nowadays special
application software or packages for specialized areas like drawing, engineering,
manufacturing, banking, and publishing are available. The set of programs which together
make an application package are called application programs.

Computer Software, Programming Languages and Program Development /71


6.2.2 System Software :
The systems software controls the working of the computer system. It helps
the user to use the computer by allowing him to communicate with the system. System
software controls the working of other software’s, hardware, hardware devices like
printers, memory, CPU etc. Thus, they make the operation of the computer more
efficient. The programs included in system software are systems programs. Without
the systems programs, it would not be possible for the application programs to work on
the computer. The systems software is generally provided by the manufacturer of the
computer hardware. Without the systems software the hardware would not work.
6.2.3 Utility Software:
These are a set of programs or tools which are used in program development or
for performing limited tasks, eg. scandisk.
6.2.4 Firmware:
With the advances in technology it is now possible to make the software
available on ROM (Read Only Memory) chips. These chips, which form a part of the
software, have the programs in them. Thus programs available on hardware are called
Firmware. Today not only systems software, but even some dedicated application
programs are being made available on firmware.

Check your Progress - 6.2

1. Match the following.

A B
1. Application Software a. Program to control system working of computer
2. Firmware b. Scandisk
3. Systems Software c. payroll
4. Utility Software d. Software available on Rom chips

2. Answer in 1-2 sentences.


W hat is software?
............................................................................................................................
............................................................................................................

6.3 PROGRAMMING LANGUAGES

A programming language is a means of communication for the user to


communicate with the computer system. The programming language is a set of
instructions which tells the computer what to do. This is a language which is understood
by both man and machine. There are a number of programming languages. However all
these languages are designed to perform at least certain basic instructions and
operations; These instructions and operations are :

- Input/output operations,
- Arithmetic operations - mathematical operations like addition, subtraction,
- Logical operations - Comparison for equality, inequality etc.
- Movement of instructions and data to and from the CPU.

To use the programming language, the programmer has to strictly follow the rules of

Computer Fundamentals/72
the language including all commas, punctuation marks etc. otherwise the program will
not be understood by the computer. Thus, although the programming languages are
much smaller and simpler than the natural languages, they have to be used with the
greatest accuracy.

6.3.1 Types of programming languages


a) Machine Language
b) Assembly Language
c) High Level Language

a) Machine Language:
This is the only language which is understood by the computer. This is the
language nearest to the machine. In this language the programs are written in binary
code i.e. the instructions are made only by a combination of binary digits 0 and 1.
Machine language may vary from machine to machine depending upon the computer
architecture. Machine languages execute the fastest since they are immediately
understood by the computer. No translation
of the programs is required. Also they make efficient use of primary memory. But it is
very difficult to program in this binary or machine language. It is also very tedious and
time consuming, since all the instructions have to represent as a series of Os and 1 s.
Therefore there is always a possibility of errors.

b) Assembly Language:
The Os and 1 s of the machine language were substituted by letters and symbols in
assembly languages. The assembly languages use mnemonics (memory aid) in place
of operation codes. The language uses symbols instead of numbers to write programs. A
program written using such symbols in the assembly language is called the source
program. The program written in assembly language has to be converted into machine
language for use by the computer. This is achieved with the help of the assembler. The
assembler is a system program which is supplied by the manufacturer. It converts the
assembly program into a machine readable program and the resulting program is
called the object program. Thus the input to the assembler is the source program
and the output of the assembler is the object program. The assembler translates
each assembly language instruction into a corresponding machine code.
It is relatively easy to write programs in assembly language as compared to machine

Computer Software, Programming Languages and Program Development /73


language. They can be also modified relatively easily. However, like the machine
language, assembly languages are also hardware dependant. When the machine
changes, the program has to be changed.

Since the machine language and assembly language both are dependent on the
hardware, they are referred to as low level programming languages. Both these
languages require a deep understanding of the internal structure of the computer.

1. High Level Languages :


Higher level languages make use of English like words and statements
and mathematical symbols for instructions. Higher level languages make programming
easier, since they are relatively easy to learn. Less time is required to write programs in
high level languages. The programmer is not required to know the detailed working of
the computer system in order to program in a high level language. They are machine
independent. Higher level languages are also known as problem oriented languages.
However a high level language is not directly understood by the computer. It is
required to be translated into machine language. Therefore they generally execute
more slowly and require more memory than the same program written in assembly
language.
The programs which are used to translate programs written in high level
language into machine language are known as translators.
The types of translators are:

I) Compiler
II) Interpreter

I) Compiler:
The compiler translates the entire source program into machine language
program at once. The source code remains intact. Once a program is compiled it can be
run as many times as required, without being required to be recompiled. A compiler
can translate only those programs which have been written in the language for which it
is designed. Also each machine has to have its own compiler.
A compiler is a program which normally resides on the secondary storage
device. It gets loaded into the CPU when the source program is to be translated. A
compiler checks for errors like illegal symbols, statements etc. during compilation and
gives out a list of error messages at the end of execution. This is a very valuable aid to
the programmer to correct the programs. However, the compiler is incapable of
detecting any logical errors in the program.

II) Interpreter:
The interpreter is the program which translates a high level language program
into machine language as follows :
- it takes one statement from the high level language program
- translates it into a machine instruction and the instruction is immediately executed.
Since the program is translated statement by statement, the machine level program of
the source program is not stored anywhere in memory.

Therefore, the program has to be interpreted every time when it has to be run.
Thus no object code is generated. The interpreted programs are generally slower than
compiled programs. However, if any changes are made in the source program it can
interpret only those statements and it is not required to compile the entire program
again. Interpreters are relatively easy to write and smaller in size as compared to
compilers.
Thus assemblers, compilers and interpreters are systems software which
translate the source program into object program i.e. program which can be understood by
the computer. These translators are also known as language processors.

c) Fourth Generation Languages (4 GL) :


Programming languages are sometimes classified with generations - from the lowest to
the highest.

Computer Fundamentals/74
The First Generation - Machine Language
The Second Generation - Assembly Language
The Third Generation - [Link] Language

Unlike procedural languages which require that a programmer writes all the
steps to complete the program and generate output, which are related to a more
structural approach towards programming. It is the first standardized language.

 BASIC:
BASIC stands for Beginners All Purpose Symbolic Instruction Code. The
language was developed by Prof. John Kemeny and Thomas Kurtz in USA. It
irrelatively easy to learn. Programs written in BASIC language are interpreted. It
resembles FORTRAN in many ways, but can also be effectively used in business
applications. Thus it can be used for both business and scientific applications. BASIC
is one of one most popular language for use in microcomputer systems.
 COBOL :
Common Business Oriented Language was designed especially for
business applications. A COBOL program is constructed from sentences, paragraphs,
sections and divisions. A COBOL program must have four divisions: the identification
division, the environment division, data division, and the procedure division. Thus
COBOL is a self documenting language. It is one of the most widely used commercial
languages.

 RPG :
Report Generator is a general purpose, business oriented language designed to
generate output reports. The language was developed by IBM and was launched for
use on the IBM 1401 computer. It is best suited for applications where large data files
have to be read and extensive reports are to be output. It has limited mathematical
capability and is not suited for scientific applications.

 PASCAL :
PASCAL has been named after the French mathematician Blaise Pascal; It allows the
programmer to structure the programming language. The features of PASCAL allow it
to be used for both scientific and business applications. It is a very powerful language.
It is implemented on several computers including microcomputers and minicomputers
and is also widely used to teach programming to students and beginners.

 C:
C was designed and developed at Bell Laboratories USA. It is a block structured
language which allows the use of various concepts of structured programming. C also
has the advantage of being able to manipulate internal processor registers of the
computer. Thus it has some powers of the assembly language. C is also very portable.
C is the most popular language used for systems programming like designing
compilers and operating systems.

 LISP:
LISP stands for list processing. This language is mostly used in non numeric
applications which require logical rather than numerical operations. Therefore it is
widely used in games, pattern recognition and artificial intelligence.

Check Your Progress - 6.3


1. Match the following.
A B
(i) COBOL a. Formula Translation
(ii) BASIC b.
Non numeric applications (iii) C c.
Structured Programming
(iv) FORTRAN d.
needs an interpreter
(v) LISP e. widely used language for systems programming
(vi) PASCAL f. Self documenting language

Computer Software, Programming Languages and Program Development /75


6.4 PROGRAM DEVELOPMENT PROCESS

W hile writing a computer program, it is absolutely necessary to write .each


and every instruction in the correct sequence. The logical control of element within the
computer program is the most important aspect of programming.

The various stages in the development of a computer program are :


 Problem Definition
 Program Design
 Coding
 Debugging
 Testing
 Documentation
 Maintenance

6.4.1 Problem Definition:


The first step in the process of program development is the thorough
understanding and identification of the problem for which is the program or software is to
be developed. In this step the problem has to be defined formally. All the factors like
Input/output, processing requirement, memory requirements, error handling, interfacing
with other programs have to be taken into consideration in this stage.
6.4.2 Program Design:
The next stage is the program design. The software developer makes use of
tools like algorithms and flowcharts to develop the design of the program.
 Algorithm:
An algorithm represents the logic of the processing to be performed. It is a sequence of
instructions which are designed in such a way that if they are executed in the specified
sequence, the desired goal is achieved. It is imperative that the result be obtained
after execution of a finite number of steps.
In an algorithm,
- Each and every instruction has to be precise and clear.
- The instruction has to be executed in a finite time.
- W hen the algorithm terminates the desired result should be achieved.

 Flowchart :
A flowchart is a pictorial representation of the algorithm. It represents the
steps involved in the procedure and shows the logical sequence of processing using
boxes of different shapes. The instruction to be executed is mentioned in the boxes.
These boxes are connected together by solid lines with arrows, which indicate the flow
of operation.
The first step in the design of a program is the algorithm. The algorithm is
then represented in the form of a flowchart and the flowchart is then expressed in the
computer language to actually prepare the computer program.

Computer Fundamentals/76
Fig. 6.2 Symbols used in a
flowchart.

The symbols used in the flowchart are:

Terminal (Start/Stop):
The symbol denotes the beginning, ending and halt operation in the program
logic. Thus it is the first and the last Symbols! in any nov-chart to indicate the start and
stop of the process.

Input/output:
Indicates when an input or output operation is to performed in the process.

Processing:
This represents the arithmetic operations like addition, subtraction etc, and
the movement of data in the process

Decision:
The decision symbol is used to represent a point where one or more alternatives
is possible. The criteria for decision making are written in the decision box. On each
path the condition for which the particular path is to be followed has to be written. During
the execution the appropriate path will be followed depending upon the result of the
decision.

Flow lines:
These indicate the flow of operation ie. The sequence of instruction execution. Flow
lines are normally drawn with arrowhead indicating the direction of flow of the program.

Connectors:
A connector is used to indicate the logic flow from one page to another when
the flowchart becomes very long. Connectors do not represent any operation. They are
mainly used in the flowchart for clarity and convenience.

Types of logic used in the flowchart:

Sequential Execution: In this logic the instructions are executed one after the
other sequentially.

Transfer of control: This is a logic which is used when the option to be chosen
depends upon the result of the decision. The control is transferred to a particular path if
the result of the decision branches to that path.

Looping: In looping or repetitive logic, an instruction or a number of instructions are


executed more than once. The instructions are executed till the decision criteria is true.
The decision criteria can be placed before the loop or after the loop depending upon the
statements which are to be executed in the loop.

Computer Software, Programming Languages and Program Development /77


Let us see some examples of writing algorithms and flowcharts.
(1) Write an algorithm and develop a flowchart to convert the temperature input in
Celsius scale to Fahrenheit scale.

Solution :

First write a detailed stepwise algorithm to do the conversion


Step 1: Start.
Step 2: Input temperature in Celsius (C).
Step 3: Convert to Fahrenheit (F) using the formula F = 9/5 * C + 32.
Step 4: Print the temperature in Fahrenheit (F).
Step 5: Stop.

Next on the basis of this step wise algorithm develop the flowchart using the
appropriate flowchart symbols as follows:

Fig 6.3

(2) Write an algorithm and flowchart to read two numbers A and B and compare
them. If
A is greater than B print, A is greater than B else print B is greater
than A. Algorithm :

Step 1: Start.
Step 2: Input values of A and B.
Step 3: Compare values of A and B (Is A >
B?).
Step 4: If yes then print “A is greater than B”.
Step 5: If no, the print “B is greater than A”.

Now draw the flowchart for the above.

Computer Fundamentals/78
Other techniques which can be useful in designing of the program are:

Modular Programming:
Using this method the entire program is divided into smaller manageable
modules so that the smaller modules can be designed, coded and debugged
separately.

Top-Down Design:
Here the overall problem is first defined in terms of general subtask. These
subtasks are divided into further sub tasks.

6.4.3 Coding:

Once the design process is complete, the actual computer program is written,
i.e. the instructions are written in a computer language. Coding is generally a very small
part of the entire program development process and also a less time consuming activity
in reality. In this process all the syntax errors i.e. errors related to spelling, missing
commas, undefined labels etc. are eliminated. For effective coding some of the
guidelines which are applied are
 Use of meaningful names and labels of variables,
 Simple and clear expressions,
 Modularity with emphasis on making modules generalized,
 Making use of comments and indenting the code properly,
 Avoiding jumps in the program to transfer control.

6.4.4 Debugging:

At this stage the errors in the programs are detected and corrected. This stage
of program development is an important process. Debugging is also known as
program validation.

Some common errors which might occur in the programs include:


 Un initialization of variables,
 Reversing of order of operands,

Computer Software, Programming Languages and Program Development /79


 Confusion of numbers and characters,
 Inverting of conditions eg jumping on zero instead of on not zero.

The tools or methods which can be used to debug the programs include:
 Simulator -This is a computer program which simulates the execution of the
program on another computer.
 Logic Analyzers: This test instrument detects the states of digital signals
during each clock cycle and stores them in memory. It then displays this data on
the monitor.
 Breakpoints: This is introduced in the program to halt the execution at
some intermediate point. At this point, the values of the various inputs, outputs,
variables etc. can be checked.
 Software interrupts: This is an instruction which saves the current value of
the program counter and then branches to a specific memory location. At this
location there is the debugging program which displays the status information.
 Memory dump: This gives a listing of the current contents of a section of
the memory. Memory dumps are common in most simulator programs, and
microcomputer systems.
 Trace routine: This program prints the current status of the processor at
specified intervals.

6.4.5 Testing (Validation):


The program is tested on a number of suitable test cases. A test plan of the
program has to be done at the stage of the program design itself. This ensures a
thorough understanding of the specifications. The most trivial and the most special cases
should be identified and tested. It is always useful to include the maximum and minimum
values of all variables as test data.

6.4.6 Documentation:
Documentation is a very essential step in the program development.
Documentation help$ the users and the people who maintain the software. This
ensures that future modification if required can be done easily. Also it is required
during redesigning and maintenance.

6.4.7 Maintenance:
Updating and correction of the program for changed
conditions and field experience is accounted for in maintenance.
Maintenance becomes essential in following situations:
- Change in specification,
- ChangelrY equipment,
- Errors which are found during the actual execution of the
program. Modularity, structured programming, thorough testing
and debugging and proper documentation greatly reduce the time
and cost of maintenance of the software.

Computer Fundamentals/80
Check your Progress - 6.4
1. Answer in 1-2 words.
a. Name any two stages in the development
of a computer program.
................................................................................................
................................................................................................
b. Name any two tools used to develop the program design,
................................................................................................
................................................................................................
c. Name and draw any two symbols used in
flowchart,
...........................................................................................................................
...........................................................................................................................
d. List any two methods used for debugging the program.
...........................................................................................................................
............................................................................................................................
e. List any two situations where the maintenance stage of program development
becomes essential.
..........................................................................................................................
...........................................................................................................................
2. Write algorithms and draw flowcharts for the
following:
a) Input the marks of five subjects of a student.
Calculate the percentage and print the grades as follows:
Grade A for 90% and above, grade B for percentage greater than or
equal to 75 and less than 90 and grade C for percentage less than 75.
b) Find the area and perimeter of a rectangle given the sides s1
and s2.

6.5 SUMMARY

A set of programs, procedures and associated documentation together


constitute the computer software. The computer software is classified as :

Application Software : These carry out specific applications like payroll, financial
accounting etc.

Systems Software : This set of programs controls the execution of the computer
system. It controls the functions of the other software’s, and hardware.

Utility software : These are program tools used in program development or to


perform limited tasks.

Firmware : These are programs available on hardware i.e. ROM


chips.

Programming languages : A language is a set of instructions which tells the


computer what to do. All languages perform the basic operations of input/output,
arithmetic and logic operations and data movement from and to the CPU.
The broad categories of programming languages are:

Computer Software, Programming Languages and Program Development /81


Machine Language : The only language understood by the computer, it is a
language of
Os and 1s. It is machine dependant and difficult for the user to
learn.

Assembly Language : Assembly language uses mnemonics to write the program


code. This is then converted into machine language by the assembler.

High Level Languages : They make use of English like words and statements and
are easy to learn. They are translated into machine language with the use of
compilers and interpreters. Some of the commonly used high level languages are
FORTRAN, BASIC, COBOL, RPG, PASCAL, C, LISP etc.

Fourth Generation Languages : These are non procedural languages. They are
normally used in conjunction of a data base and its data dictionary.

The various stages in the development of a computer


program are:
Problem Definition : Thorough understanding and identification of the problem for
which a program is to be written.

Program Design : Tools like algorithms and flowcharts are used to design the program.
The techniques employed in design are modular-programming, top-down design.

Coding : At this stage, the actual program is written using a computer


language.

Debugging : Here the errors in the program are detected and


corrected.

Testing : A test plan for the program which has been done at the design stage is
applied here to test the program on a number of suitable test cases.

Documentation : This stage ensures that further modifications, redesign and


maintenance can be made easy to the user who maintains the software.

Maintenance : Updating and correction of programs is covered in


maintenance.

Thus a computer program is not just writing code in a computer language,


but a detailed procedure of going through the various stages of definition, design, coding,
debugging, testing, documentation and maintenance.

6.6 CHECK YOUR PROGRESS-ANSWERS


6.2
1. 1 -c 2-d 3-a 4- b
2. Software means a set of programs, procedures and other
associated documentation which describes what the program
does and how it is to be used.
1 a. Machine Language, Assembly Language, High Level language, Fourth
Generation
Languages. .
b. The programs which translate the source programs into object
programs i.e machine programs are called translators, eg.
compiler.
c. The aims of 4 GL are : to develop programs faster, write
programs which can be easily modified and make them easy to
learn.

6.3 (i) - f (ii) -d (iii) -e (iv ) -a (v) -b (vi) –c

Computer Fundamentals/82
6.4
1. a) Problem definition, program design b) Algorithm, Flow chart
c) Connectors, Flow lines d) Break points, simulators e) Change in
specification, change in equipment.
2 a) Algorithm :
Step 1 : Start,
Step 2 : Input marks of five subjects (ml,m2,m3,m4,m5).
Step 3 : Calculate percentage (p = (ml -i- m2 + m3 + m4 + m5)/5).
Step 4 : Check if percentage (p) >= 90.
Step 5 : If yes, print “A grade”.
Step 6 : If no, check if percentage (p) >= 75.
Step 7 : If yes, print “B grade”.
Step 8 : If no, print “C grade”. Step 9: Stop.
Stop

b) Algorithm :
Step 1 : Start.
Step 2 : Enter the sides of the rectangle s1 and s2.
Step 3 : Calculate area (A) = s1 x s2.
Step 4 : Calculate perimeter (P) = 2 * (s1 + s2).
Step 5 : Output area (A) and perimeter (P).
Step 6 : Stop.

Computer Software, Programming Languages and Program Development /83


6.7 QUESTIONS FOR SELF - STUDY
1. Describe the kinds of software.
2. W hat is a programming language? W hat are the types of
programming languages? Describe each in brief.
3. W hat are translators? Describe the types of translators.
4. Describe in brief any two commonly used high level languages.
5. W hat are the steps in the program development? Describe any two.
6. Write short note on Algorithms and flowcharts.
7. Describe in brief the tools used for debugging computer programs.
8. Explain what is maintenance of a computer program and
when it becomes necessary.

6.8 SUGGESTED READING’S


 Computer Fundamentals
Concepts, Systems & Applications – P.K Sinha

REFERENCES

 [Link]

Computer Fundamentals/84
NOTES

Computer Software, Programming Languages and Program Development /85


NOTES

Computer Fundamentals/86
Chapter 7

Introduction to Operating Systems

7.0 Objectives
7.1 Introduction
7.2 Definition
7.3 Computer Processing Techniques,
7.4 Summary
7.5 Check your Progress - Answers
7.6 Questions for Self – Study
7.7 Suggested Reading’s

7.0 OBJECTIVES
Friends, after studying the chapter “Operating Systems” You will be able to:
 Define an operating system and understand the functions of the system
 Discuss terms like resident and transient programs, throughput, response
time etc.
 Explain the different processing techniques

7.1 INTRODUCTION
The operating system acts as an interface between the humans and the computer. the
operating system ensures smooth and efficient operation of a computer.

7. 2 DEFINITION
An Operating system is defined as an integrated set of programs which
manage the various resources and operations of a computer system. The operating
system acts as an interface between the humans and the computer. The operating
system ensures smooth and efficient operation of a computer.
 Memory management: Allocation of main memory and other storage to the
system programs and the user data and programs.
 Input/output management: Management of the input/output devices and
their assignment to the various programs that are being executed
 File management: The files have to be stored in various storage devices. They
have to be transferred from one storage device to another. This is taken care
of by the Operating System.
 Data security and integrity: The data and programs have to be handled in
such a way that they do not interfere with each other.
 Assigning priority to jobs: The operating system is the one which has to
decide and allot priority to the jobs which are to be executed.
 Interpret commands and detect errors: Each of these functions are
performed by a program or a set of programs and all the programs together
make the operating system. Normally, there is one control program of the
operating system that resides in the main memory of the computer. This
program is known as the resident program. The other programs known as
transient programs or service programs reside on the disk and are accessed as
and when required. The total amount of work performed by the operating
system over a period of time is known as throughput.
 The response time is the time interval between the time the user submits request
and the -time he receives the response. Response time is also known as

Introduction To operating Systems/87


turnaround time the efficiency of a computer system depends upon the
throughput and the response time.
 Functions of the Operating Systems : The operating systems are
designed to perform the following functions :
 Processor management: A process is a program in execution. The
processor is a hardware device which processes a sequence of instructions.
Assigning of processors to the different tasks being executed by the computer
is processor management.

Check your Progress - 7.2


1. Fill in the blanks.
a) A.............................is a program in
execution.
b) The control program of the operating system which resides in the main memory
of the
Computer i s known as the..............................
c) The total amount of work performed by the operating system over a period of time
is the.................
d) Response time is also known as........................
2. Answer in 1-2 Sentences
a. List any two functions of an operating
system.
.............................................................................................................................
..............................................................................................................................
b. On what factors does the efficiency of the operating system depend?
.............................................................................................................................

7.3 COMPUTER PROCESSING TECHNIQUES

7.3.1 Batch Processing:

In batch processing, a numbers of jobs are collected by the operator offline and
when a batch of jobs gets collected they are input to the computer for processing. The
jobs are then processed without user intervention.
Typical applications of batch processing include applications like payroll, preparation of
bills etc. where the information is not to be updated freq 5.2.2
Spooling: Spooling is used to improve the processing speed of batch processing.
Spooling means Simultaneous Peripheral Output on Line. The process of storing input
data and output results on secondary storage is known as spooling. The input data is
stored on magnetic disks and is fed to the CPU when it is not too busy. The processor
then processes the data and the resulting output is again stored on secondary storage
device. Thus in spooling, the magnetic storage media acts as a buffer between the
memory and the input/ output devices.
In many computers special purpose input/output processors which can function
independent of the CPU are provided, thus leaving the main processor free once the
program execution is over. The I/O processors then print the spooled data from the
tape or disk on the printer. Thus spooling improves the efficiency of use of memory and
CPU.

Computer Fundamentals/88
7.3.3 Multiprogramming:
In multiprogramming the CPU is capable of running more than one
program concurrently. More than one programs can reside in the main memory at any
given time, however the processor is able to execute only one instruction at a time.
The, operating speed of the CPU is much faster than that of the I/O devices. Therefore
when one program is busy with I/O operations, the CPU is able to allocate time to
other programs instead of remaining idle. Thus a number of users can share CPU time.
A number of programs can reside in the main memory of the computer system.
The place in memory where a program resides is known as partition. Depending upon the
operating system, the actual number of partitions in the memory and the number of
programs that can reside simultaneously is decided. Thus in multiprogramming it is
possible to run a number of programs in much less time than would be required to
execute them one after the other.
Multiprogramming increases both the throughput and response time of the
computer system. However operating systems which can support multiprogramming
are required to have high memory capacity and at the same time effective mechanism
of protecting the memory.

7.3.4 Multiprocessing:
In multiprocessing systems, two or more CPUs are connected together. Therefore
it is possible to execute instructions from different programs at the same time. Thus
more than one instruction can be executed simultaneously. The idle time of the
computer reduces, since there is not user intervention in between jobs.
The disadvantages of batch processing are:
 The data has to be first accumulated and then processed. Therefore there is a
possibility of delay in execution of jobs,
 It is not possible to change priority of jobs. If both jobs have the same priority,
one of them has to wait in the batch till the complete execution of the other.
Execute different instructions of the same program. Different multiprocessing
systems use different types of memory configurations. Some systems have a Common
main memory for all the CPUs, in some systems each system has its own main
memory while in still others each CPU can have its own memory as well as share a
common memory with other processors.
Multiprocessing systems require a very complex and sophisticated operating
system to coordinate all the activities of the multiple CPUs and other devices.
Multiprocessing systems are also very expensive.
7.3.5 Time Sharing:
In time sharing, it is possible for multiple users to run more than one application
at the same time on the computer. This is accomplished ;
by providing a=separate
terminal to each user. All these terminals are connected to the main computer. The GPU
time is divided among all the users on a scheduled basis. The time that each user gets
is called a time slice. The CPU switches from one user to the another, and e|^cutes a
part of the process in the time slice. This process continues till the job is executed. In time
sharing, like in multiprogramming only one program is in control of the CPU at any given
time.
In time sharing environment, it is not always possible that all the programs of
all the users reside in the main memory. Only the control program and some programs
reside in the main memory. The remaining programs are loaded from the secondary
memory as and when they are to be executed.

7.3.6 On line Processing:


In on line processing the transaction data is directly sent to secondary on-line storage
devices by the CPU without sorting, from the point where data is generated. The accessing
and retrieval of data is very fast. In these systems-devices are directly connected to the

Introduction To operating Systems/89


CPU for input or inquiry.
7.3.7 Real Time Processing:
Real time processing is an on line processing system where the records are
updated and data is processed as soon as the transaction takes place-Real time
systems allow the users to communicate with the computer during the processing
itself. Typical examples of real time systems are the air line reservation market
systems etc. In real time systems a number of terminals may be linked to a single CPU. A
number of remote stations are connected to the computer with communication lines and
several stations operate simultaneously. The transactions update records. In off line
processing, the data processing is not directly controlled by the CPU. I n minicomputers a
number of terminals are used to enter the data onto a secondary storage like a tape
or disk. The data is validated, and then entered into the main CPU in batch mode for
processing.

Check your Progress - 7.3


Match the following.
A B
(i) Batch Processing a. Multiple user, multiple applications at same time
(ii) Spooling b. Multiple CPUs connected together
(iii) Multiprogramming c. off line data collection
(iv) Multiprocessing d. Simultaneous Peripheral Output Online
(v) Time Sharing e. multiple program execution at same time

7.4 SUMMARY
An Operating System is defined as an integrated set of programs which manage
the various resources and operations of a computer system. It is the interface between
the user and the computer. The functions of the operating system are
Processor Management: It assigns the processor to the various tasks which are
being executed by the computer.
Memory Management : Allocation of main memory and other storage to all the
programs and data.
Input/output Management: Management of I/O devices and their assignment to
various programs.
File Management: Managing the storage and transfer of files from various storage
devices.
Data Security and Integrity: Ensure that data and programs do not interf ere with
one another.
Assign Priorities to various jobs which are to be executed and interpret the
various commands and detect and report errors.
A resident program is the control program of the operating system which resides
in the main memory of the computer system. Transient programs reside on secondary
storage devices and are accessed as and when required. The total amount of work
performed by the operating system over a period of time is known as throughput. The time
Interval between the time the user submits a request and receives the response is known
as response time or turnaround time. Throughput and response time determine the
efficiency of the operating system.

Computer Processing Techniques:


Batch Processing : A number of jobs are collected offline and the input to the
computer when a batch is complete. The jobs are then processed without user
intervention. In batch processing it is not possible to change the priority of jobs which
are once batched. Spooling : Spooling means Simultaneous Peripheral output on line.
The process of storing input data and output results on secondary storage dev ices is
spooling. The secondary storage media acts as a buffer between the memory and
input/output devices.

Computer Fundamentals/90
Multiprogramming: In this mode of processing, the CPU is capable of running more
than one program concurrently. Since a number of programs can reside in main
memory at any giv en time a number of users can share the CPU. Multiprogramming
increases both the throughput and efficiency of the computer system.
Multiprocessing : In a multiprocessing system two or more CPUs are connected
together. Thus more than one instruction can be executed simultaneously. It is also
possible to execute instructions from different programs at the same time.
Time Sharing : In time sharing, a separate terminal is provided for each user. All
such terminals are connected to the main computer. The CPU time is divided among
all the users.
On line Processing : In this processing, transaction data is directly sent to on-line
storage devices. Thus access and retrieval of data is very fast.
Off line Processing: In offline data processing, the data processing is not directly
controlled by the CPU. The data is first entered onto secondary storage devices like a
tape of disk. It is later validated and then entered into main CPU in a batch mode for
processing.

7.5 CHECK YOUR PROGRESS ANSWERS


7.2 1. a) Process
b) resident program
c) throughput
d) turnaround time
2. a) Memory Management, File Management
b) Throughput and Response time
7.3 (i) - c (ii) - d (iii) - e (iv) - b (v) - a

7.6 QUESTIONS FOR SELF - STUDY


1. What is an operating system?
2. Discuss the functions of the operating system.
3. Define the terms response time and throughput.
4. What are resident programs and transient programs?
5. Write short notes on Batch processing and Spooling.
6. What is multiprogramming?
7. Discuss multiprogramming
8. Differentiate between on line processing and off line processing.

7.7 Suggested Reading’s

 Computer Fundamentals

Concepts, Systems & Applications – P.K Sinha

Introduction To operating Systems/91


NOTES

Computer Fundamentals/92
Chapter 8

Popular Operating System


8.0 Objectives
8.1 Introduction
8.2 Operating System
8.3 Unix Operating System
8.4 MS-DOS-Disk Operating System
8.5 Windows XP
8.6 Windows Vista
8.7 Windows 8
8.8 Linux
8.9 Summary
8.10 Check your Progress –Answers
8.11 Questions for Self –Study
8.12 Suggested Reading’s

8.0 OBJECTIVES

Friends, this chapter gives a brief introduction of some popular operating


systems. After learning this chapter you will be able to discuss the following operating
systems
 UNIX
 MS-DOS
 Windows XP
 Windows Vista
 Windows 9
 Linux

8.1 INTRODUCTION
An operating system, which is a kind of system software and the programs of it
provides interaction between user and computer components. There are various
Operating systems available.

8.2 OPERATING SYSTEM


An operating system is a software component of a computer system that is responsible
for the management of various activities of the computer and the sharing of computer
resources. It hosts the several applications that run on a computer and handles the
operations of computer hardware. Users and application programs access the
services offered by the operating systems, by means of system calls and application
programming interfaces. Users interact with operating systems through Command Line
Interfaces (CLIs) or Graphical User Interfaces known as GUIs. In short, operating system
enables user interaction with computer systems by acting as an interface between users
or application programs and the computer hardware. Here is an overview of the different
types of operating systems.
Types of Operating System.

Real-time Operating System:


It is a multitasking operating system that aims at executing real-time
applications. Real-time operating systems often use specialized scheduling
algorithms so that they can achieve a deterministic nature of behavior. The main object
of real-time operating systems is their quick and predictable response to events. They
either have an event-driven or a time-sharing design. An event-driven system switches
between tasks based of their priorities while time-sharing operating systems switch
tasks based on clock interrupts.

Popular Operating System/93


Multi-user and Single-user Operating Systems:
The operating systems of this type allow a multiple users to access a computer
system concurrently. Time-sharing system can be classified as multi-user systems as
they enable a multiple user access to a computer through the sharing of time. Single-
user operating systems, as opposed to a multi-user operating system, are usable by a
single user at a time. Being able to have multiple accounts on a W indows operating
system does not make it a multi-user system. Rather, only the network administrator is
the real user. But for a Unix-like operating system, it is possible for two users to login at a
time and this capability of the OS makes it a multi-user operating system

Multi-tasking and Single-tasking Operating Systems:


When a single program is allowed to run at a time, the system is grouped
under a single-tasking system, while in case the operating system allows the
execution of multiple tasks at one time, it is classified as a multi-tasking operating
system. Multi-tasking can be of two types namely, pre-emptive or co-operative. In
pre-emptiv e multitasking, the operating system slices the CPU time and dedicates
one slot to each of the programs. Unix-like operating systems such as Solaris and
Linux support pre-emptive multitasking.

Distributed Operating System:


An operating system that manages a group of independent computers and
makes them appear to be a single computer is known as a distributed operating
system. The development of networked computers that could be linked and
communicate with each other, gave rise to distributed computing. Distributed
computations are carried out on more than one machine. W hen computers in a group
work in cooperation, they make a distributed system.

Embedded System:
The operating systems designed for being used in embedded computer systems
are known as embedded operating systems. They are designed to operate on small
machines like PDAs with less autonomy. They are able to operate with a limited
number of resources. They are very compact and extremely efficient by design.
Windows CE, FreeBSD and Minix 3 are some examples of embedded operating
systems.

The operating systems thus contribute to the simplification of the human


interaction with the computer hardware. They are responsible for linking application
programs with the hardware, thus achieving an easy user access to the computers.

8.3 UNIX OPERATING SYSTEM


Unix (officially trademarked as UNIX, sometimes also written as UNIX with
small caps) is a computer operating system originally developed in 1969 by a group
of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian
Kernighan, Douglas McIlroy, and Joe Ossanna. Today’s Unix systems are split into
various branches, developed over time by AT&T as well as various commercial vendors
and non-profit organizations.
UNIX operating systems are widely used in both servers and
workstations. The UNIX environment and the client-server program model were essential
elements in the development of the Internet and the reshaping of computing as centered in
networks rather than in individual computers. Both Unix and the C programming
language were developed by AT&T and distributed to government and academic
institutions, which led to both being ported to a wider variety of machine families than
any other operating system. As a result, UNIX became synonymous with “open
systems”.
UNIX was designed to be portable, multi-tasking and multi-user in a time-sharing
configuration. Unix systems are characterized by various concepts: the use of plain
text for storing data; a hierarchical file system; treating devices and certain types of
inter-process communication (IPC) as files; and the use of a large number of software
tools, small programs that can be strung together through a command line interpreter

Computer Fundamentals/94
using pipes, as opposed to using a single monolithic program that includes all of the
same functionality. These concepts are known as the Unix philosophy.
Under Unix, the “operating system” consists of many of these utilities along with
the master control program, the kernel. The kernel provides services to start and stop
programs, handles the file system and other common “low level” tasks that most
programs share, and, perhaps most importantly, schedules access to hardware to
avoid conflicts if two programs try to access the same resource or dev ice
simultaneously. To mediate such access, the kernel was given special rights on the
system, leading to the division between user-space and kernel-space.

8.3.1 Components
List of Unix programs
The Unix system is composed of several components that are normally packaged
together. By including — in addition to the kernel of an operating system — the
dev elopement environment, libraries, documents, and the portable, modifiable source-
code for all of these components, Unix was a self-contained software system. This was
one of the key reasons it emerged as an important teaching and learning tool and has
had such a broad influence. The inclusion of these components did not make the system
large — the original V7 UNIX distribution, consisting of copies of all of the compiled
binaries plus all of the source code and documentation occupied less than 10MB, and
arrived on a single 9-track magnetic tape.
The names and file system locations of the Unix components have changed
substantially across the history of the system. Nonetheless, the V7 implementation is
considered by many to have the canonical early structure:
 Kernel — source code in /user/sys, composed of several sub-components:
 conf — configuration and machine-dependent parts, including boot code
 dev — device drivers for control of hardware (and some pseudo-hardware)
 Sys — operating system “kernel”, handling memory management, process
scheduling, system calls, etc.
 h — header files, defining key structures within the system and important system-
specific invariables
Development Environment — Early versions of Unix contained a development
environment sufficient to recreate the entire system from source code:
 cc — C language compiler (first appeared in V3 Unix)
 as — machine-language assembler for the machine
 ld — linker, for combining object files
 lib — object-code libraries (installed in /lib or /usr/lib) libc, the system library with C
run-time support, was the primary library, but there have always been additional
libraries for such things as mathematical functions (libm) or database access. V7
Unix introduced the first version of the modern “Standard I/O” library stdio as part of
the system library. Later implementations increased the number of libraries
significantly.
 make — build manager (introduced in PWB/UNIX), for effectively automating the
build process
 include — header files for software development, defining standard interfaces and
system invariants
 Other languages — V7 Unix contained a Fortran-77 compiler, a programmable
arbitrary- precision calculator (bc, dc), and the awk “scripting” language, and later
versions and implementations contain many other language compilers and toolsets.
Early BSD releases included Pascal tools, and many modern Unix systems also
include the GNU Compiler Collection as well as or instead of a proprietary compiler
system.
 Commands — Unix makes little distinction between commands (user-level
programs) for system operation and maintenance (e.g. cron), commands of general
utility (e.g. grep), and more general-purpose applications such as the text formatting
and typesetting package. Nonetheless, some major categories are:
 sh — The “shell” programmable command line interpreter, the primary user
interface on Unix before window systems appeared, and even afterward (within a

Popular Operating System/95


“command window”).
 Utilities — the core tool kit of the Unix command set, including cp, ls, grep, find
and many others. Subcategories include:

 System utilities — administrative tools such as mkfs, fsck, and many others
 User utilities — environment management tools such as passwd, kill, and
others.

 Document formatting — Unix systems were used from the outset for document
preparation and typesetting systems, and included many related programs such
as nroff, troff, tbl, eqn, refer, and pic. Some modern Unix systems also include
packages such as TeX and Ghostscript.
 Graphics — The plot subsystem provided facilities for producing simple vector
plots in a device-independent format, with device-specific interpreters to display
such files. Modern UNIX systems also generally include X11 as a standard
windowing system and GUI, and many support OpenGL.
 Communications — Early UNIX systems contained no inter-system
communication, but did include the inter-user communication programs mail and
write. V7 introduced the early inter-system communication system UUCP, and
systems beginning with BSD release 4.1c included TCP/IP utilities.

 The ‘man’ command can display a manual page for any command on the system,
including itself.
 Documentation — Unix was the first operating system to include all of its
documentation online in machine readable form. The documentation included:
 man — manual pages for each command, library component, system call, header
file, etc.
 doc — longer documents detailing major subsystems, such as the C language.

8.3.2 Features of Unix Operating System


1. The Unix system had significant impact on other operating systems. It was written
in high level language rather than assembly language
2. Unix had a drastically simplified file model compared to many contemporary
operating systems, treating all kinds of files as simple byte arrays. The file system
hierarchy contained machine services and devices (such as printers, terminals, or disk
drives.
3 Making the command interpreter an ordinary user-level program, with additional
commands provided as separate programs, was another Multics innovation popularized
by Unix. The Unix shell used the same language for interactive commands as for
scripting.
[Link] time, text-based applications have also proven popular in application areas, such
as printing languages (PostScript, ODF), and at the application layer of the Internet
protocols, e.g., Telnet, FTP, SSH, SMTP, HTTP, SOAP and SIP.
[Link] popularized syntax for regular expressions that found widespread use. The Unix
programming interface became the basis for a widely implemented operating system
interface standard (POSIX, see above).
8. Unix provided the TCP/IP networking protocol on relatively inexpensive
computers, which contributed to the Internet explosion of worldwide real-time
connectivity, and which formed the basis for implementations on many other platforms.
This also exposed numerous security holes in the networking implementations.

8.3.3 Free Unix-like operating systems


In 1983, Richard Stallman announced the GNU project, an ambitious
effort to create a free software Unix-like system; “free” in that everyone who
received a copy would be free to use, study, modify, and redistribute it. The
GNU project’s own kernel development project, GNU Hurd, had not produced
a working kernel, but in 1992 Linus Torvalds released the Linux kernel as
free software under the GNU General Public License. In addition to their use in
the Linux operating system, many GNU packages — such as the GNU

Computer Fundamentals/96
Compiler Collection (and the rest of the GNU toolchain), the GNU C library
and the GNU core utilities — have gone on to play central roles in other free
Unix systems as well.
Linux distributions, comprising Linux and large collections of compatible
software have become popular both with individual users and in business. Popular
distributions include Red Hat Enterprise Linux, Fedora, SUSE Linux Enterprise,
openSUSE, Debian GNU/Linux, Ubuntu, Mandriva Linux, Slackware Linux and Gentoo.

8.4 DOS [DISK OPERATING SYSTEM]

In July 1980 IBM assigned Microsoft to develop a 18-bit operating system for
the personal computer for the fee of 188,000 dollars. Although the company Digital
Research of Gary Kildall already had with CP/M 88 such a 18-bit version, but by
circumstances no contract has been established with IBM. Microsoft did not have yet
any operating system; Microsoft licensed CP/M from Digital Research in November
1977 for 50,000 dollars.
The command interpreter is integrated in the file [Link] with the internal
commands for MS-DOS. Together with the file [Link] for simple device routines like the
access to the monitor, keyboard, fixed storage disks and interfaces as well as the
booting code these form the base operating system. DOS works very hardware near.
1988 was MS-DOS established and had reached measured on the market share
a monopoly in the DOS market. The number of the MS-DOS installations grew
worldwide to about 80 million and surpassed all other systems with that amount. Almost
every software company offered standard applications like word processing, calculation
or also special solutions like measurement tools, CAD (Computer Aided Design) or
image processing for MS-DOS. The PC manufacturers designed her systems compatible
to MS-DOS except for few manufacturers.

8.4.1 Small reference of internal DOS commands


del, erase - delete files
rd, rmdir - delete directories
dir - show content of directories
cd, chdir - change current directory cls - clear the screen
md, mkdir - create a directory copy - copy of one or several files
ren, rename - rename of files or directories type - shows the content of text files
set - shows the DOS environment variables or defines a new one ver - shows the DOS
version number
vol - shows the name of the storage drive

8.4.2 Small reference of external DOS commands


attrib - shows the attributes of files or set one of those
fdisk - partitioning or modify of the hard disk
move - move of files
mem - shows the occupancy of working memory tree - shows the directory structure
format - format of storage drives

Check Your Progress - 8.4

I. Fill in the blanks


1. Users interact with operating systems through
..........................or..........................
2. ..........................often use specialized scheduling algorithms so
that they can achieve a deterministic nature of behavior.
3. MS DOS 1.0 consists of about ..........................lines assembler code.
4. ..........................command shows the directory structure in DOS
5. ..........................Command shows the content of text file.
II Abbreviate the following
8. Personal Digital Assistant. : ..........................
7. International Business Machine. : ..........................
8. Business All Purpose Symbolic Instruction Code. : ..........................

Popular Operating System/97


8.5 WINDOWS XP

Windows XP is a line of operating systems produced by Microsoft for use


on personal computers, including home and business desktops, laptops, and media
centers. The name “XP” is short for “experience”. Windows XP is the successor to
both Windows 2000

8.5.1 Editions of Windows


XP
The two major editions are Windows XP Home Edition, designed for home
users, and Windows XP Professional, designed for business and power-users. XP
Professional contains advanced features that the average home user would not
use. However, these features are not necessarily missing from XP Home. They are
simply disabled, but are there and can become functional. These releases were
made available at retail outlets that sell computer software, and were preinstalled
on computers sold by major computer manufacturers.
Microsoft also released Windows XP Embedded, an edition for specific
consumer electronics, set-top boxes, kiosks/ATMs, medical devices, arcade video
games, point-of-sale terminals, and Voice over Internet Protocol (VoIP)
components. In July 2008, Microsoft released Windows Fundamentals for Legacy
PCs, a thin client version of Windows XP Embedded which targets older machines
(as early as the original Pentium). It is only available to Software Assurance
customers. It is intended for corporate customers who would like to upgrade to
Windows XP to take advantage of its security and management capabilities, but
can’t afford to purchase new hardware.

Languages
Windows XP is available in many languages. In addition, MUI packs and Language
Interface Packs translating the user interface are also available for certain
languages.

ATMs
Automated teller machine (ATM) vendors NCR Corporation and Diebold
Incorporated have both adopted Microsoft Windows XP as their migration path from
OS/2. Diebold initially shipped XP Home Edition exclusively, but, following extensive
pressure from customer banks to support a common operating system, switched to
support XP Professional to match their primary competitor, NCR Corporation

8.5.2 New and updated features Features new to Windows XP


Windows XP introduced several new features to the Windows line, including:

Computer Fundamentals/98
 Faster start-up and hibernation
sequences
 The ability to discard a newer device driver in favor of the previous one (known
as driver rollback), should a driver upgrade not produce desirable results
 A new, arguably more user-friendly interface, including the framework for
developing themes for the desktop environment
 Fast user switching, which allows a user to save the current state and open
applications of their desktop and allow another user to log on without losing that
information
 The ClearType font rendering mechanism, which is designed to improve text
readability on Liquid Crystal Display (LCD) and similar monitorsU
 Remote Desktop functionality, which allows users to connect to a computer
running Windows XP Pro from across a network or the Internet and access their
applications, files, printers, and devices.
 Support for most DSL modems and IEEE 802.11 connections, as well as
networking over FireW ire, and Bluetooth.

8.5.3 User interface


Windows XP features a new task-based graphical user interface. The Start
menu and
Windows indexing service were redesigned and many visual effects were added,
including:
 A translucent blue selection rectangle in
Explorer
 Drop shadows for icon labels on the

Popular Operating System/99


desktop
 Task-based sidebars in Explorer windows (“common
tasks”)
 The ability to group the taskbar buttons of the windows of one application into
one button
 The ability to lock the taskbar and other toolbars to prevent accidental
changes
 The highlighting of recently added programs on the Start
menu
 Shadows under menus (Windows 2000 had shadows under mouse pointers,
but not menus)
The Windows 2000 “classic” interface can be used instead if preferred.
Several third party utilities exist that provide hundreds of different visual styles.
Microsoft licensed technology from Window Blinds creator Star dock to create its
visual styles in XP.

8.5.4 System requirements

Fig 8.2
Designed for Windows XP computer hardware logo

System requirements for Windows XP Home and Professional editions


as follows:
For many workloads that involve Web browsing, e-mail, and
other activities, 84 MB of RAM will provide [the] user experience
equivalent or superior to that of Windows Me running on the same
hardware.”

8.5.5 Service packs


Microsoft occasionally releases service packs for its Windows operating
systems to fix problems and add features. Each service pack is a superset of all
previous service packs and patches so that only the latest service pack needs to be
installed, and also includes new revisions. Older service packs need not be removed
before application of the most recent one. The service pack details below only apply
to the 32-bit editions. Windows XP Professional x84 Edition was based on Windows
Server 2003 Service Pack 1 and claimed to be “SP1” in system properties from the
initial release. It is updated by the same service packs and hot fixes as the x84
edition of Windows Server 2003.

Service Pack 1

Set Program Access and Defaults was added in Service Pack 1.

Service Pack 1 (SP1) for Windows XP was released on September 9, 2002.


It contains post-RTM security fixes and hot-fixes, compatibility updates, optional
.NET Framework support, enabling technologies for new devices such as Tablet
PCs, and a new Windows Messenger 4.7 version. The most notable new features
were USB 2.0 support and a Set Program Access and Defaults utility that aimed at
hiding various middleware products. Users can control the default application for
activities such as web browsing and instant messaging, as well as hide access to
some of Microsoft’s bundled programs. This utility was first brought into the older

Computer Fundamentals/100
Windows 2000 operating system with its Service Pack 3. This Service Pack
supported SATA and hard drives that were larger than 137GB (48-bit LBA support)
by default.

Service Pack 2

Windows Security Center was added in Service Pack 2.

Windows XP, including a firewall, improved Wi-Fi support, such as W PA


encryption compatibility, with a wizard utility, a pop-up ad blocker for Internet
Explorer 8, and Bluetooth support. The new welcome screen during the kernel boot
removes the subtitles “Professional”, “Home Edition” and “Embedded” since
Microsoft introduced new Windows XP editions prior to the release of SP2. The
green loading bar in Home Edition and the yellow one in Embedded were replaced
with the blue bar, seen in Professional and other versions of Windows XP, making
the boot-screen of operating systems resemble each other. Colors in other areas,
such as Control Panel and the Help and Support tool, remained as before. Service
Pack 2 also added new security enhancements, which included a major revision to
the included firewall that was renamed to Windows Firewall and is enabled by
default, additionally; security- related improvements were made to e-mail and web
browsing. Windows XP Service Pack 2 includes the Windows Security Center,
which provides a general overview of security on the system, including the state of
antivirus software, Windows Update, and the new Windows Firewall. Third-party
anti-virus and firewall applications can interface with the new Security Center.

Service Pack 3

Windows XP Service Pack 3 (SP3) was released to manufacturing on April


21, 2008 and to the public via both the Microsoft Download Center and Windows
Update on May 8, 2008. It began being automatically pushed out to Automatic
Update users on July 10, 2008. A feature set overview which details new features
available separately as standalone updates to Windows XP, as well as back ported
features from Windows Vista has been posted by Microsoft. A total of 1,174 fixes
have been included in SP3. Service Pack 3 can be installed on systems with
Internet Explorer versions 8 or 7.

Check Your Progress - 8.5


Fill in the blanks
1. The two major editions of W indows XP are .....................and .....................
2. W indows XP’s .....................edition are used in laptops and notebooks.
3. Service Pack 1 (SP1) for W indows XP was released on .....................
4. Service Pack 3 can be installed on systems with Internet Explorer .....................
5. .....................GB Hard disk or higher is required for loading Windows XP.

8.6 WINDOWS VISTA


8.6.1 New or changed features
Windows Vista revised and incorporated new features and functionalities not
present in its predecessors, especially those from W indows XP.

Windows Aero:
The new hardware-based graphical user interface is named Windows Aero,
which Jim Allchin stated is an acronym for Authentic, Energetic, Reflective, and
Open. The new interface is intended to be cleaner and more aesthetically pleasing
than those of previous Windows versions, including new transparencies, live
thumbnails, live icons, and animations, thus providing a new level of eye candy.

Popular Operating System/101


Laptop users report, however, that battery life is shortened with the feature enabled.
 Windows Shell:
The new Windows shell is significantly different from Windows XP, offering a
new range of organization, navigation, and search capabilities. Windows
Explorer’s task pane has been removed, integrating the relevant task options into
the toolbar. A “Favorite links” pane has been added, enabling one-click access to
common directories. The address bar has been replaced with a breadcrumb
navigation system. The preview pane allows users to see thumbnails of various
files and view the contents of documents. The details pane shows information
such as file size and type, and allows viewing and editing of embedded tags in
supported file formats. The Start menu has changed as well; it no longer uses
ever-expanding boxes when navigating through Programs. The word “Start” itself
has been removed in favor of a blue Windows Pearl.

 Instant Search:
Windows Vista features a new way of searching called Instant Search, which is
significantly faster and more in-depth (content-based) than the search features
found in any of the previous versions of Windows.

 Windows Sidebar:
A transparent panel anchored to the side of the screen where a user can place
Desktop Gadgets, which are small applets designed for a specialized purpose
(such as displaying the weather or sports scores). Gadgets can also be placed on
other parts of the desktop.

 Windows Internet Explorer 7:


New user interface, tabbed browsing, RSS, a search box, improved printing,
Page Zoom, Quick Tabs (thumbnails of all open tabs), Anti- Phishing filter, a
number of new security protection features, Internationalized Domain Name
support (IDN), and improved web standards support. IE7 in Windows Vista runs
in isolation from other applications in the operating system (protected mode);
exploits and malicious software are restricted from writing to any location beyond
Temporary Internet Files without explicit user consent.

 Windows Media Player 11, a major rev amp of Microsoft’s program for playing
and organizing music and video. New features in this version include word
wheeling (or “search as you type”), a new GUI for the media library, photo display
and organization, the ability to share music libraries over a network with other
Windows Vista machines, Xbox 380 integration, and support for other Media
Center Extenders.
 Backup and Restore Center: Includes a backup and restore application that
gives users the ability to schedule periodic backups of files on their computer, as
well as recovery from previous backups. Backups are incremental, storing only
the changes each time, minimizing disk usage. It also features Complete PC
Backup (available only in Ultimate, Business, and Enterprise versions) which
backs up an entire computer as an image onto a hard disk or DVD. Complete PC
Backup can automatically recreate a machine setup onto new hardware or hard
disk in case of any hardware failures. Complete PC Restore can be initiated from
within Windows Vista or from the Windows Vista installation CD in the event the
PC is so corrupt that it cannot start up normally from the hard disk.
 Windows Mail: A replacement for Outlook Express that includes a new mail
store that improves stability, and features integrated Instant Search. It has the
Phishing Filter like IE7 and Junk mail filtering that is enhanced through regular
updates via Windows Update.

Windows Mobility Center:


 Windows Mobility Center is a control panel that centralizes the most relev ant

Computer Fundamentals/102
information related to mobile computing (brightness, sound, battery level / power
scheme selection, wireless network, screen orientation, presentation settings,
etc.).
 Windows Meeting Space replaces NetMeeting. Users can share applications
(or their entire desktop) with other users on the local network, or over the
Internet using peer-to-peer technology (higher versions than Starter and Home
Basic can take advantage of hosting capabilities, Starter and Home Basic
editions are limited to “join” mode only)

 Shadow Copy automatically creates daily backup copies of files and folders.
Users can also create “shadow copies” by setting a System Protection Point
using the System Protection tab in the System control panel. The user can be
presented multiple versions of a file throughout a limited history and be
allowed to restore, delete, or copy those versions. This feature is available
only in the Business, Enterprise, and Ultimate editions of Windows Vista and is
inherited from Windows Server 2003.
Windows Update with Windows Ultimate Extras
 Windows Update: Software and security updates have been simplified, now
operating solely v ia a control panel instead of as a web application. Windows
Mail’s spam filter and Windows Defender’s definitions are updated
automatically via Windows Update. Users who choose the recommended
setting for Automatic Updates will have the latest drivers installed and
available when they add a new device.
 Parental controls: Allows administrators to control which websites, programs
and games each Limited user can use and install. This feature is not included
in the Business or Enterprise editions of Vista.
 Windows SideShow: Enables the auxiliary displays on newer laptops or on
supported Windows Mobile devices. It is meant to be used to display device
gadgets while the computer is on or off.
 Speech recognition is integrated into Vista. It features a redesigned user
interface and configurable command-and-control commands. Unlike the
Office 2003 version, which works only in Office and WordPad, Speech
Recognition in Windows Vista works for any accessible application. In
addition, it currently supports several languages: British and American
English, Spanish, French, German, Chinese (Traditional and Simplified) and
Japanese.
 New fonts, including several designed for screen reading, and improved
Chinese (Yahei, JhengHei), Japanese (Meiryo) and Korean (Malgun) fonts.
ClearType has also been enhanced and enabled by default.
 Improved audio controls allow the system-wide volume or volume of
individual audio dev ices and even indiv idual applications to be controlled
separately. New audio functionalities such as Room Correction, Bass
Management, Speaker Fill and Headphone virtualization have also been
incorporated.
 Problem Reports and Solutions, a control panel which allows users to view
previously sent problems and any solutions or additional information that is
available.
 Windows System Assessment Tool is a tool used to benchmark system
performance. Software such as games can retrieve this rating and modify its
own behavior at runtime to improve performance. The benchmark tests CPU,
RAM, 2-D and 3-D graphics acceleration, graphics memory and hard disk
space.
 Windows Ultimate Extras: The Ultimate edition of Windows Vista provides, via
Windows Update, access to some additional features. These are a collection of

Popular Operating System/103


additional MUI language packs, Texas Hold ‘Em (a Poker game) and Microsoft
Tinker (a strategy game where the character is a robot), BitLocker and EFS
enhancements which allow users to back up their encryption key online in a
Digital Locker, and Windows Dream scene, which enables the use of videos in
MPEG and W MV formats as the desktop background. On April 21, 2008,
Microsoft launched two more Ultimate Extras; three new Windows sound
schemes, and a content pack for Dream scene. Various Dream Scene Content
Packs have been released since the final version of Dream Scene was
released.

 Reliability and Performance Monitor includes various tools for tuning and
monitoring system performance and resources activities of CPU, disks,
network, memory and other resources. It shows the operations on files, the
opened connections, etc.
 Removed Features
Some notable Windows XP features and components have been replaced or
removed in Windows Vista, including Windows Messenger, NTBackup, the
network Messenger Service, HyperTerminal, MSN Explorer, Active Desktop,
and the replacement of NetMeeting with Windows Meeting Space. Windows
Vista also does not include the Windows XP “Luna” visual theme, or most of
the classic color schemes which have been part of Windows since the
Windows 3.x era. The “Hardware profiles” startup feature has also been
removed, along with support for older motherboard technologies like the EISA
bus, APM and Game port support (though on the 32-bit version game port
support can be enabled by applying an older driver). IP over FireWire (TCP/IP
over IEEE 1394) has been removed as well. The IPX/ SPX Protocol has also
been removed, although it can be enabled by a third-party plug-in.

Check Your Progress - 8.6


State whether the following statements true or false
1. Windows Vista includes version 3.0
of the .NET Framework,
2. W indows Vista features a new way of
searching called Quick Search.
3. Parental controls allows administrators to control
which websites, programs and games each Limited
user can use and install.
4. Speech recognition system is
not integrated into Vista.
5. W indows vista has provided, a companion program
to Windows Movie Maker that provides the ability to
create video DVDs based on a user’s content.

8.7 WINDOWS 8
Windows 8 is a version of Microsoft Windows (an operating
system developed by Microsoft) for use on personal computers, including home and
business desktops, laptops, tablets, and home theater PCs. Development of Windows 8
started before the release of its predecessor, Windows 7, in 2009.
Windows Explorer, which has been renamed File Explorer, now
includes a ribbon in place of the command bar. File operation dialog boxes have
been updated to provide more detailed statistics, the ability to pause file transfers,
and improvements in the ability to manage conflicts when copying files. A new "File
History" function allows incremental revisions of files to be backed up to and
restored from a secondary storage device, while Storage Spaces allows users to
combine different sized hard disks into virtual drives and specify mirroring,
parity, or no redundancy on a folder-by-folder basis.

Computer Fundamentals/104
Task Manager has also been redesigned, including a new processes tab
with the option to display fewer or more details of running applications and
background processes, a heat map using different colors indicating the level of
resource usage, network and disk counters, grouping by process type (e.g.
applications, background processes and Windows processes), friendly names for
processes and a new option which allows users to search the web to find information
about obscure processes. Additionally, the Blue Screen of Death has been updated
with a simpler and modern design with less technical information displayed

Removed Features

Several notable features have been removed in Windows 8, beginning with


the traditional Start menu. Support for playing DVDs has been removed
from Windows Media Player due to the cost of licensing the necessary decoders
(especially for devices which do not include optical disc drives at all) and the
prevalence of streaming services such as Netflix. For the same reasons, Windows
Media Center will no longer be included by default on Windows 8, but the software
(which also includes support for DVD playback) can be purchased in the "Pro Pack"
(for the base version of Windows 8, which also upgrades the system to Windows 8
Pro) or "Media Center Pack" (for Windows 8 Pro) add-ons. Windows 8 will still
support third-party DVD playback software.

Backup and Restore, the former backup app of Windows, is deprecated. It


still ships with Windows 8 and continues to work on preset schedules, but is pushed
to the background and can only be accessed through a Control Panel applet called
"Windows 7 File Recovery”. Shadow, a component of Windows Explorer that
once saved previous versions of changed files, no longer protects local files
and folders. It can only access previous versions of shared files stored on
a Windows Server computer. The subsystem, on which these components
worked, however, is still available for other software to use.

8.8 LINUX OPERATING SYSTEM

Linux (commonly pronounced) is a generic term referring to Unix-like


computer operating systems based on the Linux kernel. Their development
is one of the most prominent examples of free and open source software
collaboration; typically all the underlying source code can be used, freely
modified, and redistributed by anyone under the terms of the GNU GPL and
other free software licenses.
Linux is predominantly known for its use in servers, although it is installed
on a wide variety of computer hardware, ranging from embedded devices
and mobile phones to supercomputers. Linux distributions, installed on both
desktop and laptop computers, have become increasingly commonplace in
recent years, partly owing to the popular Ubuntu distribution and the
emergence of net books. The name “Linux” ( listen (help·info)) comes from
the Linux kernel, originally written in 1991 by Linus Torvalds

8.8.1 User interface


Users can control a Linux-based system through a command line
interface (or CLI), a graphical user interface (or GUI), or through controls
attached to the associated hardware (this is common for embedded

Popular Operating System/105


systems). For desktop systems, the default mode is usually graphical user
interface.
A Linux system typically provides a CLI through a shell, which is the
traditional way of interacting with a Unix system. A Linux distribution
specialized for servers may use the CLI as its only interface. A “headless
system” run without even a monitor can be controlled by the command line
via a remote-control protocol such as SSH or telnet.
Most low-level Linux components, including the GNU user land, use
the CLI exclusively. The CLI is particularly suited for automation of repetitive
or delayed tasks, and provides v ery simple inter-process communication. A
graphical terminal emulator program is often used to access the CLI from a
Linux desktop.

8.8.2 Servers and supercomputers

Fig 8.3

Linux distributions have mainly been used as server operating


systems, and have risen to prominence in that area.
Components of IBM Roadrunner, the world’s fastest supercomputer
2008, which runs Linux. Linux distributions are the cornerstone of the LAMP
server-software combination (Linux, Apache, MySQL, Perl/PHP/Python)
which has achieved popularity among developers, and which is one of the
more common platforms for website hosting.
Linux distributions are also commonly used as operating systems
for supercomputers: as of June 2009, out of the top 500 systems, 443
(88.8%) run a Linux distribution.

8.9 SUMMARY

An operating system is a software component of a computer system


that is responsible for the management of various activities of the computer
and the sharing of computer resources. There are meagerly 5 types of
Operating System Real-time Operating System, Multi-user and Single-user
Operating Systems, Multi-tasking and Single-tasking Operating Systems
Distributed Operating System, Embedded System.
1. Unix was designed to be portable, multi-tasking and multi-user in a time-
sharing configuration. Unix systems are characterized by various concepts:
the use of plain text for storing data; a hierarchical file system; treating
devices and certain types of inter-process communication (IPC) as files; and
the use of a large number of software tools, small programs that can be
strung together through a command line interpreter using pipes, as opposed
to using a single monolithic program that includes all of the same
functionality.

2. Disk Operating System works very hardware near, The command


interpreter is integrated in the file [Link] with the internal commands
for MS-DOS. MS- DOS established and had reached measured on the

Computer Fundamentals/106
market share a monopoly in the DOS market. The number of the MS-DOS
installations grew worldwide to about 80 million and surpassed all other
systems with that amount. Almost every software company offered standard
applications like word processing, calculation or also special solutions like
measurement tools, CAD (Computer Aided Design) or image processing for
MS-DOS.
3. Windows XP is a line of operating systems produced by Microsoft for
use on personal computers, including home and business desktops,
laptops, and media centers. The two major editions are Windows XP Home
Edition, designed for home users, and Windows XP Professional, designed
for business and power-users. Microsoft occasionally releases service
packs for its Windows operating systems to fix problems and add features.
Each service pack is a superset of all previous service packs and patches
so that only the latest service pack needs to be installed, and also includes
new revisions. Older service packs need not be removed before application
of the most recent one.
4. Windows Vista is a line of operating systems developed by Microsoft for
use on personal computers, including home and business desktops, laptops,
tablet PCs, and media center PCs. W indows XP, the longest time span
between successive releases of Microsoft Windows desktop operating
systems.
5. Linux (commonly pronounced) is a generic term referring to Unix-like
computer operating systems based on the Linux kernel. Linux distributions,
installed on both desktop and laptop computers, have become increasingly
commonplace in recent years, partly owing to the popular Ubuntu distribution
and the emergence of notebooks.

8.10 QUESTIONS FOR SELF - STUDY


8.3
1. True 2. False 3. False 4. True 5. True 8. True
8.4
I
1. Command Line Interfaces (CLIs) or Graphical User Interfaces
2. Real-time Operating system.
3. 1000
4. Mem
5. Type
II. 1. PDA 2. IBM 3. BASIC

8.5 1. Home Edition and W indows XP Professional.


2. Table PC Edition.
3. September 9,2002
4. Versions 8 or 7
5. 1.5 GBs

8.6
1. True
2. False
3. True
4. False
5. True
8.10 QUESTIONS FOR SELF - STUDY

I. Answer the following Questions

Popular Operating System/107

You might also like