0% found this document useful (0 votes)
6 views2 pages

Understanding Computer Hardware and Software

Uploaded by

darkwader59
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views2 pages

Understanding Computer Hardware and Software

Uploaded by

darkwader59
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Hardware is the physical components of a computer system.

Examples
like Webcam and Monitor

Software is the sequence of instructions executed by the computer to


perform a task. Examples like web processor and web browser.

Types of software:

Application software is the programs that perform a specific task to the


user.

Systems software operates, controls and maintain the computer and its
components. The system software includes the computer’s operating
system, libraries, translators and utility programs.

Operating System:

A computer’s operating system allows the user to control the computer. It


does this by using a virtual machine through which the user controls the
computer. This hides the true complexity of the computer to the user.

It also manages and controls the access to the computer’s resources and
files.

Utility Programs:

They are used to perform tasks in the computer system like data backup,
defragmenting hard drives and data compression.

Libraries:

They contain useful functions which are used in a program. Many


programmers make use of libraries when developing a program to make it
simpler.

Translators:

Pieces of software which translate between different types of language.


There are three types of translators – compilers, assemblers and
interpreters.

Low level languages:

Machine code – Made up of 1s and 0s which makes it very hard to


understand for humans and errors are very difficult to spot and correct. It
is not portable, and it is executed directly by processors.

Assembly language – Uses mnemonics to represent instructions which


makes it a bit easier to understand for humans. It is processor specific in
terms of portability. Debugging is easier than with machine code. An
assembler must be used before a program can be executed
High level languages:

What we use in coding like python, c++ and Java. They are portable but
are not platform specific. They must be translated into machine code
before they can be executed. It is written in English, so it is very easy to
understand for humans. Debugging is fairly easy, and a compiler or
interpreter must be used to translate code before it can be executed.

High-level languages include imperative high-level languages. In a similar


way to low-level languages, imperative high-level languages are formed
from instructions that specify how the computer should complete a task.

Assembler:

An assembler translates assembly language into machine code.


Assemblers are platform specific, meaning that a different assembler must
exist for each different type of processor.

Compilers:

A compiler can be used to translate programs written in high-level


languages like C# and Python into machine code. Compilers take a high-
level program as their source code, check it for any errors and then
translate the entire program at once. If the source code contains an error,
it will not be translated. Because compilers produce machine code, they
are said to be platform specific.

Interpreter:

An interpreter translates high-level languages into machine code line-by-


line. Rather than checking for errors before translation begins (like a
compiler), interpreters check for errors as they go. This means that a
program with errors in can be partially translated by an interpreter until
the error is reached.

Source code is the name given to the input to a translator. For an


assembler, this is assembly language code and for compilers and
interpreters, this will be code written in a high-level language. A
translator’s output is called object code.

You might also like