Key Components of Computer Hardware
Key Components of Computer Hardware
Refers to the physical, tangible computer equipment and devices, which provide support for major
functions such as input, processing (internal storage, computation and control), output, secondary
storage (for data and programs), and communication.
Hardware categories
A computer system is a set of integrated devices that input, output, process, and store data and
information. Computer systems are currently built around at least one digital processing device. There
are five main hardware components in a computer system: the central processing unit (CPU); primary
storage (main memory); secondary storage; and input and output devices.
Basic elements of hardware
The basic elements that make up a computer system are as follows:
a) Input
Most computers cannot accept data in forms customary to human communication such as speech or
hand-written documents. It is necessary, therefore, to present data to the computer in a way that
provides easy conversion into its own electronic pulse-based forms. This is commonly achieved by
typing data using the keyboard or using an electronic mouse or any other input device.
Dumb Terminal
- Used to input and receive data only.
- It cannot process data independently.
- A terminal used by an airline reservation clerk to access a mainframe computer
for flight information is an example of a dumb terminal
Intelligent Terminal
- Includes a processing unit, memory, and secondary storage.
- It uses communications software and a
telephone hookup or other communications link.
- A microcomputer connected to a larger computer by a modem or network link is
an example of an intelligent terminal.
Network Terminal
- Also known as a thin client or network computer.
- It is a low cost alternative to an intelligent terminal.
- Most network terminals do not have a hard drive.
- This type of terminal relies on a host computer or server for application or system
software.
Internet Terminal
- Is also known as a web terminal.
- It provides access to the Internet and displays web pages on a standard television
set.
- It is used almost exclusively in the home.
Direct data entry devices – Direct entry creates machine-readable data that can go directly to
the CPU. It reduces human error that may occur during keyboard entry. Direct entry devices
include pointing, scanning and voice-input devices.
Note:
Point-of-sale (POS) terminals (electronic cash registers) use both keyboard and direct entry.
• Keyboard Entry can be used to type in information.
• Direct Entry can be used to read special characters on price tags.
Point-of-sale terminals can use wand readers or platform scanners as direct entry devices.
• Wand readers or scanners reflect light on the characters.
• Reflection is changed by photoelectric cells to machine-readable code.
• Encoded information on the product’s barcode e.g. price appear on terminal’s digital display.
b) Storage
Data and instructions enter main storage, and are held until needed to be worked on. The instructions
dictate action to be taken on the data. Results of the action will be held until they are required for output.
c) Control
Each computer has a control unit that fetches instructions from main storage, interprets them, and issues
the necessary signals to the components making up the system. It directs all hardware operations
necessary in obeying instructions.
d) Processing
Instructions are obeyed and the necessary arithmetic and logic operations are carried out on the data.
The part that does this is called the Arithmetic and Logic Unit (ALU).
It consists of:
o Control Unit (CU) – The electronic circuitry of the control unit accesses program
instructions, decodes them and coordinates instruction execution in the CPU.
o Arithmetic and Logic Unit (ALU) – Performs mathematical calculations and logical
comparisons.
o Registers – These are high-speed storage circuitry that holds the instruction and the
data while the processor is executing the instruction. o Bus – This is a highway
connecting internal components to each other.
e) Output
Results are taken from main storage and fed to an output device. This may be a printer, in which case
the information is automatically converted to a printed form called hard copy or to a monitor screen for
a soft copy of data or information.
Output devices
Output is human-readable information. Input (data) is processed inside the computer’s CPU into
meaningful output (information). Output devices translate the machine-readable information into
human-readable information.
• Punched cards: characters are coded onto an 80-column card in columns by combining
punches in different locations; a special card reader reads the cards and translates them into
transactions for the computer. These are now used only for older applications.
o Character printers – Print one character at a time. o Line printers – Print one line at
a time. o Page printers – Print a whole page at a time.
Forms images via pins striking a ribbon against a paper. The print head typically have 9 or 24 pins.
The images are relatively of poor quality since dots are visible upon close inspection. Though
inexpensive compared to other types, they are noisy and low-end models are slow (speed varies with
price).
Forms images by “shooting” tiny droplets of ink on paper. They offer relatively good image quality
with so many small dots that they are not noticeable, even upon close inspection. They are relatively
quiet compared to dot matrix and most can print colour images.
o Laser jet printers
Forms images using copier technology – a laser/LED (Light Emitting Diode) lights up dots to be
blackened and toner sticks to these dot positions on the paper. They have excellent image quality – so
many small dots that they are not noticeable, even upon close inspection. They are quieter than ink jet
printers.
o Thermal Printers
Forms images using heat elements and heat – sensitive paper. It is very quiet and not widely used by
home PC users. Some very expensive colour models are available. “Ink” in these computers is wax
crayons.
Plotters
Plotters are typically used for design output. They are special-purpose output devices used to produce
charts, maps, architectural drawings and three-dimensional representations. They can produce high-
quality multi-colour documents or larger size documents. Plotters produce documents such as
blueprints or schematics.
Monitors
– Output device for soft-copy output (temporal screen display of output which lasts as long as the
monitor’s power is on). They are the most frequently used output devices. Some are used on the
desktop; others are portable. Two important characteristics of the monitor are size and clarity.
Voice-output devices
• Voice-output devices make sounds that resemble human speech.
• Voice-output devices use prerecorded vocalized sounds to produce output.
• The computer “speaks” synthesized words.
• Voice output is not as difficult to create as voice input.
• Most widely used voice-output devices are stereo speakers and headphones.
• Devices are connected to a sound card in the system unit.
• Sound card is used to capture sound as well as play it back.
▪ 5 ¼ floppy disks
▪ 3 ½ floppy disks – The most common size with a capacity of 1.44 MB.
They are not very fast and durable.
o Hard disks/Fixed disks – Also called hard drives. Their capacity range from 20 to
120 GB. They are fast and durable though not foolproof. Most are internal, but
disks that use removable cartridge are available. Disk compression can be used to
increase capacity but slows performance.
• Optical Disks – Store bits as “pits” and “lands” on surface of disk that can be detected
(read) by a laser beam.
• Magnetic Tapes – Magnetic tape is similar in composition to the kind of tape found
in videotapes and audiotapes. A plastic film is coated with iron oxide, which is
magnetized to represent bits.
o Zip drive/disk – Uses special diskettes that hold 100 MB, 250 MB or 750
MB
o SyQuest drive – Uses special cartridges that hold 200 MB
• Storage Area Network (SAN) – A storage area network connects servers and storage
devices in a network to store large volumes of data. Data stored in a storage area
network can be quickly retrieved and backed up. The use of storage area networks is
likely to increase in the near future.
• Computer Output Microfilm (COM) -Companies that must store significant
numbers of paper documents often use computer output microfilm. These devices
transfer data directly from the computer onto the microfilm, thus eliminating the
intermediate step of printing the document on paper. Newspapers and journals
typically archive old issues in this manner, although some are now using optical
storage devices.
Communication devices
• Modem - Modems allow computers (digital devices) to communicate via the phone system
(based on analog technology). It turns the computers digital data into analog, sends it over the
phone line, and then another modem at the other end of the line turns the analog signal back
into digital data.
• Fax/modem - basic digital/analog modem enhanced with fax transmission hardware that
enables faxing of information from computer to another fax/modem or a fax machine (NOTE:
a separate scanner must be connected to the computer in order to use the fax/modem to
transfer external documents)
Computer Memory
Memory capability is one of the features that distinguish a computer from other electronic devices.
Like the CPU, memory is made of silicon chips containing circuits holding data represented by on or
off electrical states, or bits. Eight bits together form a byte. Memory is usually measured in megabytes
or gigabytes.
A kilobyte is roughly 1,000 bytes. Specialized memories, such as cache memories, are typically
measured in kilobytes. Often both primary memory and secondary storage capacities today contain
megabytes, or millions of bytes, of space.
Types of Memory
Volatile Non Volatile
Memory types
RAM ROM
2. ROM (Read Only Memory) – Its contents can only be read and cannot be changed. ROM
chips is non-volatile, so the contents aren’t lost if the power is disrupted. ROM provides
permanent storage for unchanging data & instructions, such as data from the computer maker.
It is used to hold instructions for starting the computer called the bootstrap program.
ROM: chips, the contents, or combination of electrical circuit states, are set by the
manufacturer and cannot be changed. States are permanently manufactured into the chip.
PROM: the settings must be programmed into the chip. After they are programmed, PROM
behaves like ROM – the circuit states can’t be changed. PROM is used when instructions will
be permanent, but they aren’t produced in large enough quantities to make custom chip
production (as in ROM) cost effective. PROM chips are, for example, used to store video
game instructions.
Instructions are also programmed into erasable programmable read-only memory. However,
the contents of the chip can be erased and the chip can be reprogrammed. EPROM chips are
used where data and instructions don’t change often, but nonvolatility and quickness are
needed. The controller for a robot arm on an assembly line is an example of EPROM use.
a. PROM (Programmable Read Only Memory) – It is written onto only once using
special devices. Used mostly in electronic devices such as alarm systems.
b. EPROM (Erasable Programmable Read Only Memory) –Can be written onto more
than once.
3. Cache Memory - Cache memory is high-speed memory that a processor can access more
quickly than RAM. Frequently used instructions are stored in cache since they can be retrieved
more quickly, improving the overall performance of the computer. Level 1 (L1) cache is
located on the processor; Level 2 (L2) cache is located between the processor and RAM.
4. BUBBLE MEMORY
This represents data and instructions in terms of magnetic principles called bubbles where
presence of a bubble represents’ 1’ and its absence represents ‘0’. This memory is
convenient and easy to develop. It can withstand adverse weather conditions such as dust.
Bubble memory is suitable when the internal memory id to be expanded limitlessly i.e.
where high speed access is necessary for transferring small manageable data in form of
segments. The memory cells do not lose data when they are deenergized by switching off
the power However, it is very expensive.
5. OPTICAL/HOLOGRAPHIC MEMORY
This type of memory uses the principle of light to store data or information. The data or
information is stored in the form of dots on a light sensitive plate. This memory is non-
volatile and has a vast storage capacity.
6. CORE MEMORY
This is an internal store made up of small magnetic rings which are magnetized by wires
threaded on them. The memory cells are the basis of storage. The polarity of the magnetic
rings are set using currents to represent data, instructions or or information in binary logics,
0’s and1’[Link] memory stores data, information or programs more permanently and the set
of polarities do not change even if the power goes off (it is nonvolatile). However, it is
expensive and reading is achieved through a sense of wire which is used to determine the
polarity of the desired chores.
7. SEMI-CONDUCTOR MEMORY
This memory is faster and cheaper than magnetic core memory and is used in all modern
computers. Semi-conductor memory consists of electronic circuits (flipflop/ storage cell)
prepared on silicon chips. The physical size of this memory is very small. The major
drawback of this memory is that it is volatile in that it loses its contents on case of power
failure but this drawback can be overcome by having a back-up power unit. Semi-conductor
memories has gained popularity over the core memories due to the following:
COMPUTER SOFTWARE.
All computers work under special instructions called software. Software is a set of instructions
that help in running and managing computer resources enabling the computer to operate
effectively. The computer software makes the computer to work i.e. it helps in running the
computer hardware. It instructs the computer on what to do and how to do it. There are two
categories of computer software.
1. System software.
2. Application software.
SYSTEMS SOFTWARE
This is a set of instructions or programs developed and installed in the computer system
designed to manage and control the computer resources hence enhancing the functional
capabilities of the computer system. It is used within the computer for organizing internal
functions of the system. System software are developed by the manufacturers of computer
hardware
Systems software can be divided into
three:
• Operating system
• Utility programs
• Translation programs
OPERATING SYSTEM
This is an integrated collection of programmers that manage the operations of the C.P.U, other
peripheral and hardware. Operating system therefore manages the computer resources to
enhance the optimum utilization and efficiency of the computer.
MS DOS, - Microsoft
Windows - Microsoft
UNIX
Job scheduling- This is the process of lining up jobs particularly where such jobs have to pass
through several devices, for example several jobs awaiting printing. The operating system
performs job scheduling thus ensuring that the CPU time is not dedicated to one job only; the
CPU idle time is therefore reduced to a great extent. The jobs may be lined up in order of
priority, order of complexity etc.
Peripheral devices/ input- output control- It monitors the flow of data between the
input/output devices and the CPU. Peripheral devices are the physical elements of the
computer system which are connected to the system to enhance its usage. By regulating the
speed imbalance between the peripheral devices and the CPU, the operating system facilitates
optimum utilization of the CPU time.
Memory management- The operating system allocates memory location to data, ensuring
that programs are transferred into the available memory location from the external store. It
defines the available, occupied and the damaged memory which can no longer hold data.
File management- The operating system normally arranges the stored data and allows the users
to perform file related activities such as creation and deletion of files, file interrogation, file
dumping among others. It also allows for the protection of files from accidental or deliberate
corruption (file security)
Error reporting- In the event that errors occur during program execution, the operating
system will send diagnostic messages to the user so that the program execution can stop for
the user’s corrective responses. Thus it does not take long before the user realizes that errors
have occurred. Indeed, a good operating system should offer automatic recovery from error
situations.
Logging and accounting. The system accounts for who logged in i.e., who gained access to
the computer at a given time. It keeps the records of the jobs created, indicating which jobs
were created when and by who.
Enhancing systems security- The operating system allows the users to use passwords
through which they can be recognized as legitimate users. This ensures that data stored in the
computer at a given time is not subjected to any sort of deliberate or accidental corruption.
Interface between the users and the computer system- It enables the users to access the
computer system to issue the instructions for the processing tasks to be performed. The form
of ‘conversion is therefore established between the operating system and the operator, usually
through console in multi-user system. Console is when the keyboard is used together with the
visual display unit.
a). Reliable.
The OS should be at least as reliable as the hardware on which it runs. If a software or
hardware error occurs, the system should be able to detect the error and either try to correct
the problem or try to minimize the damage to the users of the system from the error.
b). Protected.
A user doesn’t want other users to interfere with him. Therefore, the system should protect
users from being affected both by errors of other users and by malicious attempts at
tampering.
c). Efficient.
The OS is usually a complex program that uses a large part of the hardware resources for
its own functions. The resources consumed by the OS are not available for users.
Therefore, the system itself should be very efficient, & should manage user’s resources to
minimize their idle time.
d). Convenient.
Therefore, an OS should be flexible & convenient to use. In addition, in order to allow the
sharing of resources, the OS must be in complete control of the allocation of the computer
resources.
e). Predictable.
User demands on the system are generally unpredictable. At the same time, users prefer to
get service that does not vary widely over extended periods of time. An estimate as to
when the user will get his input should be given.
Revision Questions
1. Name two major reasons why it became necessary to use an Operating system.
2. (a). Identify FOUR resources that the Operating system should manage.
(b). What function should the Operating system perform to manage each of the resources
above?
3. List and explain any five general functions of an operating system.
4. What is meant by the term Job in computer studies?
5. Name four examples of operating systems.
The OS determines determine the type of processing that a computer system is able to perform,
since it controls the allocation & use of the computer resources.
Operating systems can be classified according to:
3. Human Computer interface (i.e., how the user & the computer interact).
• Command line.
• Menu driven interface.
• Graphical user interface (GUI).
Single-tasking OS.
This means that, the user can only run one interactive program at a time. The user must then exit
from the program before loading & running another program.
− MS-DOS.
A Multi-tasking OS allows a single CPU to execute/process more than one program, all of which
are in memory, at the same time.
Each program is allocated a time-slice. In this case, the programs take turns at short intervals of
processing time. The CPU switches its attention between programs as it receives requests for
processing, executing statements from one program, and then from another.
The programs to be run are loaded into the memory and the CPU begins execution of the first
one. When the request is satisfied, the second program is brought into memory and execution
starts on the second program, and so on.
Note. In multi-programming, the computer is able to work on several programs at the same time.
It works on the programs on sequence, one after the other, and that at any given instant it
executes instructions from one program only. However, the computer works so quickly that it
appears to be executing the programs simultaneously.
Single-user OS.
A single-user OS is designed to be used by only one person. It allow only one user/person to
operate the machine at a time in an interactive, conversational mode, and runs only one user
program at a time, e.g. MS-DOS.
A multi-user OS allows more than one user ( many people) to interactively use/access the
computer at the same time.
Examples;
− UNIX,
− Novell Netware,
− Ms-Windows 2000,
− Ms-Windows NT,
− Linux, etc
The term Human Computer Interface (HCI) refers to the method of interaction between the
computer & the user, and determines how easily the user can operate the computer.
The HCI enables communication to & from between the user and the computer.
User-friendliness.
HCI is expected to be “user-friendly”, i.e., it should be one that the end-user finds helpful, and
easy to learn & use.
i). It should be relatively easy for the user to try to start using the system.
ii). The system should be self-contained, so that the user is not forced into accessing manuals.
iii). The amount of effort & the information required for the user to get the system complete
required tasks should be minimal.
iv). The system should be robust & reliable, i.e., the user should be protected from unexpected
system actions, including system failures.
v). The system should be able to adjust to different levels of expertise between users & also as
users grow in competence.
vi). The user should be made to feel in control of what is going on.
vii). The system should behave in a logical & consistent manner, enabling the user to reason
about what is going on and apply what has been learned.
This is an interaction between the user & the computer that requires the use of commands
The user types a command at the prompt found on a command line. The computer then reads
instructions from the command line and executes them.
Example;
To copy a file called [Link] from Hard disk C to Floppy disk A using MS-DOS; type
C:\ >COPY [Link] A:\ (press the Enter key for the command to be executed).
Commands enable the user to quickly instruct the computer what to do.
Command-driven software is more flexible, but it is more difficult to learn. The user must know
what commands are available, what they do & how they should be typed. For this reason,
commands are most popular with experienced technical persons, such as computer Operators,
Programmers or in situations where the end-user continually works with the same program and
has therefore mastered the commands.
2. Unique abbreviations should be provided for more experienced users, e.g., PRI, COP, REN,
DEL, CHKDSK, etc.
3. Multiple items on a single command line should ALWAYS be separated by blank spaces.
− MS-DOS,
− Early versions of PC-DOS, OS/2, and UNIX.
This type of interface provides the user with a list of program commands displayed on the screen
to choose from & a simple means of selecting between them.
To activate a choice in the menu, one can use the Enter key, or move the cursor until it is
positioned at the desired choice & then press the activation key so that the system can start acting
upon the information given.
This interface is suitable for beginners and infrequent users who may have difficulties in
remembering commands.
(a) Pull-down menus – are special types of menu used mostly in Windows.
(b) Pop-up menus & Pop-down menus. These menus are made to appear above or below an
item on the screen in order to elicit/obtain a choice from a user.
Later versions of DOS have a menu driven interface called the DOS Shell or DOS Editor.
Advantages of Menu driven interfaces
− Menus provide many options to select from.
− The user is presented with a choice and therefore, does not need to master any commands.
− They are easier to use.
This is an interaction between the user & computer that involves issuing of commands to the
computer by activating certain small graphic images displayed on the screen called Icons.
To issue a command, the icons can be selected using a pointing device like a Mouse.
GUI is mostly found on Workstations or PCs fitted with graphic adapters able to support high-
resolution graphics.
Revision Questions
1. Hardware configuration of the computer, e.g., RAM memory size, hard disk capacity, type of
processor, etc.
2. Basic design of the computer, - i.e., is it an IBM or IBM compatible, or an Apple computer?
3. Hardware compatibility.
4. User needs (requirements), i.e., the applications intended for the computer.
5. User friendliness or Human computer interface, i.e., is it Command line based, Menu-driven
or a Graphical user interface?
6. Availability in the market, e.g. Microsoft Windows based OS are very common.
7. Portability.
9. Reliability, i.e., can it run without crashing or hanging (stop responding to commands).
10. The method of communication with the computer, e.g. the number of peripherals.
11. The method of operating the computer.
TRANSLATION PROGRAMS
These are programs that convert the source code instructions (instructions written in 2nd, 3rd,
4th and 5th generation languages) into machine code i.e. O’S and I’S.
There are 3 types of translation programs:
i) Assemblers: These are translators which transform programs written in 2nd
generation into machine codes.
ii) Compilers: These are translators which transform programs written in high level
languages into machine codes several statements at a time. iii) Interpreters: These
are translators which transform programs written in high level language into
machine code one statement at a time.
APPLICATION SOFTWARE
Application software is a set of instructions used to accomplish specific tasks other than just
running the computer system; they are designed to help the users solve specific problems.
Application software can be bought off- shelf or can be developed in-house depending on the
needs of organization. An advantage of acquiring a suite of programs rather than individual
programs is that it will be cheaper. A suite is a set of applications put together. Application
software are normally designed to solve particular problems and they can be categorized into
two; -
i) Off shelf packages ii) Tailor-made/in-
house/bespoke packages.
OFF- SHELF PACKAGES
These are standardized ready made programs that can be bought directly from the
manufacturers. They are designed to solve a particular problem but are not meant for a
particular user.
1. Graphics
It allows users to display numerical data in a variety of forms such as bar graphs and file
charts. 2. Consolidation.
This feature allows the users to merge several worksheets and give a summery sheet while
keeping the original sheet intact.
3. Functions.
Spreadsheets offer various functions include summation average, subtraction and any other
function used in mathematical and statistical analysis. 4. Formatting
This allows the users to improve on the appearance of the spreadsheet e.g. changing colour,
style e.t.c
5. Windows- A spreadsheet provides the users with several working areas thus
allowing for multitasking.
b)
Desktop publishing (graphic packages)
These are application packages that allow users to carry out some amount of text manipulation
and also carry out design work. They are enhanced word processors. Organizations commonly
use desk-top publishing for designing reports, adverts, press releases, business cards,
publications and business logos.
Sources of software
Application
Software
Proprietary Off-the-shelf
/tailor-made
In – house Contract
customized customization
DISADVANTAGES OF IN-HOUSE
PACKAGES
i) Require a lot of time to implement.
ii) They are not highly portable i.e they are machine specific. iii) Most of them may not be
documented as compared to off- shelf packages. iv) They are usually costly because the user
has to meet all the expenses of development testing and maintenance.
v) They are likely to have errors due to improper testing.
DIFFERENCES BETWEEN OFFSHELF PACKAGES AND TAILORMADE
PACKAGES
PARAMETER OFF- SHELF TAILOR-MADE
User needs General purpose Specific purpose
Cost Cheaper due to cost sharing Expensive since the user
meets development, testing
and maintenance costs.
Portability Portable Machine specific
Security Less secure More secure
Training Requires more training Requires less straining due to
user involvement
Documentation Well documented May not be well documented
Implementation time Take a short time to Takes a long time
implement to implement.
When choosing a software package for a given application the following factors should be
considered:
User friendliness- The software should not be complex; it should be easy to learn and use.
User friendliness of a package can be enhanced through the provision for help facilities
such as screen formatting facilities
Cost- There are normally costs associated with acquiring software. Such costs should not
outweigh the benefits that would accrue from its use. The software should be cost
effective
Compatibility- a software is said to be compatible if it can fit into the existing technology.
It should not be obsolete.
Flexibility- The software should have allowances for the users’ changing needs; it should
meet not only the current user requirements but also the future requirements.
Vendor support- Is there maintenance support from the manufacturer?
Portability- The software should be capable of running in on different computer families
User requirements- Before buying a particular package, its current users should be
interviewed to find out whether the package is likely to be successful or not depending
on their requirements
Documentation- they should be accompanied by descriptions or narrations which
highlight how to use and maintain them (user guides)
Reliability- The software should be capable of running with minimal failure rates
Security- They should not be easily defrauded
Programming Languages
Programming languages are collections of commands, statements and words that are
combined using a particular syntax, or rules, to write both systems and application software.
This results in meaningful instructions to the CPU.
Generations of programming languages
Machine Language (1st Generation Languages)
A machine language consists of binary digit, that is, zeroes and ones. Instructions and
addresses are written in binary (0,1) code. Binary is the only “language” a CPU can
understand. The CPU directly interprets and executes this language, therefore making it fast
in execution of its instructions. Machine language programs directly instructed the computer
hardware, so they were not portable. That is, a program written for computer model A could
not be run on computer model B without being rewritten. All software in other languages must
ultimately be translated down to machine language form. The translation process makes the
other languages slower.
Advantage
The only advantage is that program of machine language run very fast because no
translation program is required for the CPU.
Disadvantages
• It is very difficult to program in machine language. The programmer has to know
details of hardware to write program.
• The programmer has to remember a lot of codes to write a program, which results in
program errors.
• It is difficult to debug the program.
Assembly Language (2nd Generation languages)
Uses symbols and codes instead of binary digits to represent program instructions. It is a
symbolic language meaning that instructions and addresses are written using alphanumeric
labels, meaningful to the programmer.
The resulting programs still directly instructed the computer hardware. For example, an
assembly language instruction might move a piece of data stored at a particular location in
RAM into a particular location on the CPU. Therefore, like their first generation counterparts,
second generation programs were not easily portable.
Assembly languages were designed to run in a small amount of RAM. Furthermore, they are
low-level languages; that is the instructions directly manipulate the hardware. Therefore,
programs written in assembly language execute efficiently and quickly. As a result, more
systems software is still written using assembly languages.
The language has a one to one mapping with machine instructions but has macros added to it.
A macro is a group of multiple machine instructions, which are considered as one instruction
in assembly language. A macro performs a specific task, for example adding, subtracting etc.
A one to one mapping means that for every assembly instruction there is a corresponding
single or multiple instructions in machine language.
An assembler is used to translate the assembly language statements into machine language.
Advantages:
▪ The symbolic programming of Assembly Language is easier to understand and saves
a lot of time and effort of the programmer.
▪ It is easier to correct errors and modify program instructions.
▪ Assembly Language has the same efficiency of execution as the machine level
language. Because this is one-to-one translator between assembly language program
and its corresponding machine language program.
Disadvantages:
▪ One of the major disadvantages is that assembly language is machine dependent. A
program written for one computer might not run in other computers with different
hardware configuration.
Many of the first fourth generation languages were connected with particular database
management systems. These languages were called query languages since they allow people
to retrieve information from databases. Structured query language, SQL, is a current fourth
generation language used to access many databases. There are also some statistical fourth
generation languages, such as SAS or SPSS.
Some fourth generation languages, such as Visual C++, Visual Basic, or PowerBuilder are
targeted to more knowledgeable users, since they are more complex to use. Visual
programming languages, such as visual basic, use windows, icons, and pull down menus to
make programming easier and more intuitive.
Language translators
Although machine language is the only language the CPU understands, it is rarely used
anymore since it is so difficult to use. Every program that is not written in machine language
must be translated into machine language before it can be executed. This is done by a category
of system software called language translation software. These are programs that convert the
code originally written by the programmer, called source code, into its equivalent machine
language program, called object code.
There are two main types of language translators: interpreters and compilers.
Interpreters
While a program is running, interpreters read, translate, and execute one statement of the
program at a time. The interpreter displays any errors immediately on the monitor. Interpreters
are very useful for people learning how to program or debugging a program. However, the
line-by-line translation adds significant overhead to the program execution time leading to
slow execution.
Compilers
A compiler uses a language translation program that converts the entire source program into
object code, known as an object module, at one time. The object module is stored and it is the
object module that executes when the program runs. The program does not have to be
compiled again until changes are made in the source code. Software trends and issues
Open source software coming to the scene. This is software that is freely available to anyone
and can be easily modified. The use of open source software has increased dramatically due
to the World Wide Web. Users can download the source code from web sites. Open source
software is often more reliable than commercial software because there are many users
collaborating to fix problems. The biggest problem with open source software is the lack of
formal technical support. However, some companies that package open source software with
various add-ons and sell it with support are addressing this. An example of this is Red Hat
Linux operating system.