Information Technology - Hardware And Software
Hardware And Software
Hardware comprises of all physical component of the computer. This term is given to all electrical and mechanical devices attached to the computer for the purpose of input, process, and storage and output operations.
1. Primary Hardware is the CPU and its other units such as circuits and IC's.
2. Secondary Hardware is the memory and storage area of the computer.
Software is the general term used for all computing programs. A computer program is a planned, step by step set of instructions that directs the computer what to do and how to do it. It turns the data into information - that makes a computer useful. Such as:
1. System Software designed to directly operate the computer hardware.
2. Application Software enables the computer solve a specific data processing task.
The electrical, electronic, mechanical, and magnetic components that make up the computer system are together termed as ‘hardware’. These include components that are responsible for user input, display, and mathematical processing. The CPU, disk drives, internal chips and wiring, modem, peripheral devices like the monitor, keyboard, mouse, printer, speakers and so forth are together termed as computer hardware.
Components of Hardware
2. Hard Disk
Most of the components of hardware have been described in previous chapters, but an important component to be described here is the Motherboard.
A Motherboard is the Central Printed Circuit Board (PCB) in many modern computers and holds many crucial components of the system while providing connectors for other peripherals. The motherboard is sometimes alternatively known as the mainboard or system board. It is the main component inside the case, consisting of large rectangular board with integrated circuitry that connects the rest of the parts of the computer including the CPU, the RAM, the disk drives (CD, DVD, hard disk, or any others) as well as any peripherals connected via the ports or the expansion slots.
Components directly attached to the motherboard include:
1. The Central Processing Unit (CPU)
2. The chipset, mediating communication between the CPU and the other components of the system, including main memory
3. RAM (Random Access Memory)
4. The Basic Input Output System (BIOS), including boot firmware and power management. The tasks of BIOS are handled by operating system drivers.
5. Internal Buses connect the CPU to various internal components and to expansion cards for graphics and sound.
6. External Bus Controllers that support ports for external peripherals. These ports may be controlled directly by the southbridge I/O controller or based on expansion cards attached to the motherboard through the PCI bus.
Computer software or just software, is the collection of computer programs and related data that instructs a computer to perform the desired task or action. We can also say software refers to one or more computer programs and data held in the storage of the computer for some specific purposes. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, the software is intangible, meaning it "cannot be touched."
Components of Software
There are two broad categories of software;
1. Systems software
2. Application software.
The process of software development is called programming. Knowledge of programming languages is a must to develop various software programs for computing devices.
Here’s a Brief Overview of the Programming Languages.
These are developed with the primary objective of facilitating a large number of people to use computers without the need to know in detail the internal structure of the computer. Languages are also designed to be machine-independent. Ideally, one should be able to execute a program on any computer regardless of its manufacturer or model. We can choose any language for writing a program according to the need. But a computer executes programs only after they are represented internally in binary form (sequences of 1s and 0's). Programs written in any other language must be translated to the binary representation of the instructions before they can be executed by the computer.
The various categories of programming languages are;
1. Machine Language: This is a sequence of instructions written in the form of binary numbers consisting of 1's. 0's to which the computer responds directly. The machine language was initially referred to as code, although now the term code is used more broadly to refer to any program text. It is referred to as the first generation of programming language.
2. Assembly Language: When symbols (letters, digits or special characters) are used for the operation part, the address part and other parts of the instruction code, then such representation is called an assembly language program. This is considered to be a second-generation language. Machine and assembly languages are referred to as low-level languages since the coding for a problem is at the individual instruction level.
3. High-Level Language: High-level languages are also called procedural languages. Programming languages such as C, COBOL, FORTRAN and BASIC are high-level languages. As the time and cost for creating machine and assembly languages are high, high-level languages were developed. A program written in a high-level language should be translated into a machine compatible form and this is done by software (language translator) called a compiler. A compiler takes a high-level-language program and translates it into an executable machine-language program. There is another kind of software called interpreter which also does the translation.
4. Fourth Generation Langauge: This is referred to as 4GL, which is a high-level language that requires significantly fewer instructions than a third-generation language does to accomplish a particular task. Thus, the programmer should be able to write a program faster in 4GL than in third-generation language. Most 4GLs are non-procedural, i.e. the programmer does not have to give the details of procedure in a program, but instead specify what is desired.
5. Natural Language: Programming languages that use human language to give people more natural interaction with computers are natural languages. Natural languages allow questions or commands to be framed in a more conversational way. This comprises Artificial intelligence, which is a group of related technologies that attempt to develop machines capable of emulating human-like qualities such as learning, reasoning, communicating, seeing, and hearing.
The system software is computer software designed to operate the computer hardware and to provide and maintain a platform for running application software.
The most basic types of system software are computer BIOS and device firmware, which provide basic functionality to operate and control the hardware connected to or built into the computer. The operating system (prominent examples being Microsoft Windows, Mac OS X, and Linux), which allows the parts of a computer to work together by performing tasks like transferring data between memory and disks or rendering output onto a display device. It also provides a platform to run high-level system software and application software. Utility software, which helps to analyze, configure, optimize and maintain the computer.
An operating system is an essential component of a computer system and its primary objective is to make computer systems convenient to use and utilize computer hardware in an efficient manner. An OS is a large collection of Software, which manages resources of the computer system, such as memory, processor, file system and input/output devices. It keeps track of the status of each resource and decides who will have control over computer resources, for how long and when.
Utility software is a kind of system software designed to help analyze, configure, optimize and maintain the computer. A single piece of utility software is usually called a utility. Utility software usually focuses on how the computer infrastructure, including computer hardware, operating system, and application software and data storage operates. Due to this focus, utilities are often rather technical and targeted at people with an advanced level of computer knowledge.
Application software is written to enable the computer to solve a specific data processing task. A number of powerful Application software packages, which do not require significant programming knowledge, have been developed. These are easy to use and learn, as compared to the programming languages. Although such packages can perform many general and special functions, there are applications where these are not found to be adequate. In such cases, the application program is written to meet the exact requirements. A user application program may be written using one of these packages or a programming language.
The most important categories of software packages available are:
1. Database Management Software,
2. Spreadsheet Software,
3. Word Processing,
4. Desktop Publishing (DTP),
5. Presentation Software,
6. Graphics Software,
7. Data Communication Software,
8. Statistical and Operational Research Software.