(IJCST-V8I5P11) :dr. Mamillapally Raghavender Sharma

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

RESEARCH ARTICLE OPEN ACCESS

Theoretical Concepts of a Computer Machine and Its


Importances: A Survey
Dr. Mamillapally Raghavender Sharma
Assistant Professor, Department of Statistics, University College of Science,
Osmania University, Hyderabad, Telangana - India

ABSTRACT
The industry and society requirements and technologies have been steadily and rapidly increasing. The technological
advancement witnessed in the computer industry is the result of a long chain of immense and successful efforts made by two
major forces are: academia, and the industry. Organizational domains are increasingly opting for open source systems. Due to
that reason computers are used as control systems for a wide variety of industrial and consumer services. Computer systems have
conventionally been defined through their interfaces at a number of layered abstraction levels, each providing functional support
to its predecessor. Tremendous computer history was started with the invention of a machine called abacus by Chinese in around
before 3000 years in Babylonia. After that time period, conceptual changes were not made until 16th century. In the period, 19th
century Jacquard invented an automatic loom operated by a mechanism which was operated using punched cards technique. At
the same time, a device which was provision to modern computer developed by Charles Babbage a mathematician and computer
pioneer in same century. This provides a base for modern computer. More sophisticated electrical machines did specialized
analog calculations in the early 20th century. In this paper, we discuss main important rudimentary foundations of a traditional
and modern computer.
Keywords—Computer, Processor, Abacus, Jacquard Loom, Input, Process, Output, BIOS, Compiling, Optimization, algorithm,
Sophisticated, Flowchart

I. INTRODUCTION
The first known use of the word “computer” was in 1643 in components, and the performance specifies the behavior of
a book called “The Young Mans Gleanings”. Abacus also the computer system.
called a counting frame is used for to do systematic
calculations. After many inventions in 19th century Charles
Babbage developed his differential and analytical engine. This
device had provisions for inputting the data, performing
arithmetic operations, printing output results, and storing the
data. It resembles the exact architecture of recent computer.
That’s why he is called father of modern computer. We are all
familiar with calculations in our day-to-day life. We apply
mathematical operations like addition, subtraction,
multiplication, and division etc. and many other formulae for
calculations. Simple calculations take less time to complete.
But complex calculations take much longer time. Similarly
another factor is accuracy in calculations. So, man explored
with the idea to develop a machine, which can perform all
arithmetic calculation faster with full accuracy and perform
special tasks at a very high speed of operation. This gave birth
to a machine called ‘computer’. The term Computer is derived
from ‘compute’ which means ‘to calculate’. Fig. 1. Functional diagram of a generalized computer
You have already experienced the impact of computers in
our day to-day life. Now-a-days computers are used in every A computer can be compared with a magic box, which
field. Reservation of tickets in air lines and railways, payment serves different purpose to different people. During the
of telephone and electricity bills, deposits and withdrawals of processing the computer has to perform various functions
money from banks, business data processing, medical such as receives data (input), processes data (processing),
diagnosis, Weather forecasting, etc. are some of the areas and produces desired result (output) and stores results
where computer has become extremely useful. A different (storage) in the memory to retrieve in the future [1], [2]. The
definition of computer architecture is built on four basic computer gives impression that it is a calculating machine but
viewpoints. These are the structure, the organization, the really computer can do several jobs other than calculations.
implementation, and the performance. In this definition, the Though a computer can do several jobs, but it can’t do on its
structure defines the interconnection of various hardware own decision. A computer user should instruct the computer
components, the organization defines the dynamic interplay in order to achieve some specific goal. Moreover, a computer
and management of the various components, the is a combination of hardware and software, which are used for
implementation defines the detailed design of hardware processing and storing the data. Data, the plural form of

ISSN: 2347-8578 www.ijcstjournal.org Page 61


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

datum refers to raw material, observations, figures, and computer and makes it easier and more efficient to use the
statistics that are often without meaning. computer. In other hand, application software is designed to
perform people-related tasks such as payroll, inventory, and
• Inputting sales analysis. A programs by which perform the predefined
• Processing instruction in machine memory called firmware. Examples of
firmware are ROM, PROM, EPROM etc. And human beings
• Outputting who are used the computer are called human ware.
It gets the data through an input device, processes the data
using processor, and gives the desired output using output A. Advantagesand Disadvantages of computers
device. A computer can be defined as “A computer is a Computer plays a vital role in processing of data in an
versatile electronic device which takes the data from external organization or a field. Computers help in processing volume
world using input devices, processing that data into useful of data efficiently and accurately within short period of time
information with the help of a processor, and produce the [3].
results as our requirement.”
The characteristics which make a computer indispensable
In a computer terminology some technical terms are: are:
Table. 1. Technical terms 1. Speed
The computer is able to process the data and gives the
TERM MEANING output in fractions of seconds, such that required information
Data Set of basic raw facts is given to the user on time enabling the user to take right
decisions on right time. A powerful computer is capable of
Information Processed, meaningful data executing about 3 million calculations per second.
Instruction A command given to 2. Accuracy
computer in order to perform The accuracy of computer defines as which avoids errors
specific task in calculations and gives exact results. If in an output we get
Inputting Enter the data into computer errors, these errors are due to errors in instructions given by
the programmer, i.e. a computer follows garbage-in-garbage-
Processing Manipulation of information out principle.
Outputting Getting final results in the 3. Reliable
form of our desire after The output generated by the computer is very reliable, but
processing it is reliable only when the data, which is passing as input to
the computer and the program, which gives instructions are
Bus Group of Wires, used for correct.
transfer data between
registers. It can be divided 4. Storage Capacity
into three types: Data bus, The computer has a provision to store large volumes of
Control Bus, Address Bus data in the small storage devices, which have capacity to store
huge amounts of data and help the retrieval of data in an easy
Data Bus Used to move the Data in a task.
computer
5. Versatility
Address Bus To move Address or Memory Computers are very versatile machines. Computers are
location capable of performing almost many tasks at a time, provided
Control Bus To send Control Signals the task can be reduced to a series of logical steps.
between various parts of a 6. Atomicity
computer Once the instructions fed into computer it works
automatically without any human intervention until the
Every computer consists of basic elements such as completion of execution of program or meets logical
Hardware, Software, Firmware, and Human ware. Physical instructions to terminate the job.
components of a system are called as hardware. The hardware 7. Diligent
wound not work without set of programs. Hardware is little A computer is free from tiredness, lack of concentration,
different to any other complex piece of electronic machinery. fatigue, etc. It can work for hours without creating any error.
The set of programs which control the activities of computer If millions of calculations are to be performed, a computer
system or which may be processed on computer to do some will perform every calculation with the same accuracy. Due to
useful work is called as software. this capability it overpowers human being in routine type of
The software directs and guides the each part of computer work.
system including CPU. In other words, software means 8. Communication
collection of programs whose objective is to enhance the A computer communicates with other systems even in
capabilities of hardware. Software can be classified as: system remote places.
software, and application software. System software controls
and monitors the various activities and resources of a Disadvantages

ISSN: 2347-8578 www.ijcstjournal.org Page 62


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

Computers can success in every field of modern era. But Analog computers are used in situation where data not to be
computers have some limitations. transferred into bits.
Dependency: Computers cannot think on its own decision. Digital computers: Today most of all computers are come
Human beings should instruct them in order to make work under this category. These types of computers mainly
them. programmed for represent and store the data in discrete
values. Computers use binary system to store the data and
No I.Q: Computers cannot have an I.Q i.e. they cannot learn information. Although, human being enters the data in
from past experience on its own. decimal form computer can convert that data into binary form.
Environment: The operating environment of the computer They use digital circuits and are designed to operate on two
should be dust free and suitable. states, namely bits 1 and 0. They are analogous to states ON
and OFF. Data in this type of computers is represented as a
No Feeling: Computers have any feelings or emotions. And it series of 0s and 1s. Digital computers are suitable for complex
cannot make judgment on feeling, taste, experience, and computations and have higher processing speeds. Digital
knowledge unlike humans. computers are either general purpose computers or special
purpose ones. If there are discrete values in input values then
B. Classifications of computers digital computers are used which means data is transmitted
The classification of computers is based on the following for its operation in the form discrete signals (or discontinuous
four criteria [2], [4]. signal). Examples of digital computers include the Mac Book,
IBM PC, the Apple Macintosh as well as modern smart
1) According to purpose: according to purpose, phones.
computers divided into following two groups.
Hybrid computers: These computers are mainly used in AI
General purpose: These computers are theoretically used (Artificial Intelligence), robotics, and other computer aided
for any type of applications i.e. not only for specific goal but manufacturing such as process control. This category of
also for all purposes. These computers can be used in solving computers corporate into technology of both analog and
a business problem and also used to solve mathematical digital computers functions and operations. This category
equation with same accuracy and consistency. Most of the computers store and process analog signals using analog-
computers used now-a-days are general purpose digital digital converters and digital signals using digital-analog
computers. Personal computers, including desktops, converters. These computers are a combination of both digital
notebooks, smart phones and tablets, are all examples of and analog computers. In this type of computers, the digital
general-purpose computers. Computers that follow segments perform process control by conversion of analog
instructions for general requirements such as sales analysis, signals to digital ones. Example for a hybrid computer system
financial accounting, inventory and management information is a cement plant where all calculations are made by digital
etc. in modern era, almost all computers which are used in systems (digital computers) and accordingly action such as
fields such as commercial, educational, and the applications increase of certain material in the furnace and
are general-purpose are treated as general purpose computers. increase/decrease of fuel for temperature is performed by the
Special purpose: Computers which are used for to help of analog system.
do special tasks such as scientific, research applications,
weather forecasting, medical diagnostics etc. are comes under
special purpose computers. Examples for special purpose
computers are: home appliances, toys and games, cash
machines, and vehicle computers.
2) According to technology used: according to technology
(operational function) used computers are grouped into three
categories.
Analog computers: Analog computers are special purpose
computers which are programmed for measuring physical
quantities that represent and store the data in continuously
varying physical quantities such as electricity, voltage, or
frequency. These computers are mainly used in engineering,
and scientific applications. Example: thermometer, and
speedometer. Means a analog computer that performs
arithmetical operation by measurable quantities, such as
mechanical movement, the rotation of gears rather than by
number. The word analog is derived from the Greek ana-
Fig. 2. Computer types according to technology
logon, meaning "according to a ratio". These are almost
extinct. An analog computer can perform several 3) According to memory and size: according to this
mathematical operations simultaneously also. Everything we category, computers are divided into five types.
see and hear is change continuously. In Analog computers,
data is transmitted for its operation in the form of continuous Micro computers: Microcomputers are the smallest
signals. Examples of analog computer are Speedometer, category of computers consisting of a microprocessor and
resistance of capacitor, frequency of signal and voltage etc. associated storage and I/O elements. These are designed to be

ISSN: 2347-8578 www.ijcstjournal.org Page 63


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

used by single user oriented operating system i.e. one user per Personal Digital Assistants (PDAs): It is a handheld
a session. A computer with a microprocessor and its central computer and popularly known as a palmtop. It has a touch
processing unit is known as a microcomputer. Inside the screen and a memory card for storage of data. PDAs can also
microcomputer, the arithmetic and control unit is combined be used as portable audio players, web browsers and smart
on a single chip called a microprocessor. They do not occupy phones. Most of them can access the Internet by means of
much space. Microcomputers are considered to be two types; Bluetooth or Wi-Fi communication.
PC and work stations. PC varieties are desktop, tower,
portable computers that can run easy-to-use programs such as Tablet Computers: Tablets are mobile computers that are
word processing or spreadsheets. A monitor, a keyboard and very handy to use. They use the touch screen technology.
other similar input-output devices, computer memory in the Tablets come with an onscreen keyboard or use a stylus or a
form of RAM and a power supply unit come packaged in a digital pen. Apple’s iPad redefined the class of tablet
microcomputer. These computers can fit on desks or tables computers.
and prove to be the best choice for single-user tasks.
Large computers: These types of computers are having
Mini computers: Mini computers provide the facility of high storage capability and high operation capability to
more storage capacity and communication link between users. support many powerful peripheral devices. Example:
When compare with micro computers minicomputers fast in mainframe computers. Large organizations use mainframes
operation. These are designed for use multiple user oriented for highly critical applications such as bulk data processing
operating system. In terms of size and processing capacity, and ERP. Most of the mainframe computers have capacities to
minicomputers lie in between mainframes and host multiple operating systems and operate as a number of
microcomputers. Minicomputers are also called mid-range virtual machines. They can substitute for several small
systems or workstations. The term began to be popularly used servers. Mainframes are very large computers with a very
in the 1960s to refer to relatively smaller third generation high capacity of main store. Because they can process large
computers. They took up the space that would be needed for a amounts of data are very quickly; big companies, banks,
refrigerator or two and used transistor and core memory government departments as their main computer use them.
technologies. The 12-bit PDP-8 minicomputer of the Digital They can be linked into a network with smaller departmental
Equipment Corporation was the first successful computers. Microcomputers or with each-other. They act as
minicomputer. hosts of larger national and international communication
Wearable Computers: A record-setting step in the evolution networks, handling hundreds of users at same time. Some
of computers was the creation of wearable computers. These examples of mainframes are IBM 4381, ICL (International
computers can be worn on the body and are often used in the Computers Limited) 39 series and CDC (Control Data
study of behavior modeling and human health. Military and Corporation) cyber series.
health professionals have incorporated wearable computers Servers: They are computers designed to provide services to
into their daily routine, as a part of such studies. When the client machines in a computer network. They have larger
users’ hands and sensory organs are engaged in other storage capacities and powerful processors. Running on them
activities, wearable computers are of great help in tracking are programs that serve client requests and allocate resources
human actions. Wearable computers do not have to be turned like memory and time to client machines. Usually they are
on and off and remain in operation without user intervention. very large in size, as they have large processors and many
Medium computers: hard drives. They are designed to be fail-safe and resistant to
crash.
Desktops: A desktop is intended to be used on a single
location. The spare parts of a desktop computer are readily
available at relatively lower costs. Power consumption is not
as critical as that in laptops. Desktops are widely popular for
daily use in the workplace and households.
Laptops: Similar in operation to desktops, laptop computers
are miniaturized and optimized for mobile (portable) use.
Laptops run on a single battery or an external adapter that
charges the computer batteries. They are enabled with an
inbuilt keyboard, touch pad acting as a mouse and a liquid
crystal display. Their portability and capacity to operate on
battery power have proven to be of great help to mobile users.
Fig. 3. A computer server based sales processing system
Notebooks: They fall in the category of laptops, but are
inexpensive and relatively smaller in size. They had a smaller Extra large computers: In this category, computers are
feature set and lesser capacities in comparison to regular categorized by their very large and very processing speed.
laptops, at the time they came into the market. But with These are generally used for complex scientific applications.
passing time, notebooks too began featuring almost
Supercomputers: The highly calculation-intensive tasks can
everything that laptops had. By the end of 2008, notebooks
be effectively performed by means of supercomputers.
had begun to overtake laptop in terms of market share and
Quantum physics, mechanics, weather forecasting, molecular
sales. theory are best studied by means of supercomputers. Their
ability of parallel processing and their well-designed memory

ISSN: 2347-8578 www.ijcstjournal.org Page 64


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

hierarchy give the supercomputers, large transaction 6) CISC (Complex Instruction Set Computer)
processing powers. Examples of supercomputers are CARY A complex instruction set computer is a computer in
XMP-24 and NEC-500, and PARAM developed in India. which single instructions can execute several low-level
operations (such as a load from memory, an arithmetic
4) Harvard architecture computer operation, and a memory store) or are capable of multi-step
The Harvard architecture is computer with separate operations or addressing modes within single instructions.
storage and signal pathways for instructions and data. It CISC is most often used in automation devices whereas
contrasts with the von Neumann architecture, where RISC is used in video and image processing applications.
program instructions and data share the same memory and When microprocessors and microcontroller were first being
pathways. introduced, they were mostly CISC. This was largely because
of the lack of software support present for RISC development.
Some examples of CISC microprocessor instruction set
architectures (ISAs) include the Motorola 68000 (68K), the
DEC VAX, PDP-11, several generations of the Intel x86, and
8051.
7) RISC (Reduced Instruction Set Computer)
RISC-based machines execute one instruction per clock
cycle. The RISC architecture will need more working (RAM)
memory than CISC to hold values as it loads each instruction,
acts upon it, then loads the next one. The RISC instruction set
requires one to write more efficient software (e.g., compilers
or code) with fewer instructions. Examples of processors with
Fig. 4. Specimen Harward architecture the RISC architecture include MIPS, PowerPC, Atmel’s
AVR, the Microchip PIC processors, Arm processors, RISC-
Relatively pure Harvard architecture machines are used V, and all modern microprocessors have at least some
mostly in applications where trade-offs, like the cost and elements of RISC.
power savings from omitting caches, outweigh the
programming penalties from featuring distinct code and data C. Operating System Concepts
address spaces. The principal advantage of the pure Harvard In order to operate a computer an OS is must. An
architecture—simultaneous access to more than one memory operating system is a collection of programs that control the
system—has been reduced by modified Harvard processors operation of all hardware and other resources in the computer
using modern CPU cache systems. system. A program is collection statements to achieve desired
5) Von Neumann architecture result. It co-ordinates, and manages all resources of a
computer. User programs interact with operating system using
The Von Neumann architecture is a theoretical set of extended instructions. These instructions are called
computer design based on the concept of stored-program “system calls”. These system calls are used to create, delete
where programs and data are stored in the same memory. The and use various software objects that are manages by the
concept was designed by a mathematician John Von Operating systems. The following are common in any
Neumann in 1945 and currently serves as the foundation of Operating system. Various types of operating system
almost all modern computers. Neumann machine consists of a components are: Process, Files, System Calls, and the shell.
central processor with an arithmetic/logic unit and a control Booting Process means Load the OS into the Computer [5],
unit, a memory, mass storage and input and output. The von [6].
Neumann architecture, where program instructions and data
share the same memory and pathways. Types of Operating systems
Operating systems are basically capable to do all functions
but the way of processing or approach of the systems may
vary from one Operating System to another. The following
basic types of operating systems are
1. Batch Processing Systems
2. Interactive Operating systems
3. Multi-Programming Operating Systems
4. Multi-Processing Operating Systems
5. Multitasking systems
6. Multi-user Operating systems
7. Virtual storage systems
8. Multi processor OS
9. Network OS
Fig. 5. Neumann architecture computer

ISSN: 2347-8578 www.ijcstjournal.org Page 65


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

10. Distributed OS Functions of Operating System


There are Many Functions those are performed by the
Operating System but the main goal of Operating System is to
provide the interface between the user and the hardware. The
various Functions those are performed by the Operating
System are as explained below:
Resource Management: Means Operating System will
Manages all the Resources those are attached to the System
means all the Resource like Memory and Processor and all the
Input output Devices those are attached to the System are
known as the Resources of the Computer System and the
operating system will Manage all the Resources of the
System. The Operating System will identify at which Time
the CPU will perform which Operation and in which Time the
Memory is used by which Programs. And which Input Device
will respond to which Request of the user means When the
Input and Output Devices are used by the which Programs. So
this will manage all the Resources those are attached to the
Computer System.
Storage Management: Operating System also Controls the
all the Storage Operations means how the data or files will be
Stored into the computers and how the Files will be Accessed
Fig. 6. Multiprocessing OS architectur in a computer by the users etc. All the Operations those are responsible for
storing and accessing the files is determined by the operating
Based on the features of the operating systems and the system. An Operating System also allows us creation of files,
interface provided, they can be classified as: creation of directories and Reading and Writing the data of
files and directories and also copies the contents of the files
a. User Friendly Operating System: These Operating and the directories from one Place to another place.
systems provide a pleasant and easy to work environment,
they are usually graphical based, where the various options Process Management: The operating system also treats the
are represented as icons, menus etc. examples are Windows process management means all the Processes those are given
95, Windows 98, Windows-NT are some of the user friendly by the user and the process those are system‘s own processes
Operating systems. are Handled by the OS. The Operating System will create the
b. Programming friendly Operating Systems: The Priorities for the user and also start or Stops the Execution of
programmer is anyone who has fair knowledge about the Process and Also Makes the Child Process after dividing
programming concepts and he is expected to know the the Large Processes into the Small Processes.
computer in a detailed manner. The programmer much File Management: A File is a collection of related
concerned about various utilities, functionalities, flexibility information defined by its creator commonly fill represent
and powerful environment. UNIX, XENIX, LINUX etc. are program 9both source and object forms) and data. The O.S. is
some of the character based interfaces which are very
responsible for the following activates in connection with file
powerful and programming friendly operating systems.
management.
Character User Interfaces (CUI)
(I)Creating and deleting files.
This user interface is character based; one gets prompts in (ii)Creating and deleting directories.
characters and a user has to type the characters. These were
the interfaces which enabled the programmers to do work (iii)Supporting primitives for manipulating file, and
easy, but they it is difficult to work in as we have to type directories.
every instruction and commands. MS-DOS, UNIX, LINUX (iv)Mapping files onto secondary storage. (v)Backing up files
etc. are some of the most popular character based operating
on stable (Nonvolatile) storage media.
systems.
Memory Management: Operating System also manages the
Graphical User Interface (GUI)
Memory of the Computer System means provide the memory
This interface is graphical i.e. there are pictures, graphical to the Process and also reallocates the memory from the
objects, images, menus etc. which have specific process. And also defines that if a process gets completed
functionalities. This interface provides very pleasant then this will reallocate the memory from the processes. Main
environment to work on it. Here almost every action is memory is quickly accessible data shared by the CPU and I/O
automated, at click of a button can get desired action done. devices. The OS is responsible for following activities in
Windows XP, Windows7, Windows-NT are some of very connection with memory management.
popular GUI based Operating systems.
1) keeping track of which parts of memory are currently
being used and by whom.

ISSN: 2347-8578 www.ijcstjournal.org Page 66


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

2) deciding which processes are to be loaded into memory Following are features of Windows-XP
when memory when memory space becomes available. 1) Developed Interface.
3) Allocating and Deallocating memory memory space is 2) Long File Name.
needed.
3) Windows Explorer.
Security Management: Operating System also provides us
Sharing of Files between Multiple Users, and also Provides 4) Games and Multimedia facility.
Security among users by using user names and passwords for 5) Similarity with the previous program.
login: Check Programs, Monitor Program, Basic input/output
System (BIOS) Program, Utility Programs, and File 6) Easy Postal Service.
Maintenance Programs. 7) 32-bit Multitasking.
I/O Management: One of the purposes of an operating
system is to hide the peculiarities of specific h/w devices from 8) Plug and hardware similarity.
the user. For Example: in UNIX. The peculiarities of I/O 9) Network Facility.
devices are hidden from the bulk of the O.S.
Examples of OS include: Windows versions, UNIX, LINUX, Basics of windows
MS-DOS (Disk Operating System). 1) Icon: Icons are small graphical images that can represent
Windows Introduction you computer’s Programs, files, folders and amongst other
Windows is software tools which help to do our work things. Folder and shortcut is type of ICON. The Folder is a
easily. It is easy to learn. Windows is a link between Dos and work as directory and shortcut work to execute the program.
us, which provides us the faculty to do all the work of DOS To activate an icon you double click (two click in quick work
without exercising in DOS. Windows is also known as succession) on it with the left mouse button, this will activate
graphical user interface (GUI). Windows is made by the icon and either start a program or open a file/folder. The
Microsoft Company. That is why it is called Ms- win-down icons on your desktop can be renamed by right clicking on
windows control ass the work of computer simply and them and selecting rename, similarly they can be deleted by
effectively. To do any work in previously popular operating right clicking on and selecting delete. You can easily create
system Dos, the commands of Dos had be written, they had to your own icons for your favorite programs, folders, etc
be kept in mind but windows has make it easier, whatever 2) Desktop: The vertical screen of windows XP is called
work is performed. Windows is an operating system for PC’s. Desktop. When we switch on CPU power, then booting
Windows 95 is one of the most popular versions of it. Which process of computer is started. After completing of booting
is manufactured by Microsoft Company of America in 1985? process the loading of windows is started. At the end screen
It is a single user multitasking operating system. It can do will be appear, called Desktop. There are many objects on the
business and personal job both in very efficient way. Desktop. Only useful objects are appearing on the Desktop.
Windows 98 is another version of windows. In this section we There are many objects are: My Computer Recycle Bin, My
will discuss about windows-XP. Actually windows are the network places, task Bare Start Menu, Files and Folders,
result of research work on GUL (Graphical User Interface). shortcuts. These objects are shows on the Desktop with the
Xerox Corporation did this research work after 1980. The first help of small pictures. The name of that objects is given
computer, which was developed by this corporation, is Xerox below the picture it is called icon of object. If necessary, then
other objects can be put on the Desktop.
Star, but GUI was popular when Apple computers made
Macintosh computer [11]. Some Permanent Icons of the Desktop
1. My Computer
The developments of Windows in different years are as
follows. 2. My Document
Table. 2. Traditional Microsoft Windows OSs 3. Internet Explorer
4. My Network Places
5. Recycle Bin
3) Taskbar: The bottom strip of Desktop is called
Taskbar. “Start” menu and other buttons are available, on the
Taskbar such as show Desktop, Launch Internet Explorer
Browser, Launch Outlook Explorer, Anti Virus, Sound Effect,
Volume, Clock etc. when we Start any Program or open any
Windows, a button related to that Windows will be appear on
the Taskbar. We can reach immediately on all started
programs with the help of Taskbar.
The Task Bar has following option are: (i)Start Button:
This button is used to open start menu. (ii)Quick Launch Bar:
You can add icons to this area and it provides quick access to
programs or documents even when the desktop is not visible.

ISSN: 2347-8578 www.ijcstjournal.org Page 67


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

(iii)Windows Tabs: These are used to switch between any E. Classification of memory system of a computer
open programs. Documents, etc. In our example we have two Memory means storage capability of a computer. Memory
windows open (word and excel). To change form one (storage devices) can be measured in computer with the
windows to another simply click on the corresponding following features [8].
windows tab clicking a second time on the same tab will • Speed
minimize the window. (iv)System Tray: The system tray • Volatility
displays icons for programs that are loaded into memory. (For
• Access method
Example – The volume control, Date and Time icon).
• Portability
• Cost and capacity
D. Computer apllications
The term Application refers to Software which is a set of
instructions or code written in a program for executing a task
or an operation in a Computer. Applications play a vital role
in a Computer as it is an end-user program that enables the
users to do many things in a system. The application
programs are designed and developed to run in a System
Software which is an Operating system. An Operating System
is system software that enables al the applications programs to
run and execute various tasks in a Computer system. The GUI
based applications carries out various tasks in a Computer like
creating documents, playing games, browsing and many more
[7].
1. Education
2. Communication
3. Entertainment
Fig. 7. Memory system categorization in a computer
4. Business application
A computer has high speed of calculation, diligence, Primary Memory
accuracy, reliability, or versatility which has made it an Primary Memory is also known as internal memory or main
integrated part in all business organizations. Computer is used memory. You can store and retrieve data much faster with
in business organizations for − primary memory compared to secondary memory. Primary
• Payroll calculations memory is more expensive than secondary memory. When
the computer is doing any job, the data that have to be
• Budgeting processed are stored in the primary memory. This data may
• Sales analysis come from an input device like keyboard or from a secondary
storage device like a floppy disk, memory card or pen drive
• Financial forecasting etc. The primary memory itself is implemented by two types
• Managing employee database of memory technologies. The first is called Random Access
• Maintenance of stocks, etc. Memory (RAM) and the other is read only memory (ROM).
A more appropriate name for RAM is RWM (Read Write
5. Publishing Memory), the CPU can write and read information from any
6. Banking primary memory location implemented using RAM. The other
Today, banking is almost totally dependent on computers. part of primary memory is implemented using ROM which
stands for Read Only Memory.
Banks provide the following facilities: Online accounting
facility, which includes checking current balance, making Random Access Memory (RAM): The primary storage is
deposits and overdrafts, checking interest charges, shares, and referred to as Random Access Memory (RAM) because it is
trustee records. ATM machines which are completely possible to randomly select and use any location of the
automated are making it even easier for customers to deal memory directly to store and retrieve data. As soon as the
with banks. computer is switched off, the contents of the primary memory
is lost because it is volatile in nature. It takes same time to any
07. Insurance address of the memory as the first address. It is also called
read/write memory. The storage of data and instructions
8. Healthcare inside the primary storage is temporary. It disappears from
9. Engineering Design RAM as soon as the power to the computer is switched off.
The memories, which lose their content on failure of power
10. Military
supply, are known as volatile memories. So now we can say
that RAM is volatile memory.
SRAM: Static Random Access Memory (Static RAM or
SRAM) is a type of RAM that holds data in a static form, that

ISSN: 2347-8578 www.ijcstjournal.org Page 68


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

is, as long as the memory has power. The term is pronounced It is used to store programs or data currently being executed
"S-RAM", not "sram". MOFSET (metal-oxide-semiconductor or temporary data frequently used by the CPU. It is also very
field-effect transistors) is a popular SRAM type. expensive to have bigger size of cache memory. Its size is
therefore, normally kept small.
DRAM: DRAM is a type of RAM that stores each bit of data
on a separate capacitor. This is an efficient way to store data Registers: The CPU processes data and instruction with high
in memory, because it requires less physical space to store the speed. There is also movement of data between various units
same amount of data than if it was stored statically. Therefore, of the computer. It is necessary to transfer the processed data
a DRAM chip can hold more data than an SRAM (static with high speed. So the computer uses a number of special
RAM) chip of the same size can. However, the capacitors in memory units called registers. They are not part of the main
DRAM need to constantly be refreshed to keep their charge, memory but they store data or information temporarily and
so DRAM requires more power than SRAM. DRAM is the pass it on as directed by the control unit.
most common type of memory found in personal computer
Secondary Storage (Auxiliary Memory): You are now clear
systems. While there are many types of DRAM available, the
that the operating speed of primary memory or main memory
most common type is synchronous DRAM SDRAM, which is
should be as fast as possible to cope up with the CPU speed.
a faster version of standard DRAM. This is the type of
These high-speed storage devices are very expensive and
memory most computers use for their main system memory.
hence the cost per bit of storage is also very high. Again, the
Read Only Memory (ROM): There is another memory in storage capacity of the main memory is also very limited.
computer, which is called Read Only Memory (ROM). The Often it is necessary to store hundreds of millions of bytes of
storage of program and data in the ROM is permanent. The data for the CPU to process. Therefore, additional memory is
ROM stores some standard processing programs supplied by required in all the computer systems. This memory is called
the manufacturers to operate the personal computer. The auxiliary memory or secondary storage. In this type of
ROM can only be read by the CPU but it cannot be changed. memory the cost per bit of storage is low. However, the
The basic input/output program is stored in the ROM that operating speed is slower than that of the primary memory.
examines and initializes the various equipments attached to Huge volume of data are stored here on permanent basis and
the PC, when the switch is turned ON. The memories, which transferred to the primary storage as and when required. Most
do not lose their content on failure of power supply, are widely used secondary storage devices are magnetic tapes,
known as non-volatile memories. ROM is non-volatile magnetic disks and floppy disks, Compact disks and Pen
memory. Various RAM technologies [7]: drives etc.,
PROM: There is another type of primary memory in CD: The CD-ROM format was developed by Japanese
computer, which is called Programmable Read Only Memory company Denon in 1982.Compact disc (CD) is a digital
(PROM). You know that it is not possible to modify or erase optical disc data storage format released in 1982 and co-
programs stored in ROM, but it is possible for you to store developed by Philips and Sony. The format was originally
your program in PROM chip. Once the programs are written developed to store and play only sound recordings but was
it cannot be changed and remain intact even if power is later adapted for storage of data (CD-ROM). Several other
switched off. Therefore, programs or instructions written in formats were further derived from these, including write-once
PROM or ROM cannot be erased or changed. audio and data storage (CD-R), rewritable media (CD-RW),
Video Compact Disc (VCD), Super Video Compact Disc
EPROM: This stands for Erasable Programmable Read Only
(SVCD), Photo CD, Picture CD, CD-i, and Enhanced Music
Memory, which overcome the problem of PROM and ROM.
CD. The first commercially available Audio CD player, the
EPROM chip can be programmed time and again by erasing
Sony CDP-101, was released October 1982 in Japan. Standard
the information stored earlier in it. Information stored in
CDs have a diameter of 120 millimeters (4.7 in) and can hold
EPROM can be erased by exposing it to ultraviolet light. This
up to about 80 minutes of uncompressed audio or about
memory can be reprogrammed using a special programming
700 MB of data. The Mini CD has various diameters ranging
facility. When the EPROM is in use, information can only be
from 60 to 80 millimeters (2.4 to 3.1 in); they are sometimes
read.
used for CD singles, storing up to 24 minutes of audio, or
EAPROM: This stands for Electrically Alterable delivering device drivers.
Programmable Read Only Memory. This concept is same as
DVD: DVD, short for Digital Versatile Disc, is also an optical
that of EPROM. The only difference is that the memory can
medium to store digital data. A standard DVD can hold 4.7
be altered using electrical signals. The whole of the memory
GB of data. So DVD is widely used to store large files like
need not be erased.
video and movies. The capacity is the biggest difference
Cache Memory: The speed of CPU is extremely high between CD and DVD.DVDs are similar to CDs and are also
compared to the access time of main memory. Therefore, the an optical disc storage device. These were developed
performance of CPU decreases due to the slow speed of main independently by Philips, Sony, Toshiba, and Panasonic in
memory. The decreases the mismatch in operating speed, a 1995. Prior to this, video and film were being recorded on
small memory chip is attached between CPU and Main Video CD (VCD) that was available in the market in 1993.
memory whose access time is very close to the processing Other formats that came out in the same year included
speed of CPU. It is called CACHE memory. CACHE Multimedia Compact Disc (MMCD) and Super Density (SD)
memories are accessed much faster than conventional RAM. disc. The difference in formats caused the companies to come

ISSN: 2347-8578 www.ijcstjournal.org Page 69


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

together and set up standards for maintaining one type of easily fit in a pocket or on a keychain (hence the name
format, which resulted in the formation of DVD. As prices of “keychain drive”).Nowadays flash drives can store several
DVDs went down, it causes VHS tapes to become obsolete by gigabytes of information. Since they are small in size but have
offering better technology. large storage capacities, flash drives have replaced most
previous portable data storage mediums such as floppy disks
Magnetic Tape
and removable hard disks like Zip disks. Because they have a
Magnetic tapes are used for large computers like mainframe
built-in USB connection, flash drives also don’t require a
computers where large volume of data is stored for a longer
special disk drive to be used. Instead, they can be used on any
time. In PCs also you can use tapes in the form of cassettes.
computer with a USB port, which nearly all modern
The cost of storing data in tapes is inexpensive. Tapes consist
computers have. Below is the diagram of a pen drive.
of magnetic materials that store data permanently. It can be
12.5mm to 25 mm wide plastic film-type and 500 meter to
F. Programming concepts
1200 meter long which is coated with magnetic material. The
deck is connected to the central processor and information is In order to communicate with others, and to express our
fed into or read from the tape through the processor. It is feelings with another a language is must. Some of the basic
similar to cassette tape recorder. This tape is a normal natural languages that we are familiar with are English, Hindi,
magnetic recording which is designed with a slender and Oriya etc. These are the languages used to communicate
magnetizable covering on an extended, plastic film of the thin among various categories of persons. But, how can you
strip. This is mainly used to back up huge data. Whenever the communicate with a computer? Computer will not understand
computer requires accessing a strip, first it will mount to any of these natural languages for transfer of data and
access the data. Once the data is allowed, then it will be instructions. So there is a programming language must so that
unmounted. The access time of memory will be slower within you could pass instructions to the computer to do specific job
magnetic strip as well as it will take a few minutes for so that a computer can understand. You must have heard
accessing a strip. names like FORTRAN, BASIC, and COBOL etc. These are
programming languages. So instructions or programs are
Magnetic Disk written in a particular language based on the type of task. As
You might have seen the gramophone record, which is an example, for scientific application FORTRAN and C
circular like a disk and coated with magnetic material. languages are used. On the other hand COBOL is used for
Magnetic disks used in computer are made on the same business applications [9].
principle. It rotates with very high speed inside the disk drive.
Data are stored on both the surface of the disk. Magnetic disks Computer Programming Languages
are most popular for direct access storage. Each disk consists There are two major types of programming languages.
of a number of invisible concentric circles called tracks. These are Low Level Languages and High Level Languages.
Collection of such tracks forms a sector. Information is Low Level languages are further divided in to Machine
recorded on tracks of a disk surface in the form of tiny language and Assembly language.
magnetic spots. The presence of a magnetic spot represents
one bit (1) and its absence represents zero bit (0). The
information stored in a disk can be read many times without
affecting the stored data. So, the reading operation is non-
destructive. But if you want to write a new data, then the
existing data is erased from the disk and new data is recorded.
The magnetic disks in the computer are circular plates
fabricated of plastic otherwise metal by magnetized material.
Frequently, two faces of the disk are utilized as well as many
disks may be stacked on one spindle by read or write heads
Fig. 8. Anatomy of programming languages
obtainable on every plane. All the disks in computer turn
jointly at high speed. The tracks in the computer are nothing Low Level Languages
but bits which are stored within the magnetized plane in spots These are efficient for the computer but very inefficient for
next to concentric circles. These are usually separated into programmers. This is also called as machine language. The
sections which are named as sectors. Machine Language is the only language that is directly
Flash drive (pen drive): Flash drives have many names — understood by the computer. It does not need any translator
jump drives, thumb drives, pen drives, and USB keychain program. The term low level means closeness to the way in
drives. Regardless of what you call them, they all refer to the which the machine has been built. Low level languages are
same thing, which is a small data storage device that uses machine oriented and require extensive knowledge of
flash memory and has a built-in USB connection. Flash drives computer hardware and its configuration. We also call it
are typically no more than two to three inches in length and machine code and it is written in the form of 1’s (one) and 0’s
less than an inch in width. Their size and shape may resemble (zero). These are called binary digits. When this sequence of
a thumb or a small pen (which is where the names “thumb codes is fed to the computer, it recognizes the codes and
drive” and “pen drive” come from).Flash drives are also very converts it into electrical signals needed to run it. For
thin, often having a depth of less than a centimeter. Because example, a program instruction may look like this:
of their small form factor, they are highly portable and can

ISSN: 2347-8578 www.ijcstjournal.org Page 70


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

1011000111101 Although, many users share the system, a user feels that the
It is not an easy language for you to learn because of its computer system is attending to him all the time.
difficult to understand. It is considered to the first generation
language. It is also difficult to debug the program written in
this language.
Assembly Language
It is the first step to improve the programming structure.
Some combination of letters can be used to substitute for
number of machine codes. The set of symbols and letters
forms the Assembly Language. A translator program is
required to translate the Assembly Language to machine
language. This translator program is called ‘Assembler’. It is
considered to be a second generation Language. Assembly
language codes are called mnemonics.
High-level languages
Programs developed in assembly language very slow and
tedious process. This problem overcomes by using high-level
programming language. These are machine independent.
Code which is written in high level language is easy to
implement and easy to understand for human beings.

Fig. 10. Time sharing system in a computer

G. Structured programming concepts


Structured programming is a programming paradigm aimed at
improving the clarity, quality, and development time of a
computer program by making extensive use of subroutines,
block structures, for and while loops—in contrast to using
simple tests and jumps such as the go to statement, which
could lead to "spaghetti code" that is difficult to follow and
maintain. Structured programming is most frequently used
with deviations that allow for clearer programs in some
particular cases [10].
Examples:-ALGOL 58 and ALGOL60 programming
languages.
Subroutines; callable units such as procedures, functions,
methods, or subprograms are used to allow a sequence to be
referred to by a single statement.
Fig. 9. A program implementation procedure with available This paper is organized into IV sections. First section tells
languages about introduction, second section discusses on some related
work i.e literature survey, third section explains about
Machine code (object program) is created by assembler or methods used, and section four describes conclusion. At last
compiler. Due to availability of computer system resources references are given which are used throughout the paper.
and tasks, the computer program execution modes are: Batch
mode, On-line mode, and Time Sharing mode. In Batch mode II. LITERATURE SURVEY
the computer system executes tasks one after one. Some In this section, we would like to provide a historical
applications such as payrolls are processed in this mode. In background on the evolution of cornerstone ideas in the
on-line mode computer executes the instructions as when the computing industry. We should emphasize at the outset that
data is entered into the computer. This mode of operation is the effort to build computers has not originated at one single
suitable for inventory control, air lines reservations, and place. There is every reason for us to believe that attempts to
banking system. The time sharing mode refers to the use of a build the first computer existed in different geographically
single computer system by many users at the same time. distributed places. We also firmly believe that building a
computer requires teamwork. Therefore, when some people
attribute a machine to the name of a single researcher, what

ISSN: 2347-8578 www.ijcstjournal.org Page 71


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

they actually mean is that such researcher may have led the already discussed the possible construction of such
team who introduced the machine. We, therefore, see it more calculators, but he had been stymied by the limited output
appropriate to mention the machine and the place it was first torque of the ball-and-disk integrators.
introduced without linking that to a specific name. We believe
that such an approach is fair and should eliminate any Charles Babbage, an English mechanical engineer and
controversy about researchers and their names [11]. polymath, originated the concept of a programmable
computer. Considered the "father of the computer", he
conceptualized and invented the first mechanical computer in
A. Chronology of early computors the early 19th century. The input of programs and data was to
- 2500BC: abacus be provided to the machine via punched cards, a method
- 1614: logarithms discovered by John Napier being used at the time to direct mechanical looms such as the
- 1622: Invention of slide rule Jacquard loom. For output, the machine would have a printer,
- 1642: first mechanical calculator a curve plotter and a bell.
- Charles Babbage (University of Cambridge): 1812- The machine would also be able to punch numbers onto
“Difference Engine”. 1833-“analytical Engine” cards to be read in later. The Engine incorporated an
- 1890: first electro-mechanical punched card data arithmetic logic unit, control flow in the form of conditional
processing machine by Hollerith branching and loops, and integrated memory, making it the
- 1905: Vacuum tube/Triode invented first design for a general-purpose computer.
- 1939: ABC (Atanosoff & Berry Computer)- first
electronic digital computer B. Computer Generations
- 1941: first programmable computer- Z3(Zuse)
The main evolution of computer started from 16th century
- 1943: Harvard MARK-1 by Aiken and resulted in the form that we see today. The present day
- 1945: ENIAC computer, however, has also undergone rapid changes during
- 1945: stored program concept by John Von Neumann the last fifty years. Actually computer technology
- 1947: Transistor Invented advancement will be measured by computer generations. This
- 1949: EDSAC- world first stored program computer by period, during which the evolution of computer took place,
Wilkes and Wheeler can be divided into five distinct phases, basis of the type of
- 1954: first silicon switching circuits known as Generations of Computers [12].
- 1959: first IC
- 1964: IBM system based on ICs
- 1971: Intel 4004, first Microprocessor
- 1978: Intel 8086/8088 processor
- 1980: first VLSI chip

A computer is a machine that can be instructed to carry


out sequences of arithmetic or logical operations
automatically via computer programming. The internet is run
on computers and it connects hundred of millions of other
computers. The Antikythera mechanism is believed to be the
earliest mechanical analog "computer", according to Derek J.
de Solla Price. It was designed to calculate astronomical
positions. It was discovered in 1901 in the Antikythera.
The slide rule was invented around 1620-1630, shortly
after publication of logarithms. It is a hand operated computer
for doing multiplication and division. Slide rules with special
scales are still used for quick performance of routine
calculations, such as the E6B circular slide rule used for time
and distance calculations on light aircraft. In the 1770s, Pierre
Fig. 11. Electonic devices used in various computer generations
Jaquet-Droz, a Swiss watchmaker, built a mechanical doll
(automaton) that could write holding a quill pen. By switching
the number and order of its internal wheels different letters, First Generation Computers (1942-1955)
and hence different messages, could be produced. These computers were used vacuum tubes as major
electronic component. The advantage of vacuum tubes
In effect, it could be mechanically "programmed" to read technology is that it made the advent of Electronic digital
instructions. In 1831–1835, mathematician and engineer computer. Vacuum tubes were only electronic devices
Giovanni Plana devised a Perpetual Calendar machine which available during those days which made computing possible.
could predict the perpetual calendar for every year from AD 0 A vacuum tube was fragile glass device which use filaments
(that is, 1 BC) to AD 4000, keeping track of leap years and as source of electronics and could control the electronic
varying day length. The tide-predicting machine invented by signals and also amplify electronic signals. These types of
Sir William Thomson in 1872 was of great utility to computers perform computations in milliseconds (10-3). So,
navigation in shallow waters. It used a system of pulleys and these computers used in scientific computations. The input
wires to automatically calculate predicted tide levels for a set method of these computers was a machine language known as
period at a particular location. In 1876, Lord Kelvin had the 1GL or the first generation language. The physical

ISSN: 2347-8578 www.ijcstjournal.org Page 72


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

methods of using punch cards, paper tape, and magnetic tape with an operating system, which allowed the device to run
were used to enter data into these computers. First generation many different applications at one time with a central
computers relied on machine language, the lowest-level program that monitored the memory. Computers for the first
programming language understood by computers, to perform time became accessible to a mass audience because they were
operations, and they could only solve one problem at a time. smaller and cheaper than their predecessors. Examples of the
It would take operators days or even weeks to set-up a new third generation computers include IBM-360 series,
problem. Input was based on punched cards and paper tape, Honeywell-6000 series, PDP (Personal Data Processor) series,
and output was displayed on printouts. Examples of the first ICL 2900, TDC 316, and IBM-370/168.
generation computers include UNIVAC-Universal automatic
Computer (The UNIVAC was the first general-commercial Fourth Generation (1980’s)
purpose computer delivered to a business client, the U.S. The present day computers that you see today are the
Census Bureau in 1951, invented by J. Prosper Eckert and fourth generation computers that started around 1975. It uses
John Mauchly makers of ENIAC.), ENIAC- Electonic large scale Integrated Circuits (LSI) built on a single silicon
Numerical Integrator and Computer invented by J.P. Eckert chip called microprocessor. Due to the development of
and J.W. Mauchly. It is the first successful electronic microprocessor it is possible to place computer’s central
computer built during Second World War by U.S.) , EDVAC processing unit on a single chip. These computers are called
- Electronic discrete Variable Automatic computer), IBM-701 microcomputers.
(International Business Machines), and IBM-650. Later very large scale Integrated Circuits (VLSI) replaced
Second Generation Computers (1955-1964) LSIs. Thus the computer which was occupying a very large
room in earlier days can now be placed on a table. The
The second generation computers were used transistors
personal computer (PC) that you see in your college is a
instead of vacuum tubes. This made them far more compact Fourth Generation Computer. A GUI (Graphical User
than the first generation computers. Due to best properties of Interface) provides icons and menus to select particular
transistors these generation computers were more powerful, operation.
more reliable, less expensive, smaller in size, faster in
operation, and cooler to operate than first generation Examples are IBM 4341, PUP 11, STAR 1000, CRAY-X-MP
computers. Around 1955 a device called Transistor replaced (Super Computer), DEC 10, PDP 11, CRAY-1.
the bulky electric tubes in the first generation computer. It
was made of germanium semiconductor materials rather than
glass. John Bardeen, William Shockley, and Walter Houser
Brattain invented transistor at bell laboratories in 1947. They
shared Nobel Prize for this in 1956. Transistors are smaller
than electric tubes and have higher operating speed. They
have no filament and require no heating. Manufacturing cost
was also very low. Thus the size of the computer got reduced
considerably when compare to FG (First Generation)
computers. High level programming languages like
FORTRAN (Formulae Translation), COBOL (Common
Business Oriented Language), ALGOL (algorithmic
Language), and SNOBOL (StriNg Oriented and symbolic Fig. 12. A modern generalized computer system architecture
Language) were emerged in second generation.
Examples of the second generation computers include Fifth Generation (Late 1990’s)
Honeywell 400, IBM 1620, IBM 7094, CDC 1604, CDC These computers use optic fiber technology to handle
3600, and UNIVAC 1108. Artificial Intelligence, expert systems, robotics etc., these
computers have high processing speeds and are more reliable.
Third Generation Computers (1970’s) These are extremely reliable and employ the ULSI or the
The third generation computers were introduced in 1964. Ultra Large Scale Integration technology.
These computers differed from the first and the second
Examples include: Intel P 4, i 3 – i10 series computers,
generations simply by the fact that a new circuit element like
AMD (Advanced Micro Devices) Athlon.
IC’s (Integrated Circuits) was used. An integrated circuit is a
small device that can contain thousands and thousands of
devices like transistors, resistances and other circuit elements III. METHODS
that make up a computer. Jack Kilby and Robert Noyce are We know that computer is a machine that processes the data
credited with the invention of the Integrated Circuit or the IC according to given set of instructions, process the data into
chips. With the invention of IC’s, it became possible to fit information, and finally gives the output. In order to process
thousands of circuit elements into a small region and hence the data we must have to give the instructions to a computer
the size of the computers eventually became smaller and
with the help of input devices. Then it can process the data
smaller. These ICs are popularly known as Chips. Computers
of this generation were small in size, low cost, large memory into valuable information using processing devices. Finally it
and processing speed is very high. Instead of punched cards produces the desired output with help of output devices. After
and printouts, users interacted with third generation processing the data, information must be displayed on a
computers through keyboards and monitors and interfaced monitoring device (monitor). Then we can take the print by
printer through computer. The Computer mainly consists of

ISSN: 2347-8578 www.ijcstjournal.org Page 73


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

the functions input, process, output and storage. The Block B. Processing
diagram of a computer is [15], [16]: CPU:
The CPU is the most important element of a computer
system. The CPU is the brains of the computer where most
calculations take place. CPU abbreviated for Central
Processing Unit. Without it, we cannot imagine a computer. It
is the heart and brain of the computer. Its function is to fetch,
examine, and execute the instructions stored in the main
memory of a computer. All type of processing is done in CPU
only. Furthermore, it is divided into 3 parts: ALU, CU, and
MU. The clock speed of a computer CPU will be measured in
terms of Mega Hertz (MHz) or Million of cycles per second.
Clock is another important component of CPU which
measures and allocations a fixed time slot for processing each
and every micro-operation (smallest functional operation).
CPU speed also specified in terms of Million of instructions
per Second (MIPS) or Million of FLOting Point Operations
Fig. 13. Block diagram of a computer per second (MFLOPS) [18], [19].
All computer systems contain and perform following basic Arithmetic Logical Unit (ALU): After you enter data
operations: Input unit, CPU (Control unit, Main Memory and through the input device it is stored in the primary storage.
ALU), Storage unit, and output unit. The mathematical calculations of the data are performed by
Arithmetic Logical Unit. The major operations performed by
A. Inputting the ALU are addition, subtraction, multiplication, division,
logic and comparison. Data is transferred to ALU from
Input: storage unit when required. After processing the output is
In computing, an input device is a piece of equipment returned back to storage unit for further processing.
used to provide data and control signals to an information
processing system such as a computer or information
appliance. Examples of input devices include keyboards,
mouse, scanners, digital cameras, joysticks, and microphones.
This is the process of entering data of programs into a
computer. Therefore, the input unit takes data from us to the
computer in an organized manner for processing through an
input device such as keyboard, mouse, MICR, OCR, Etc.
[17]. Fig. 15. N-bit ALU structure ina computer

Control Unit (CU): Control Unit, which acts like the


supervisor seeing that things are done in proper fashion.
Control Unit is responsible for co-coordinating various
operations using time signals and also it controls the transfer
of data instructions among other devices of a computer. The
control unit determines the sequence in which computer
programs and instructions are executed. Things like
processing of programs stored in the main memory,
interpretation of the instructions and issuing of signals for
other units of the computer to execute them. It also acts as a
switch board operator when several users access the computer
simultaneously. So, this is called as nervous system of the
computer.

Fig. 14. Input devices Memory unit: Memory means storage of data and the
program. In computer’s memory both data and programs are
Examples: pointing devices (mouse, trackball, joystick, stored in the binary form. The binary system has only two
electronic pen, touch screen) values 0 and 1. These are called bits. As human beings we all
understand decimal system but the computer can only
Scanning devices: image scanner, OCR, OMR, MICR, and a understand binary system. It is because a large number of
bar code reader) integrated circuits inside the computer can be considered as
Digitizer: it is a device which converts (digitizes) pictures, switches, which can be made ON, or OFF. If a switch is ON it
maps, and drawings into digital form for future usage. It is considered 1 and if it is OFF it is 0. A number of switches
consists of a digitizing tablet (graphic tablet) associated with a in different states will give you a message like this:
stylus. 110101......10. So the computer takes input in the form of 0
and 1 and gives output in the same form, i.e., 0 and 1 only.
Every number in binary system can be converted to decimal

ISSN: 2347-8578 www.ijcstjournal.org Page 74


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

system and vice versa; for example, decimal number 9 means 1 Kilo Byte (KB) = 1024 Bytes(210)
1001. Therefore, it is the computer that takes information or 1 Mega Byte (MB) = 1024 KB
data in decimal form from you, converts it into binary form, 1 Giga Byte (GB) = 1024 MB
processes it, producing output in binary form and finally again 1 TeraByte (TB) = 1024 GB
converts the output to decimal form. A fundamental unit of 1 PetaByte (PB) = 1024 TB
memory system is bit and acronym for it is binary digit, which 1 ExaByte (EB) = 1024 PB
stands for one binary piece of information. This can be either 1 ZettaByte (ZB) = 1024 EB
0 or 1. Memory unit is made up of several small storage 1 YottaByte (YB) = 1024 ZB
locations called cells. Each of these 8 cells can store a fixed
Suppose a memory card size is 2 GB means that it can store
number of bits called word length (byte). Each cell has a
2GB = 2 x 1024 MB
unique number assigned to it called the address of the cell and
it is used to identify the cells. The address starts at 0 and goes = 2 x 1024 x 1024 KB
up to (N-1).Byte is used to store one character such as = 2 x 1024 x 1024 x 1024 Bytes
(alphabets (a-z),digits (0-9) or special symbols +,-,$,% = 2147483648 bytes
etc).You should know that the memory is like a large cabinet There are two kinds of computer memory: primary and
containing as many drawers as there are addresses of memory. secondary.
Each drawer contains a word and the address is written on Memory Hierarchy
outside of the drawer. It is defined as the range of memory and storage devices
within the computer system.

Fig. 16. Central processing unit


Fig. 17. Memory hierarchy of a computer
a. Arithmetic Logical Unit (ALU): After you enter data
through the input device it is stored in the primary storage. Computer memory hierarchy: Internal register, cache,
The mathematical calculations of the data are performed by RAM, hard disk (magnetic disks), magnetic tape. The first
Arithmetic Logical Unit. The major operations performed by three hierarchies are volatile memories which mean when
the ALU are addition, subtraction, multiplication, division, there is no power, and then automatically they lose their
logic and comparison. Data is transferred to ALU from stored data. Whereas the last two hierarchies are not volatile
storage unit when required. After processing the output is which means they store the data permanently.
returned back to storage unit for further processing. 1) Internal register: Internal register in a CPU is used for
b. Control Unit (CU): Control Unit, which acts like the holding variables and temporary results. Internal registers
supervisor seeing that things are done in proper fashion. have a very small storage; however they can be accessed
Control Unit is responsible for co-coordinating various instantly. Accessing data from the internal register is the
operations using time signal. The control unit determines the fastest way to access memory.
sequence in which computer programs and instructions are 2) Cache: Cache is used by the CPU for memory which is
executed. Things like processing of programs stored in the being accessed over and over again. Instead of pulling it every
main memory, interpretation of the instructions and issuing of time from the main memory, it is put in cache for fast access.
signals for other units of the computer to execute them. It also It is also a smaller memory, however, larger than internal
acts as a switch board operator when several users access the register.
computer simultaneously. This is also called as nervous
system o the computer. Cache memory
Cache memory can also be found in the processor,
c. Memory unit: Memory means storage of data and the however rarely it may be another IC (integrated circuit) which
program. In computer’s memory both data and programs are is separated into levels. The cache holds the chunk of data
stored in the binary form. The binary system has only two which are frequently used from main memory. When the
values 0 and 1. These are called bits. processor has a single core then it will have two (or) more
Memory sizes (Capacity): cache levels rarely. Present multi-core processors will be
The size of memory is termed in terms KB, MB, GB, TB, PB, having three, 2-levels for each one core, and one level is
etc., shared.
1 bit = 1 bit Cache is further classified to L1, L2 and L3:
4 bits = 1 nibble
a) L1 cache: It is accessed without any delay.
1 Byte = 8 bits

ISSN: 2347-8578 www.ijcstjournal.org Page 75


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

b) L2 cache: It takes more clock cycles to access than L1 the source code called the pre-processor. The pre-processor is
cache. at its core a text replacement program. For example, any
variable declared as #define variable text will have variable
c) L3 cache: It takes more clock cycles to access than L2 replaced with text. This preprocessed code is then passed into
cache. the compiler. Compiler strictly follows its syntax. Compiling
3) Main memory or RAM (Random Access Memory): It is a C program is a multi-stage process. At an overview level,
a type of the computer memory and is a hardware component. the process can be split into four separate stages:
It can be increased provided the operating system can handle • Preprocessing,
it. Typical PCs these days use 8 GB of RAM. It is accessed
• compilation,
slowly as compared to cache. The main memory in the
computer is nothing but, the memory unit in the CPU that • assemble, and
communicates directly. It is the main storage unit of the • linking.
computer. This memory is fast as well as large memory used Preprocessing
for storing the data throughout the operations of the computer.
This memory is made up of RAM as well as ROM. The first stage of compilation is called preprocessing. In
this stage, lines starting with a # character are interpreted by
4) Hard disk: A hard disk is a hardware component in a the preprocessor as preprocessor commands. These
computer. Data is kept permanently in this memory. Memory commands form a simple macro language with its own syntax
from hard disk is not directly accessed by the CPU, hence it is and semantics. This language is used to reduce repetition in
slower. As compared with RAM, hard disk is cheaper per bit. source code by providing functionality to inline files, define
macros, and to conditionally omit code.
5) Magnetic tape: Magnetic tape memory is usually used for
backing up large data. When the system needs to access a Compilation: -The second stage of compilation is
tape, it is first mounted to access the data. The memory access confusingly enough called compilation. In this stage, the
time is slower in magnetic tape and it usually takes few preprocessed code is translated to assembly instructions
minutes to access a tape. specific to the target processor architecture. These form an
intermediate human readable language. The existence of this
C. Outputting step allows for C code to contain inline assembly instructions
This is the process of producing results from the data for and for different assemblers to be used. Compilation is a
getting useful information n th form of either soft copy or process in which a program written in one language gets
hard copy. Similarly the output produced by the computer translated into another targeted language. If there are some
after processing must also be kept somewhere inside the errors, the compiler will detect them and report it.
computer before being given to you in human readable form
through the screen or printer. Again the output is also stored
inside the computer for further processing [20].
Examples: monitors (CRT, LCD, LD), printers (dot matrix
printers, inkjet printers, laser printers, drum printers, plotters)

D. Compiling, Assembling, linking


The definition of compiling is converting the code from
the high level language to machine level language. Means,
human understandable form to computer understandable form
(machine code). The compiler is the most complex step of
process for a number of reasons. The compiler is only
interested the actual code, however humans need things like
comments and whitespace (spaces, tabs, indents, etc) to
understand code. Compiling allows the computer to run and
understand the program without the need of the programming
software used to create it. The first compiler was developed
by Grace Hopper while working on the Harvard Mark I
computer. Today, most high-level languages will include their
own compiler or have toolkits available that can be used to
compile the program. Two popular compilers are Eclipse for
Java and gcc command for C and C++. Depending on how Fig. 18. Scemantic diagram of compiling process
big the program is, it should take a few seconds or minutes to
compile. If no errors are encountered while being compiled, Assembling: -During this stage, an assembler is used to
an executable file is created [21], [22]. translate the assembly instructions to object code. The output
The compile time is the total time it takes a compiler to consists of actual instructions to be run by the target
compile code into a program that can be run by the computer. processor. Assemble code gets translated into machine code.
The process that the compiler takes to convert the human- You can call assembler a special type of complier.
written source code to its internal representation is called
parsing. With C code, there is actually a step before parsing

ISSN: 2347-8578 www.ijcstjournal.org Page 76


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

Thus compiled machine language program runs much faster


than an interpreted program.
An interpreter generally uses one of the following
strategies for program execution: Examples of interpreted
languages are Perl, Python and Matlab. High level languages
may also be translated using interpreters. Using a compiler,
the whole program is translated completely and then the
resulting machine language version is executed. Whereas
using an interpreter, each instruction is translated and
executed. In other words, the interpreter takes one source
program instruction, translates it into object code and
executes it, then takes the next instruction, translates it, and so
on. Use of an interpreter can save core space since the
interpreter program itself is quite small in size. It also
eliminates the need to store the program’s translated object
Fig. 19. Schemantic diagram of a assembler code in the computer. Interpreters are convenient and easy to
use because they are totally interactive. The user can sit in
Linking:-The object code generated in the assembly stage is front of the terminal and converse with the computer in order
composed of machine instructions that the processor to solve his problems directly through the interpreter. That is,
understands but some pieces of the program are out of order the program is corrected, re-compiled, and executed. Whereas
or missing. To produce an executable program, the existing using an interpreter, changes and additions can be made
pieces have to be rearranged and the missing ones filled in. interactively
This process is called linking. If this piece of code needs some
other source file to be linked, linker links them to make it an
executable file. The result of this stage is the final executable
program.
E. Optimization
This unit is independent of the CPU, i.e., there are two
types of optimization. In computing, optimization is the
process of modifying a system to make some features of it
work more efficiently or use fewer resources. ... The
optimized system may be a single computer program, a
collection of computers or even an entire network such as the
Internet [23].
1. Pre-optimization (CPU independent)
2. Post-optimization (CPU dependent)
This unit optimizes the code in following forms: Fig. 20. Procedure of interpreter in a computer
• Dead code elimination G. Number System in Computers
• Sub code elimination A number system defines how a number can be represented
using distinct symbols. A number system in computer
• Loop optimization ideology is regarded as the method or system of
numbering and representing of digits in the computer ‘inner’
F. Interpreter system. In other words, it is a technique used in
An interpreter is another type of program translator used representing numbers in the computer system architecture.
for translating higher level language into machine language. It The digital computer represents all kinds of data and
takes one statement of higher level languages at a time, information in binary numbers. This implies every
translate it into machine language and immediately execute it. value/number that you are saving or feeding into/fetching
Translation and execution are carried out for each statement. from the computer system memory has a defined number
It differs from compiler, which translate the entire source system. The value/data feed in/fetch from can includes but not
program into machine code and does involve in its execution limited to: audio, graphics, video, text file, numbers etc. The
[24]. total number of digits used in a number system is called its
base or radix. The base is written after the number as
The advantage of interpreter compared to compiler is its subscript [25].
fast response to changes in source program. It eliminates the
need for a separate compilation after changes to each Computer architecture supports following number systems:
program. Interpreters are easy to write and do not require 1) Binary number system (Base 2),
large memory in computer. The disadvantage of interpreter is
that it is time consuming method because each time a 2) Octal number system (Base 8),
statement in a program is executed then it is first translated.
3) Decimal number system (Base 10), and

ISSN: 2347-8578 www.ijcstjournal.org Page 77


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

4) Hexadecimal number system (base 16) applications, frameworks, or other software components.
Software development is a process of writing and maintaining
1) Binary Number System A Binary number system has the source code in a structured way. Therefore, software
only two digits, which are 0 and 1. Every number (value) development may include research, new development,
is represented with 0 and 1 in this number system. The base of prototyping, modification, reuse, re-engineering,
binary number system is 2, because it has only two digits. The maintenance, or any other activities that result in software
word binary derived from Latin word bini (double). Though products. A software development process (also known as a
decimal (No 3) is more frequently used in number software development methodology, model, or life cycle) is a
representation, binary is the number system form which the framework that is used to structure, plan, and control the
system/machine accepts. process of developing information systems [28], [29].
2) Octal number system octal number system has only A wide variety of such frameworks has evolved over the
eight (8) digits from 0 to 7. Every number (value) is years, each with its own recognized strengths and weaknesses.
represented with 0,1,2,3,4,5,6 and 7 in this number system. There are several different approaches to software
The base of octal number system is 8, because it has only 8 development: some take a more structured, engineering-based
digits. approach to develop business solutions, whereas others may
3) Decimal number system Decimal number system has take a more incremental approach, where software evolves as
only ten (10) digits from 0 to 9. Every number (value) is it is developed piece-by-piece.
represented with 0,1,2,3,4,5,6, 7, 8 and 9 in this number One system development methodology is not necessarily
system. The base of decimal number system is 10, because it suitable for use by all projects. Each of the available
has only 10 digits. methodologies is best suited to specific kinds of projects,
4) Hexadecimal number system A Hexadecimal number based on various technical, organizational, project and team
system has sixteen (16) alphanumeric values from 0 to 9 and considerations. Most methodologies share some combination
A to F. Every number (value) represents with 0, 1, 2, 3, 4, 5, of the following stages of software development:
6, 7, 8, 9, A, B, C, D, E and F in this number system. The
• Analyzing the problem
base of hexadecimal number system is 16, because it has 16
alphanumeric values. Here, we have 0 to 9, representing 0 – 9 • Market research
but from 10, we have A is 10, B is 11, C is 12, D is 13, E is 14
and F is 15. • Gathering requirements for the proposed business
solution
H. Developing a program • Devising a plan or design for the software-based
Program development - Computer Definition May refer to solution
the coding of an individual software program or to the • Implementation (coding) of the software
creation on an entire information system and all related
software. See programming and system development life • Testing the software
cycle [26], [27].
A program development process consists of various steps • Deployment
that are followed to develop a computer program. These steps • Maintenance and bug fixing
are followed in a sequence in order to develop a successful
and beneficial computer program. Following is the brief These stages are often referred to collectively as the
description about program development process. software development life-cycle, or SDLC. Different
approaches to software development may carry out these
stages in different orders, or devote more or less time to
Program Development Process
different stages. The level of detail of the documentation
A programmer has to go through the following stages to produced at each stage of software development may also
develop a computer program: vary. These stages may also be carried out in turn (a
“waterfall” based approach), or they may be repeated over
1. Defining and Analyzing The Problem various cycles or iterations (a more "extreme" approach). The
2. Designing The Algorithm more extreme approach usually involves less time spent on
planning and documentation, and more time spent on coding
3. Coding or Writing The Program and development of automated tests. More “extreme”
4. Test Execution approaches also promote continuous testing throughout the
development life-cycle, as well as having a working (or bug-
5. Debugging free) product at all times. More structured or “waterfall”
6. Final Documentation based approaches attempt to assess the majority of risks and
develop a detailed plan for the software before
Step by step details of the program development process implementation (coding) begins, and avoid significant design
follows: changes and re-coding in later stages of the software
development life-cycle planning. There are significant
I. Software development advantages and disadvantages to the various methodologies,
Software development is the process of conceiving, and the best approach to solving a problem using software
specifying, designing, programming, documenting, testing, will often depend on the type of problem. If the problem is
and bug fixing involved in creating and maintaining well understood and a solution can be effectively planned out

ISSN: 2347-8578 www.ijcstjournal.org Page 78


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

ahead of time, the more "waterfall" based approach may work Branch and bound algorithms
the best. If, on the other hand, the problem is unique (at least Branch and bound is used when we can evaluate each node
to the development team) and the structure of the software using the cost and utility functions. At each step we choose
solution cannot be easily envisioned, then a more "extreme" the best node to proceed further. Branch-and bound
incremental approach may work best. algorithms are implemented using a priority queue. The state-
space tree is built in a breadth-first manner.
J. Algorithms
Example: the 8-puzzle problem.
Definition:-The sequence of steps to perform in order to
solve a problem is known as an algorithm. In other words, an Divide and conquer algorithms
algorithm is a finite sequence of steps expressed for solving a These are methods of designing algorithms that (informally)
problem [30], [31]. proceed as follows:
Given an instance of the problem to be solved, split this into
Algorithms are used for calculations, data processing, and several smaller sub-instances (of the same problem),
many other fields. In computer computing, algorithms are independently solve each of the sub-instances and then
essential because they serve as the systematic procedures that combine the sub-instance solutions so as to yield a solution
computers require. Using the wrong algorithm or one that is for the original instance. With the divide-and-conquer
not clearly defined is like trying to cut a piece of plywood method the size of the problem instance is reduced by a factor
with a pair of scissors: although the job may get done, you (e.g. half the input size), while with the decrease-and-conquer
have to wonder how effective you were in completing it. Let method the size is reduced by a constant.
us follow an example to help us understand the concept of
algorithm in a better way. Let’s say that you have a friend Examples of divide-and-conquer algorithms: Computing an
arriving at the railway station, and your friend needs to get (a > 0, n a nonnegative integer) by recursion,
from the railway station to your house. Here are three Binary search in a sorted array (recursion),
different ways (algorithms) that you might give your friend Merge sort algorithm, Quick sort algorithm (recursion),
for getting to your home. Problems that would be difficult to The algorithm for solving the fake coin problem (recursion)
solve in entirety can be approached as a series of small,
Dynamic programming algorithms
solvable sub-problems [5].
The idea behind dynamic programming is to avoid this
1. The taxi/auto-rickshaw algorithm: pathology by obviating the requirement to calculate the same
Go to the taxi/auto-rickshaw stand. quantity twice. The method usually accomplishes this by
Get in a taxi/auto-rickshaw. maintaining a table of sub-instance results. Dynamic
Give the driver my address. Programming is a Bottom-Up Technique in which the
2. The call-me algorithm: smallest sub-instances are explicitly solved first and the
When your train arrives, call my mobile phone results of these used to construct solutions to progressively
Meet me outside the railway station. larger sub-instances. In contrast, Divide-and-Conquer is a
Top-Down Technique which logically progresses from the
3. The bus algorithm:
initial instance down to the smallest sub-instance via
Outside the railway station, catch bus.
Get off near house. intermediate sub-instances. Examples: Fibonacci numbers
Walk two blocks west to my house. computed by iteration, Warshall’s algorithm implemented by
iterations
All these three algorithms accomplish the same goal, but Divide-and-conquer Algorithms:
each algorithm does it in a different way. Each algorithm also Divide-and-conquer algorithms revolve around 3 steps:
has a different cost and a different travel time. Taking a divide, conquer, and combine. In the divide step, we divide
taxi/auto-rickshaw, for example, is the fastest way, but also the data into smaller, more manageable pieces. In the conquer
the most expensive. Taking the bus is definitely less step, we process each division by performing some operations
expensive, but a whole lot slower. You choose the algorithm on it. In the combine step, were combine the processed
based on the circumstances. In computer programming, there divisions. An example of the divide-and conquer algorithm is
are often many different algorithms to accomplish any given merge sort.
task. Each algorithm has advantages and disadvantages in
different situations. Greedy algorithms
The solution is constructed through a sequence of steps, each
Algorithm strategies expanding a partially constructed solution obtained so far. At
each step the choice must be locally optimal. This is the
There are a number of well-known algorithm strategies: central point of this technique. Examples: Minimal spanning
Recursive algorithm tree.
A combinatorial problem: Fibonacci numbers Brute force algorithms
Backtracking algorithms Brute force is a straightforward approach to solve a problem
The method is used for state-space search problems such as based on the problem’s statement and definitions of the
space search problems. The solving process solution is based concepts involved. It is considered as one of the easiest
on the construction of a state-space tree, whose nodes approach to apply and is useful for solving small – size
represent states, the root represents the initial state, and one or instances of a problem.
more leaves are goal states. Each edge is labeled with some Some examples of brute force algorithms are:
operator.

ISSN: 2347-8578 www.ijcstjournal.org Page 79


International Journal of Computer Science Trends and Technology (IJCST) – Volume 8 Issue 5, Sep-Oct 2020

Computing an (a > 0, n a nonnegative integer) by multiplying REFERENCES


Bubble sort
[1] https://www.tutorialspoint.com/computer_fundamentals/c
Sequential search omputer_fundamentals_tutorial.pdf
Exhaustive search: Traveling Salesman Problem, Knapsack [2] Stefano Ceri, Dino Mandrioli, and Licia Sbattella, The
problem. Art and Craft of Computing, Addison-Wesley, 1998.
Heuristic algorithms [3] Norton Peter, “Introduction to computer”, 4th Edition,
TMH, 2001.
A heuristic is a mental short cut or "rule of thumb" that gives
[4] Vikas Gupta, “complex Computer Kit”, Wiley
some guidance on how to do a task, but it does not guarantee Dreamtech, Delhi, 2004.
solutions consistently. They often reflect some form if [5] William Stallings, Operating System, Prentice hall
inductive reasoning. Heuristics can be very effective, but they second Edition, 2007.
can lead to completely incorrect conclusions, as well. Hitting [6] Dietel & Dietel, Operating Systems, PHI, 2003.
a machine, like a computer, to make the screen work may [7] Kai Hwang, Advanced Computer Architecture:
reconnect a loose connection. But it works only when Parallelism, Scalability, Programmability”, McGraw-Hill
something like a loose connection is causing the problem, and International Edition, 1993.
it can damage the equipment. The following paragraphs [8] https://silo.tips/download/chapter-8-memory-units
describe several heuristics and some problems resulting from [9] Beck, Leland. L, System Software: An Introduction to
their uncritical use. system Programming, Third Edition, Wesley, 1997.
[10] http://users.csc.calpoly.edu/~jdalbey/308/Resources/Struc
General Approaches in Algorithm Design: turedProgramming.pdf
In a broad sense, many algorithms approach problems in [11] https://www.cl.cam.ac.uk/teaching/1011/CompFunds/Co
the same way. Thus, it is often convenient to classify them mpFunds.pdf
based on the approach they employ. One reason to classify [12] P. K. Sinha, Computer Fundamentals, 6th edition, BPB
algorithms is to gain an insight about an algorithm and publications, New Delhi, 2004.
understand its general approach. This can also give us ideas [13] A. Goel, Computer Fundamentals, Pearson Education,
about how to look at similar problems for which we do not 2010.
know algorithms. Of course, some algorithms defy [14] Carl Hamacher, Computer Organization, Fifth Edition,
classification, whereas others are based on a combination of Asia, 2013.
approaches. This section presents some common approaches. [15] https://en.wikipedia.org/wiki/Computer
[16] Grassman, Logic and Descrete Mathematics: A Computer
Randomized Algorithms: Science Perspective, Pearson Education, 2007.
Randomized algorithms rely on the statistical properties of [17] https://en.wikipedia.org/wiki/Input_device
random numbers. One example of a randomized algorithm is [18] https://www.computerhope.com/jargon/p/procdevi.htm
quick sort. Imagine an unsorted pile of cancelled checks by [19] P. K. Sinha, P.Sinha, Fundamentals of Computers, BPB
hand. In order to sort this pile we place the checks numbered Publishers, 2007.
less than or equal to what we may think is the median value in [20] https://www.tutorialspoint.com/computer_fundamentals/c
one pile, and in the other pile we place the checks numbered omputer_output_devices.htm
greater than this. Once we have the two piles, we divide each [21] E. Balaguruswamy, “Object Oriented Programming with
of them in the same manner and repeat the process until we C++”, Tata McGraw-Hill Education, 2008.
end up with one check in every pile. At this point the checks [22] Holub, Allen, Compiler Design in C, -PHI, 1990.
are sorted. [23] https://simple.wikipedia.org/wiki/Optimization_(compute
r_science)
Approximation Algorithms: [24] https://www.pcmag.com/encyclopedia/term/interpreter
Approximation algorithms are algorithms that do not [25] https://www.researchgate.net/publication/320677641_Nu
compute optimal solutions; instead, they compute solutions mber_System
that are “good enough”. Often we use approximation [26] Van Roy, Haridi, Concepts, Techniques and Models of
algorithms to solve problems that are computationally Computer Programming, MIT Press, 2004.
expensive but are too significant to give up altogether. The [27] Danial Appleman, How Computer Programming Works,
travelling salesman problem is one example of a problem Apress,2000.
usually solved using an approximation algorithm. [28] R. Mall, Fundamentals of Software Engineering, Second
Edition, Prentice Hall India, 2004.
[29] Jawadekar. E, Waman. S, Software Engineering
IV. CONCLUSION :Principles and Practice, TMH, 2004.
Information and Communication Technology (ICT) has [30] A. Jahad, M. Rami, “An enhancement of major sorting
today become integral part of all domains as well as fields of algorithms”, The International Arab Journal of
Information Technology, vol.7, no.1, 2010.
academic and research. Here, we discuss major components,
[31] Chhajed. N, U. Imran, Simarjeet. S, B., “A comparision
types of a computer. Also MU thoroughly explained with Based analysis of Four Different Types of sorting
algorithms concept. Besides, history of computers described Algorithms in data structures with Their Performances,
along with generations. International Journal of Advanced Research in Computer
Science and software Engineering, vol.3, issue.2,
February 2013.

ISSN: 2347-8578 www.ijcstjournal.org Page 80

You might also like