Computer Science

Arun Mohan
0

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 

Tags

Post a Comment

0 Comments
Post a Comment (0)