A computer port is a connecting socket, outside the system into which different types of cables are plugged.
* Input/ output ports are the interfaces through which computers communicate with external devices such as printers, modems, joysticks and terminals.
* Different interfaces and ports have different communication speeds and bandwidths to carry data to and from the CPU.
Commonly used Ports
1. Parallel Port:
* A parallel port transmits 8 bits of a byte of data in parallel as it contains eight or more data lines for control of I/O devices.
* It is commonly used to connect the printer to a computer.
* It is used for transmitting fast data over short distances because interference among multiple signals limits the cable to relatively short distances.
2. Serial Port:
* A serial port transmits one bit of a byte at a time as a single stream of bits.
* It is meant for transmitting slow data over long distances.
* Communication over a phone system is an example of serial communication.
* A serial port connects a variety of devices such as modems, scanners, barcode readers and device control circuits.
3. PS/2 Port:
* It is one of the serial port connectors used to plug mouse and keyboards into a personal computer.
* It consists of six pins in a small and round shaped socket.
4. Universal Serial Bus Port (USB):
* USB port is the most popular port used to connect up to 127 peripheral devices such as digital camera, speaker, scanner, printer, plotter, modem, joystick, pen drive, etc.
* USB permits plug and play i.e. it allows us to install device drivers as and when the devices are plugged on.
5. Small Computer System Interface (SCSI) Port:
* SCSI port allows data transmission in a “daisy chain” to up to 7 devices at a speed (32 bits at a time) much higher than serial and parallel ports.
* The devices that may be connected to SCSI ports are hard-disk drives, CD-ROM drives, scanners, backup units, network adopters etc.
* In daisy chain several devices are connected in series. If data has to reach the seventh device then it needs to go through, all the six devices first.
The computer does not have its own intelligence. It can as an obedient servant, execute instructions. But it has tremendous potential to execute them with an accuracy and speed far exceeding the domain human physical capabilities.
Software is usually divided into two major categories:
a) System software
b) Application software
It is a set of one or more programs, which are designed to control the operation and networking of computers.
* It acts as an intermediary between computer hardware and application program. It can further be divided into three types:
a) Operating System:
* An operating system is a set of instructions that manages overall performance and functioning of the computer system by controlling the resources such as CPU, memory, I/O devices and overall flow of information within the system.
* It acts as an interface between the machine and its users. Some examples are Linux, MS/PC-DOS, Mac OS, Windows etc.
b) Language Processing:
* For program execution, instructions must be converted into the machine language.
* Language processors are used to convert assembly language and high-level language programs into machine level language.
Examples: Assemblers, translators and compilers.
* These are designed to aid, manage and tune the computer hardware, operating system or application software.
* These are also known as service programs, service routines, tools or utility routines.
Examples: Disk defragmenter, disk compression, disk cleanup, disk checkup etc.
It is a set of one or more programs designed to do a specific task such as processing of student admission examination result, pay calculation, payroll, general accounting, inventory control.
* Different organisations need different application programs. The special purpose programs are also known as “packages”.
A computer system comprises not only of hardware or software but of both. Hardware is generally controlled by the software. Software is a set of instructions called a program.
* The word program means a sequence of steps like come home, wash hands, have a cup of tea or lunch and like this we prepare a list of activities that we are going to do throughout the day.
* While designing a software, instructions need to be written in a proper sequence.
Shareware software: It is copyrighted software that is distributed on a ‘try before we buy’ basis by paying a nominal shareware fee.
* Users who want to continue using the program after the trial period are encouraged to send a payment for the program to the program developer.
* Shareware is generally less expensive because often a single programmer develops it.
Freeware programs: These are programs that are given away free of charge and often made available on the internet.
* The programmer offers programs as freeware either for personal satisfaction or to assess its reception among interested users.
* Program developers often retain all rights to their freeware and users are not free to copy or distribute or sell it further.
Open source: It describes the principles and methodologies to promote open access to the production and design process for various goods, products, resources and technical conclusions or advice.
* The term is most commonly applied to the source code of software that is made available to the general public with either relaxed or non-existent intellectual property restrictions.
* This allows users to create user generated software content through either incremental individual effort or collaboration.
When any job or task is written or described in a sequence of steps in plain English language, it is called an algorithm.
* It can contain simple words, which convey meaning, to do a task. For example, algorithm to add two numbers can be simply described in a few steps given below:
2. Accept first number as A
3. Accept second number as B
4. Take a number C = A + B
5. Display C
As the computer is a machine and does not have a brain of its own we need to tell from where to begin and where to end. In the above example, use of ‘Start’ and ‘End’ is to indicate the beginning and end of the task.
Pictorial representation of these steps is known as flowchart. A flowchart uses a particular set of symbols.
After preparing an algorithm and a flowchart for a particular software it has to be written in the computer coded language. Unlike humans, computers can understand language of only 0s and1s (binary digits), i.e., binary number system
Machine language: It was the first generation computer language. Machine language is faster in executions since the computer directly starts executing it but at the same time it is very difficult to write and understand.
Assembly language: As it was very difficult to generate code in machine language, the assembly language was developed which consisted of small meaningful terms. This is considered to be the second generation language.
* A machine cannot execute an assembly languages program directly as it is not in a binary form.
* An assembler is needed in order to translate an assembly language program into the object code executable by the machine.
* Writing a program in assembly language is more convenient than in machine language. It is more readable.
* Assembly language is not portable. It means that assembly language program written for one processor will not work on a different processor.
* Assembly language program is not as fast as machine language because it has to be first translated into machine (binary) language code.
Note: Machine language and assembly language are referred to as low level languages since the coding for a problem is at the individual instruction level.
High level languages: Programming languages like C, PASCAL, COBOL, FORTRAN and BASIC. These are called high level languages or third generation languages.
* The time and cost of creating machine and assembly languages was quite high and this was the prime motivation for the development of high level languages.
* A high level source program must be translated first into a form which the machine can understand; this is done by a software called compiler.
Fourth generation language: Most fourth generation languages are non–procedural languages.
* The programmer does not have to give the details of procedure in the program, but instead, specify what is wanted.
* Major fourth generation languages are used to get information from files and databases. They are query languages, which are used to answer queries or question with data from a database.
Fifth generation: Programming languages will permit the user to give commands in a more conversational way.
* These will use voice input devices rather than traditional keyboards or pointing devices.
* Fifth generation languages are used mainly in artificial intelligence research.
Ex: PROLOG, OPS5 and MERCURY are the best known fifth generation languages.