Computer - An Overview
A computer is an electronic machine that helps to process data. It is an electronic device which processes the input informations according to the given set of instructions, called program. Computer is used to solve problems relating to almost all fields such as Education, Medicine, Science and Technology, Research, Space Application, Remote Sensing, Weather Forecasting and Communication.
Advantages and Disadvantages of Computer
Advantages of Computers
The five major advantages of computers which make them powerful and useful are:
1. Speed: They work at an incredible speed. The speed is measured in terms of instructions per second (IPS). A modern computer can process information at the speed of a couple of million instructions per second (MIPS).
2. Accuracy: In addition to speed, computers are also highly accurate. They either give correct answer or do not answer at all. However a computer is capable of doing only what it is instructed to do. If faulty instructions are provided for processing data, obviously faulty answers will be produced.
3. Consistency: Computers are highly consistent. They never get bored by repetitive work. Hence they are ideal for carrying out repetitive and voluminous work.
4. Storage capacity: Today's computers can store huge amounts of data. Information can be recovered almost instantly and is never forgotten once it has been recorded. Thus a single CD ROM can contain the entire Encyclopedia Britannica and more.
5. Flexibility: Computer is a versatile machine and its use is limited only by your imagination. Today computers can practically be used in any field to great advantage. Unlike other machines which are designed for a particular task, computers are the most general purpose machines. You can use computers to play music, see movies, type letters, send e-mail, diagnose illness, fix problems in complex manufacturing operations, design buildings and bridges and so on and so forth.
Disadvantages of Computer
The main disadvantages of computers are that
1. They are not originally creative and they will never be.
2. Lack of IQ - Most people think that computers have superhuman abilities. But that is not true. Computers do not have the innate intelligence that humans have.
3. Lack of decision making ability - Computers cannot make decisions on their own. They do not have the intuitive abilities that humans have.
■ Growth of Number System
■ Types of Number System
■ Evolution of Computing Machines
Over the past few decades, major developments took place in the field of computers. Computing technology has advanced tremendously in terms of both hard ware and software. This did not happen over night. The technologies gradually evolved in successive stages.
At present, we have very powerful computing environments that use extremely fast and reliable computers. A few decades ago, this was unimaginable. Today computers of all sizes and capabilities are available ranging from small home computers (or micro computers) to large mainframes and supercomputers. In order to understand and appreciate the impact of computers on our lives, it is essential for us to gain some knowledge regarding their evolution.
People lived on earth for many years without keeping records. But as tribes grew into nations, trade and commerce developed. Ancient people used very primitive forms of devices and methods for keeping records. By 3500 B.C, Babylonians used clay tablets for keeping records. Man had been on the search for faster computing devices.
The abacus invented in 3000 B.C (about 5000 years ago) is considered to be the earliest manual calculating machine. The abacus used a system of beads moving over rods. It could perform arithmetic by using place values of digits of numbers and position of beeds.
In 1642, the first mechanical calculating machine was developed by Blaise Pascal, a young Frenchman. This machine, called Pascal's Adding machine used a system of wheels having numbers on their teeth. Calculations were performed by rotating the wheels.
About 30 years later, in 1671 Gottfried Von Leibnitz, a German Mathematician improved on Pascal's invention by producing a machine which could add, subtract, multiply, divide and extract roots.
The history of punched cards dates back to 1801, when a French weaver named Joseph Marie Jacquard invented them to control his mechanical looms. In 1887, Herman Hollerith, a statistician developed machine readable punched card and designed a machine called "Census Machine". These cards were first used for tabulating census data.
Punched card processing was based on a simple idea. Input data were first recorded in a coded form by pinching holes cards. These cards were then fed to the electro-mechanical machines that performed the processing steps. But it still needed human operators to handle trays of cards.
In 1833, Charles Babbage, a professor of Mathematics at Cambridge University in England developed a machine, which he named "analytical engine". Babbage spent much of his life working to develop this complex machine. Babbage realized that machine's were best at performing tasks repeatedly without mistakes. The analytical engine had a input unit, output unit, memory and a arithmetic unit. Thus in fact what was invented by Babbage was a prototype of the modern computer. Assisting Babbage in his efforts was Lady Augusta Ada Lovelace, the daughter of Lord Byron, the poet. A brilliant mathematician, Ada corrected some errors in Babbage's work and invented new approaches to program design using punched cards. She is often referred to as the first computer programmer. In the 1980's the U.S Department of Defense named a programming language, ADA in her honour.
In the later years several engineers made sonic significant advances. Of these developments was the Mark I digital computer in 1944 by Howard Aiken which was the first electro- mechanical computer. In 1937, Dr. John Vincent Atanasoff, professor of physics built the "ABC computer" that used vaccum tubes for storage.
■ Discovery leading to Advanced Computing
Charles Babbage was the first person to conceive an automatic calculator or a computer in 1833. He is credited with inventing the first mechanical computer. He originated the concept of a programmable computer. Babbage's difference engine was created to calculate a series of values automatically. The inventor of the program - controlled computer was Konrad Zuse, who built the first working computer in 1941 and later in 1955 the first computer based on magnetic storage. The first mechanical computer, Mark-I was developed by Howard Ekin in 1937. John Vincent Atanasoff & Clifford Berry invented world's first fully electronic digital computer (ABC) in 1942. J.P.Eckert and John Mauchly invented world's first electronic computer 'ENIAC-I' in 1946. John Von Neumann invented EDVAC (Electronic Discrete Variable Automatic Computer) in 1951, in which they used stored program. The credit of using Binary System in computers also goes to him. In 1949, Maurice Wilkes assembled the EDSAC, the first practical stored program computer. World's first commercial computer, UNIVAC was invented in 1951 by John Presper Eckert & John.W.Mauchly. Blaise Pascal invents the first commercial calculator, a hand powered adding machine. John Backus & IBM developed the first successful high level programming language FORTRAN in 1954. John Kilby & Robert Noyce invented integrated circuit or IC chips in 1958. Douglas Engelbart invented computer mouse and windows in 1964. Faggin, Hoff & Mazor developed the first microprocessor Intel 4004 in 1971. Alan Shuggart developed floppy disk in 1971. Robert Metcalfe in 1973 developed the Ethernet computer networking. In 1975 the IBM 5100 becomes the first commercially available portable computer. In 1981, the first IBM personal computer, code named "Acorn," is introduced.
■ Generations of Computer
■ Some Major Processors and its number of transistors
■ Different types of computers based on work
■ Different types of computer based on size and work
■ Turing Machine
■ John Von Neuman Architecture
HARDWARES
■ Components of Hardware
■ Central Processing Unit
■ Clock Speed and Cache Memory
■ Mother Board
■ Bus
■ Peripherals and Ports
■ Memory Unit
■ Disk Scheduling
■ Data Processing
■ Input Unit
■ Output Unit
■ Types of Printer
■ Hard Copy and Soft Copy
■ Fathers in Computer Science
SOFTWARES
■ System Software
The set of programs that directly control
the computer's internal operations and also those programs that help ordinary
users to make use of a computer are called system programs. System software in
IT provides a convenient layer of abstraction over the hardware and make the
use of the computer simple. Therefore system software is the most essential
component of a computer system. Developing system software requires good
knowledge of the hardware. The system software can be further classified into
two categories:
1. Operating System
2. Language Processors
1. Operating
System:
The Operating system (OS) is the most
important and essential piece of software in the computer. The term 'Operating
System' refers to a set of programs that control, and co-ordinate the operation
and help to make efficient use of its resources. By resources, we mean the CPU,
memory and I/O devices.
The operating system acts as an interface
between the user and the hat hardware (bare machine). The user interacts with
the operating system which in turn makes the machine carry out the tasks. But
the user feels that the hardware directly obeys his/her commands. But it is the
operating system in disguise that makes the hardware execute the tasks.
The operating system can be thought of as a
manager of resources. It gives users a convenient working environment by managing
the allocation of various resources. Most Operating Systems offer the following
features:-
1. Provides a command level interface.
Users can interact by typing commands directly. This part of the O.S is usually
called a command interpreter or shell.
2. Performs the core functions of managing
CPU, memory, devices. This part is called the Kernel.
3. The operating system also keeps track of
storage and retrieval of information. This part is usually called the file
system.
4. For programmers, the operating system
provides a set of built in functions that help to directly access system
features. These are called APIs (Application Programming Interfaces) or System
Calls.
Types
of Operating Systems:
The extent to which the resources are made
use of, is determined by the type of operating system. The type of OS also
determines the type of applications that can be run on the computer.
An operating system that allows only one
program to execute (or only one user) at a time is called a single tasking or
single user operating system (or Non-multiprogramming O.S).
A multiprogramming O.S on the other hand
allows execution of two or more programs (task) simultaneously. In multiprogramming,
many programs are simultaneously kept in the main memory and the CPU is switched
between them. Multiprogramming is a general term used to indicate simultaneous
execution of more than one program. The term multitasking is also used.
Time
Sharing Systems:
A time sharing system allows simultaneous
interactive use of a computer by many users connected through terminals. The
operating system switches the attention of the CPU to each user's task. It is
also called a multiuser system.
Real
Time Systems:
Real time OSs are characterized by fast
response. They are used in time critical applications like control of physical
systems.
Eg:- Control of radars, weapon systems,
nuclear reactors.
Multiprocessing
Systems:
Here the operating system makes use of
multiple processors. The operating system schedules the task and cause
processors to share the load. In multiprocessor architecture, there is a master
processor and one or more slave processors. In certain other systems all
processors have same status. The processors communicate and co-operate at
different levels in solving a problem.
Type of OS and Examples are as follows.
Single-tasking - PC-DOS, MSDOS
Multi tasking - MS-Windows, UNIX, Linux,
OS/2
Time Sharing - UNIX, Linux
Multiprocessing - UNIX, Windows NT
There are two types of multiprocessor
systems-shared memory type and distributed memory type. In shared memory type,
the main memory is accessible by all processors. In the distributed memory type
multiprocessor system, each processor has a large local memory.
Popular Operating Systems for PC
We have learned that an operating system is a program that controls and manages all operations in a computer system. Personal Computers (PCs) have brought about a revolution in the use of computer. Today a PC can be found in every small business or even at homes. There are many popular operating systems available for personal computer.
These are MS-DOS, MS-Windows, LINUX, UNIX, OS/2, Mac OS etc. Out of these the Windows operating system is the most popular one.
DOS
DOS stands for Disk Operating System. It was originally developed for the IBM and compatible personal computers in 1980. It was the most popular operating system until Microsoft released the Windows operating system. The Microsoft version of DOS was named MS-DOS. Another version called PC-DOS was also popular.
DOS is basically a single-user operating system. The DOS operating system supported file management, directory management, memory management as well as standard I/O devices and disk drives and printers in a PC. DOS also has a program called 'Command Interpreter' to execute commands typed through the keyboard. There are a number of built in commands for various operations in DOS. A set of utility programs are also supplied with DOS. These utilities help users to perform various activities like copying, editing and sorting files. DOS was a text based system. Users had to type in commands to do any task. More over it was intended for a single user. When advanced microprocessors were invented and also with development of micro computers hardware technology, DOS became inefficient in using the hardware capabilities. DOS is a most compact operating system. It required only the 16 bit processor (Intel 8086/88) and 640 Kilo Bytes of memory.
Windows Operating System
Windows is a Graphical User Interface (GUI) based operating system developed by Microsoft Corporation. Windows was developed with two main objectives:
(i) to provide an easy to use interface for users and
(ii) to make use of 32 bit microprocessor features.
In GUI, users can make use of the common graphical input device such as the mouse to start programs or select commands. Users can visually interact with the computer. This is much more easier than typing commands in the old DOS operating system.
In the Graphical User Interface, each application (program) has a window. The user can interact with the application through the window. All windows have menus, and a set of buttons to minimize, maximize or close the window. A menu is a list of commands in the application Users can select commands in a menu with the mouse. In Windows, users can easily launch programs or do file operations very easily. For example to start a program move the mouse pointer to the programs icon (icon is a small graphic picture that represents a program) on the screen and click on it. There is no need to memorize any command. The GUI working environment is visually rich and attractive. This is because of extensive support for graphics. This was not a feature available in the DOS system.
Multitasking in Windows
The Windows operating system allows multitasking. Multitasking means executing several programs simultaneously in the computer. It is possible to open many programs and keep them running together by sharing CPU, memory and other computer resources. Each task opens up and runs in a separate window. One task will not interface with other tasks. For example you can db word processing, web browsing or play music or video all at the same time.
Windows Versions
The first fully fledged version of Windows was released in 1995. It was named Windows '95’. Later many other versions were released. These are Windows 98, Windows NT and Windows 2000. There are also some special editions of Windows suitable for laptops and note book PC's. These versions are named Windows XP, Windows CE, Windows Vista, Windows 7, Windows 8 and Windows 10. Most of these versions (Except Windows NT) had a feature known as Plug and play. Plug and play means that the system will automatically detect and configure most new hardware devices like mouse, modem, printers, sound card etc. Most people use Windows for running multimedia applications.
UNIX Operating System
The UNIX operating system was first developed at Bell Laboratories, USA in 1969. It is a multiuser time sharing system. UNIX was a major operating system for large machines. Today there are many versions of UNIX that run on a wide variety of computers from PC's to mainframes. The UNIX operating system is written in the C programming language. Therefore it was easy to modify the program to run on different hardware.
The important features of UNIX are
➢ Simple and powerful command interface called the shell
➢ Large number of tools for program developers.
➢ An easy to use file system with a tree structure.
➢ Unix offers security protection, ie, every user must be identified with user id and password. It is also possible to control access to files.
LINUX
Linux is a 'Unix like' operating system which was developed by many developers all over the world. Linux follows the free software philosophy. Many versions of Linux are supplied along with the source code. Users have the freedom to modify the operating system and redistribute it. Linux combines the powerful Unix features along with a easy to use graphical interface. It is best suited for being used for running servers. It can also be used on desktop PC's. Linux has became very advanced and a close competitor to the Windows operating system. Different distributions of Linux are Red Hat Linux, Suzze Linux etc.
2. Language
Processors:
A computer can understand only machine
language. A machine language program consists of numeric instruction codes.
Therefore it is difficult to write programs directly in the machine language.
Therefore programmers prefer to write programs in more convenient languages
called High Level Languages (HLLs) There is a big difference between machine
language and high level language. So it is necessarily to translate programs
written in MI to equivalent machine language. System programs that perform this
translation are called language processors.
Language processors analyse the source
language (HLL) statements in an analysis phase. In the synthesis phase they
generate machine language program. Language processors thus make the programming
task easy. The Translation Process is as follows.
Program in HLL (Source code) --->
Translator ---> Program in Machine language (Object code)
The different types of language processors
are assembler, compiler and interpreter.
Assembler
:
Assembly language is a language that uses
symbolic instruction codes instead of numeric instructions. An assembler
translates a program written in assembly languages into machine language
equivalent.
Compiler
:
A compiler is a program that translates a
HLL program into equivalent machine language. A compiler first scans the source
program. It reports the errors in the program. This is helpful for correcting
the errors. Most high level languages like C, COBOL, Fortran, C++ etc use
compilers.
Interpreter
:
An interpreter translates and executes the
source program line by line. Whenever it finds an error it is reported, and
program execution can resume only after correcting the error. Interpreters are
slow because each time it encounters a statement, translation must be done.
Moreover the interpreter must be present in memory to execute the user's
program. BASIC is an example for interpreted language.
■ General Purpose Application Software
They serve the common needs of many users.
General purpose software packages are:-
1. Word processing packages
2. Electronic spreadsheets
3. Graphics and multimedia packages
4. Database Management packages
5. Desk Top Publishing packages
1. Word
Processing Packages:
A word processing package (Word processor)
is a program which is used to process text. It allows the user to type, view,
edit, manipulate, store and retrieve text material. With word processors we can
create well formatted documents that may contain text and even graphics. We can
create letters, statements, leaflets etc with a word-processing package.
Word processors offer many text formatting
features like various fonts (letter shapes), size, styles (italic, underlined,
and bold text). Page layout features like, left, right, top and bottom margins
; text alignment like left aligned, right aligned and justified text. Latest
word processors have features like automatic spelling check, and thesaurus.
Another feature is moving or cutting and pasting blocks of text, 'Search and
Replace feature', which allows to replace all occurrences of a text pattern
(say a word) with another text pattern. We can draw simple figures consisting
of circles, rectangles and lines. We can also insert tables and pictures in a
document. With the print preview feature, we can see a preview of pages in
exactly the same way as would it appear when printed on paper. After editing a
document it can be saved as a file for future use or printed.
Multilingual word processors support many
different languages.
Some examples of word processing packges
are MS-Word, Wordperfect, Softword, LEAP, ISM (multilingual) etc. The LEAP
package supports 13 Indian languages.
2. Electronic
Spreadsheets
An Electronic spreadsheet package is a
software tool for manipulating data in tabular form. It is mainly used as a
data analysis package, as a tool for calculating and analyzing numbers. A
spreadsheet is a grid of rows and columns. The intersections of rows and
columns are called cells. A spreadsheet is thus the electronic equivalent of a
multicolumn worksheet. The main advantage of a electronic spreadsheet is it's
size. It allows its to create very large worksheets having several hundred
columns and thousands of rows.
In a spreadsheet cell, text, numbers or
formulas can be entered. Any formula entered is automatically evaluated and
displayed by the program. Each cell has an address formed out of the column
label and row number rows are numbered 1, 2, 3...etc and columns are labeled A,
B, C... It is possible to format the contents of a cell. For example, the
address of the top left cell is A1, the cell on its right is B1 and the one
below it is A2.
It is easy to delete, copy or move a
selected range of cells. A spreadsheet offers a number of built in functions
used for special calculations, like finding the sum, average, minimum, maximum
etc. Automatic recalculation helps to easily find the effect of changes in cell
entries. The macro feature allows users to issue a sequence of commands or key
stokes automatically.
Electronic spreadsheets also have features
to prepare different types of graphic charts like pie charts, bar charts etc.,
out of the data entered. Another powerful feature of an electronic spreadsheet
lies in its ability to explore how some numbers affect others. This is called
what- if analysis. It is possible to experiment with different sets of data for
a given set of formulas. When data are changed, it's effect is immediately
reflected in all related cells.
Common uses of electronic spread sheets
are:
➢ Financial analysis
➢ Graphics and presentations
➢ Preparation of
Accounts statement
➢ Preparation of
payment schedules
➢ Preparing budgets
and estimates
➢ Preparing income
tax returns
Visicale C, Lotus
1-2-3, Microsoft Excel, Quattro pro are examples of electronic spreadsheet
packages.
3. Graphics and Multimedia Packages
Graphics packages are software designed for
creating and manipulating images using a computer. Drawings, graphics and
pictures can be created and edited using graphic Software. With the help of
software, we can do the work of a draftsman or artist, but of course we must
have the skill and creativity. Certain graphic packages can generate charts and
graphics from numeric input. Scanned images and photographs can be edited using
special purpose packages. Today software packages are available with very
advanced image processing features.
Adobe photoshop, Paintshop pro, Ulead photo
impact etc. are popular image editing software for the windows environment.
Software that can work with images, text,
sound, animation and video are termed multimedia packages. These are very
useful for recording and playing sound and movies. In order to run multimedia
applications, the computer must have special multimedia hardware. The compact
disk media is used for storing multimedia content. Software tools that are used
for creation of multimedia presentation are called multimedia authoring tools.
Multimedia technologies are used for creating films, advertisements and also
educational packages. High quality multimedia productions require powerful
graphics workstations.
4. Database
Management Systems
A database management system (DBMS) is a
software used to manipulate large volumes of data stored in well organized
manner, called a database. A database is a repository of related collections of
data. For example, a company database might contain information about
customers, suppliers, employees, sales and inventory.
The DBMS stores data in a way that allows
it to access those data at any time. A database also makes efficient storage of
data and their relationships. It makes easy and quick manipulation of data.
Data Base Management Systems are an essential part of use of computers in the
business world including large manufacturing concerns, banking, airlines and
insurance. DBMS provides a central warehouse of data needed by various
applications. ie organizations maintain a central database which is shared by
all users. A DBMS can also provide services to users and to other programs that
need to access data. Today most database products have a client server
architecture. In this, there are two components- database server and database
client. The database server is a program that maintains and provides access to
the database.
A client is a program that runs on a
users's computer and sends request to the database server. The server sends the
requested data to the client. All processing is done by the server.
5. Desk
Top Publishing (DTP) Packages :
The introduction of desktop publishing
software was a break through for microcomputers. DTP packages can be used for
creating professional quality documents and publications.
DTP software integrates the processes of
design, typesetting and pasteup into one task down on a personal computer. We
can create an entire publication such as a textbook on a PC with the help of a
DTP software - DTP softwares have much more advanced features than wordprocessing
packages. Some of these features are:-
➢ Multiple column
text
➢ Importing graphics
➢ Scaling and
cropping graphics
➢ Running Text around graphics
➢ Formatting text in different fonts
➢ Defining paragraph formats like, alignment, line spacing, table etc.
➢ Setting custom headers, footers and page numbers
➢ Applying lines, borders and shading of text and graphics
➢ Creating footnotes
➢ Advanced page layout features
➢ A clip art library of ready to use pictures.
Examples of DTP Packages are Aldus
PageMaker, CorelDraw, Quarck Express, Microsoft publisher etc. Some examples of
Indian, multilingual packages are, prakashak, Lipi, ISM, Patrika etc.
Integrated
(Multi-function) Packages
These are Packages that combine several general purpose functions in a single product. They integrates, word processing, spreadsheet manipulation, database management, graphics and communications in to a single suite. These many in one packages are now used in many offices with microcomputers or by individuals on their PC's. Microsoft Office 2000 and Lotus Smart Suite are two commonly used packages in MS- Windows based PC's.
■ Utilities
Some important utilities are discussed below:
1. Text Editor. This utility programe is used for creating, editing text files. Using this programe any text manner(generally in English-like language) can be typed and saved on a disk file. This files can be retrieved any time and can also be edited, corrected etc. Text editor software support special commands for text editing i.e, You can insert, delete, find, replace characters, lines and paragraphs etc.
2. Back up utility . This utility programe facilitates the backing up of disk. Back-up means duplicating the disk information so that in case of any damage or date-loss, this backed up data may be used.
3. Disk Defragmentor. This utilities programe attempts to minimise the fragmentation on your disk. A file is fragmented when it become too large for your computer to store in a single location on a disk. When this happens, your computer splits the rile up and stores it in pieces. You can use fragmented files, but it takes your computer longer to access them. Disk Defragmentor speeds up disk access by rearranging the files and free space on your computer, so that files are stored in contiguous units and free space is consolidated in one contiguous block.
4. Antivirus Software. This utility programe ensures virus-free work environment. A computer virus is a computer programe that can inject other computer programe by modifying them in such a way as to include a copy of itself. A virus not only copies itself but also makes the computer system work abnormally. For instance unknown or untasked message may get flashed or unwanted music gets played or unwanted graphical displayes might occur. An antivirus software scans your hard disk or any other storage device for viruses and eliminate them, if any virus is found. Moreover, some antivirus software remains present in memory all the tier so that they can detect the viruses (as soon as they occur) and counterattack them.
Customized Software
General purpose software packages are meant for specific tasks like wordprocessing or spreadsheet preparation. Custom-made software on the other hand are developed to meet the processing needs of a specific organisation or individual. These are tailor-made according to the specific requirements of the user. Most large organisations have a in-house software development facility with systems and software professionals. Organisations that don't have in-house facility approach another software development company. Custom - software development is needed as a consequence of computerization process. Custom-made softwares are generally for data- processing needs and building information systems.
■ Types of User Interface
User Interface, in computer science, is the portion of a program with which a user interacts. If the user enters commands at the keyboard and the program responds by operating in a specific manner, the program has a command-line interface. if commands to the program are typically given via menu selections, the program is said to have a menu-driven interface. Generally user interface is classified into two: Character User Interface (CUI) and Graphics User Interface (GUI).
Character User Interface or CUI provides certain commands to interact with computer. When such programs are executed by the system (computer), there will be a provision (known as prompts) to give these commands. By typing commands at the prompt delimited by Enter key, computer executes the instructions associated with those commands. The draw back of such interface is that user has to remember the commands and their syntax (the format of the command to be followed). Incorrect syntax of command will not work and even there will not be help for correct usage. The earlier popular operating system MS DOS (Microsoft Disk Operating System) is an example for CUI.
Graphical User Interface or GUI, is a type of display format that enables the user to choose commands, start programs, and see lists of files and other options by pointing to pictorial representations (icons) and lists of menu items on the screen. Choices can generally be activated either with the keyboard or with a mouse. For application developers, GUIs offer an environment that takes care of the direct interaction with the computer. This frees the developer to concentrate on the application without getting tied up in the details of screen display or mouse and keyboard input. It also enables programmers to create programs that always handle frequently performed tasks, such as saving a data file, in the same way because the interface provides standard controlling mechanisms such as windows and dialog boxes. Another benefit is that applications written for a GUI are device-independent: as the interface changes to support new input and output devices, such as a large-screen monitor or an optical storage device, the applications can, without modification, use those devices.
■ Legal
Implication in the use of Software
Software enables us to accomplish many
different tasks with computers. Unfortunately, some people make and use
unauthorized copies of software. This tendency is widespread in countries that
have not enacted any law relating to ethical and legal use of software. In this
section we would look at the problem from various angles.
Respect for the intellectual work and property
of others has been traditionally accepted because electronic information is
valuable and easily reproduced, respect for the work and personal expression of
others is important in computer environments.
1. Legal
Restrictions on use of Software
According to law,
making a backup copy by a person who has legally purchased a software is
allowed in many cases.
2. Software
License Agreements
Most software comes with a clearly visible
license agreement. Some licenses may restrict the use of software to a specific
computer. Copyright law does not permit anyone to run the software on two or
more computers simultaneously. However, it may be legal to loan the software
to another person temporarily.
A License restricts how and where the
software may be legally used. This applies to software installed on hard disks
in microcomputer clusters, software distributed by a campus lending library or
software purchased by an educational institution. Licensing terms also cover
use of software in a campus network. Some institutional licenses permit copying
for certain purposes. It must also be understood that it is illegal for a
teacher or student to copy software for distribution among the members of a
class.
Copy-Protected
Software
Copy-protected software means that copying
or installation of the software is not allowed. Copy protected software will
require the user to install it from original copy. Sometimes it may also require the user to enter a key or a serial number at the time of installation. Some
software will be distributed in such a way that only a few installations would
he possible. Software available through institutional site licenses or bulk
purchases is subject to copyright and license restrictions. Copyright and
license restrictions also apply to the documentation such as manuals.
Legal
Software Alternatives
Software can be very expensive. It may not
be possible for everybody to purchase software and use it on all occasions.
Strict licensing may sometimes discourage people from using a software. User
must be allowed to examine software features before actual purchase. There are
some legal alternatives to unauthorized copying and use of software. Two
possible alternatives are "Shareware" and "Public Domain
Software".
Shareware
Shareware or "user-supported" software
is copyrighted software that the developer encourages others to copy, use and
distribute. This permission will be explicitly stated in the documentation.
Public
Domain Software
It can be copied and shared freely. These
software may not have any copyright notice. Be aware that sometimes such public
domain software may contain viruses.
Problems
related to unauthorized use of software:
➢ Unauthorized copyright and use of
software can harm the entire society.
➢ Unauthorized use of software may bring
legal liability.
➢ Developers will be deprived of a fair
return for their intellectual work.
➢ Prices of software may get increased,
level of further support may be decreased.
➢ The users will be solely responsible for
any damage or loss of property arising from unauthorized use of software.
3. Software
Piracy
Software is a valuable resource that runs
everything from personal computers to the Internet. Software piracy is
widespread because it is very valuable and at the same time easy to copy. It is
easy to create an exact copy of a computer program in seconds. People who
pirate software may be individual computer users or "Piracy
professionals" who deal wholesale in stolen software. Piracy exists in
schools, business and government. Software pirates not only steal from the
companies that make software. As the number of PCs and Internet use is growing,
the incidents of piracy are also growing.
Software piracy may be defined as the
unauthorized duplication, distribution, or use of computer software. Making
more copies of software than the license allows or installing software licensed
for one computer onto multiple computers or a server etc are different forms of
piracy. Copying software is an act of copyright violation and is subject to
civil and criminal penalties. It is illegal to use pirated software, give it to
someone, or sell it.
Forms
of Piracy
(i) End User Piracy- This occurs when a company employee reproduces copies of software
without permission. Other instances of this kind of piracy are, using one
licensed copy to install a program on multiple computers, copying disks for
installation and distribution, taking advantage of upgrade offers without
having a legal copy of the version to be upgraded, acquiring academic or other
restricted or non-retail software, swapping disks in or out of the workplace
etc.
(ii)
Client - Server Overuse- This type of piracy occurs
when too many employees on a network are using a central copy of a program at
the same time. When sharing software in a Local Area Network, the number of
users may exceed that allowed by the software license.
(iii)
Internet Piracy - This occurs when software is
downloaded from the Internet. Internet piracy can be of the following forms:-
➢Pirate websites that make software
available for free download.
➢Internet auction sites that offer
counterfeit software.
(iv)
Hard - Disk Loading- Some computer sellers load
illegal copies of software on to the hard disks to attract buyers. The same
concern apply to value added reseller, They sell or install new software to
computers.
(v)
Software Counterfeiting
4. Free
Software
The word "free" has two general
meanings; it can refer either to freedom or to price. The "Free" in
"Free Software" means freedom. It means that a user is free, to run
the program, change the program and re-distribute the program with or without
changes. The opposite of free software is called proprietary software. These
are software that are copyrighted by developers. Copyrighted software does not
offer any kind of freedom to modify it. The free software philosophy has
emerged as a result of many problems associated with proprietary software. The
user of proprietary software has to depend on the software vendor (developer)
to fix problems and customizing it. The terms and conditions of license are
very strict. The user may have to pay for each copy or installation. Brit free
software does not have these disadvantages. Free software follows the concept
of "Copyleft" as opposed to "Copyright".
The
Freedom of Free Software
There are four kinds of freedom for the
users:
Freedom 0 – It allows the freedom to run
the program for any use.
Freedom 1 - The freedom to study how the
software works and adapt it to user's needs, i.e, access to the source code.
Freedom 2 - The freedom to re-distribute
copies.
Freedom 4 - The freedom to progress the
program, and liberate the perfection to the public, so that the whole community
benefits.
To decide whether a specific software
license qualifies as a free software license, it is judged with the above
criteria.
Selling
Free Software
"Free Software" does not mean
"non-commercial". It must be available for commercial use, commercial
development and distribution. Free software is usually sold for some price.
This is necessary for developers to raise funds. Free software is a community
project. Every one who depends on it must also contribute to building the
community. By funding development, users can advance the world of free
software.
The
Free Software Foundation
The Free Software Foundation (FSF), founded
in 1985 in the USA is dedicated to promoting free software. The FSF promotes
the development and use of free (as in freedom) software, particularly the
Linux operating system. The foundation is engaged in the development of new
free software.
■ Humanware/Liveware
PROGRAMMING
■ Different Phases of Programming
■ Important Programming Instructions
COMPUTER NETWORKS
■ Computer Network
■ Data Communication System
■ Computer Network Devices
■ Data Terminal Equipment (DTE)
■ Network Topology
■ Various Networks
■ Logical Classification of Network
■ Identification of Computers in Network
■ Protocols in Computer Network
■ Uniform Resource Locator (URL)
■ Network Technologies
INTERNET
■ Arpanet
■ Internet
■ Extranet
■ Councils of Monitoring Internet
■ Services on Internet
■ Social Media
■ Web Designing
CYBER WRONGS
■ General Threats affecting Computer Network
■ Cyber Space
■ Cyber Crimes
■ Cyber Ethics
■ Captcha
■ Cyber Laws
■ Information Technology Act 2000
■ IT Amendment Act 2008
■ Controller of Certifying Authorities
■ Cyber Forensics
■ Infomania
■ Computer in India
