COMPUTERS
A computer is a general purpose electronic device or machine that is programmable to process information inputs to produce the desired outputs. The physical devices that a computer is made of are referred to as the computer hardware. The programs that run on a computer are referred to as software. The term hardware refers to all of the physical devices or components that comprise the computer. A typical computer system consists of the following; the central processing unit (CPU), main memory, secondary storage devices, the motherboard which houses the BIOS (basic input output system), input devices, output devices, power supply unit and others.
The central processing unit is the main part of the computer that takes a program as input and executes it. It is the brain of the computer. The main memory is used to store data that a program might need during its execution thus acting as an information store. The processor and main memory is volatile, since when the power is shut down it loses memory or the information in its store. Thus the hard disk represents permanent storage to compensate this, so all required information to operate the computer are stored here. At the end it yields the desired results. A typical program contains a set of instructions that tell the computer regarding the operation that needs to be performed on the information store. The information store typically contains numbers and pieces of text that the program can use.
The motherboard connects all the devices on a computer; this consists of the processor socket, chipset, buses, and number of bus slots, and other connectors, slots and ports. Whereas the power supply unit supplies power from the mains usually an alternating current to be converted to direct current at the desired voltage for use by the computer.
Along with the main components (i.e., memory, CPU, and hard disk), there are a host of peripheral components that are connected to the computer. For example the keyboard and the mouse are connected to the computer. They take inputs from the user and communicate them to programs running on the processor. Similarly, to show the output of a program, the processor typically sends the output data to the monitor that can graphically display the results. It’s also possible to print the results using a printer. Finally the computer can be connected to other computers through a network.
The processes that run on the computer are controlled by the software. The main types of software used on computers involve the following; operating system software, application software, device software, utility software and programming software or software development tools.
A operating system is the most fundamental set of programs on a computer. The operating system controls the internal operation of the computer hardware, manages all of the devices connected to the computer, allows data to be saved to and retrieved from storage devices and allows other programs to run on the computer. The main operating systems in use today are Windows OS, Mac OS and Linux OS.
Application software is software that performs a specific function for a user or in some cases for another application. An application can be self-contained or it can be a group of programs that run the application for the user. Examples of application software includes office suites, graphics software, databases and database management programs, web browsers, word processors, software development tools, image editors and communication platforms.
Driver software is also known as device drivers. Device drivers control the devices and peripherals connected to a computer, enabling them to perform their specific tasks.
Utility software is part of the system software and performs specific task to keep the computer running. Utility software is always running in the background. Examples of utility software are security and optimization programs. Security programs include antivirus software and optimization programs include tools for system clean up, disk defragmentation and file compression.
Programming software and programming tools enable developers to develop, write, test and debug other software programs. These are mediator programs on which software programs rely on to translate high level language code to simpler machine level code. Besides simplifying the code the translators also do the following; assign data storage, enlist source code as well as program details, offer diagnostic reports, rectify system error during the runtime. Examples of programming software include assemblers, compilers, debuggers and interpreters.
To communicate with machines, it is necessary to convert high level thoughts and concepts to basic instructions that the machine can understand. Programmers typically write programs in a high level programming language such as c or java. These languages contain complex constructs such as structures, union, switch-case statements, classes and inheritance. These concepts are too complicated for a computer to handle. Hence, it is necessary to pass a C or C++ program through a dedicated program called a compiler that can convert it into a sequence of basic instructions. A compiler effectively removes the burden of creating machine (computer) readable code from the programmer. The programmer can concentrate only on the high level logic. The first step is to write the program in a high level language (C or C++). Subsequently the second step involves compiling it. The compiler takes the high level program as input and produces program containing machine instructions. This program is typically called an executable or binary. Note, that the compiler itself is a program consisting of basic machine instructions.
The computer is an awesome and complex machine comprising of thousands of hardware components and dedicated software. Hence, the computer has become indispensible and ubiquitous machines, which are not only found in homes and offices but as labor saving machine in all walks of life. Its ability to process vast amount of data in seconds has made it a choice in all sectors of modern life; in business as in online banking, accounting, payroll calculator and ATM software. In education as computer based test and training. In marketing, as advertising and home shopping software. In health care, as diagnostic system, patient monitoring system, pharms information system and surgery tools and software. In engineering design as cad, structural and load analysis and design software. In communication, as email and video conferencing software to mention a few of the numerous roles computers have found themselves performing today.