Home   About me

ITpastabowl rice_bowl

9626 Information Technology study material.©

Hardware and software

Software

Software are programs which give instructions to the computer

System software:Programs that are used to maintain a computer system are known as utility system softwares.
(disk defragmentation, deleting data, anti virus)

Application software is software that helps users complete a task. (word processing, spreadsheets etc)

Operating system

Operating system is the software that is needed to operate a computer system.
It sits between hardware and applications software and manages the communication between the two.
It manages the hardware by carrying out tasks such as:
Device driver is the software that comes with an external hardware component and sends customised instructions
to that specific component. Acts as a middleman between hardware and software

Translators

Compiler: Converts source code into object code by creating an executable. When the program is compiled
the entirety of the source code is translated into the executable file at once and then can be distributed to resellers,
customers and individual computers. Keep in mind that once compiled, program will run only on the operating system it was compiled for.

working of compiler and interpreter 3 stages of compilation Interpreters also translate a program from high level language into machine code. a compiler they translate the code one line at a time.
It translates each line of the source code into an intermediate stage and then
executes the line of code, reporting errors as each line is translated.
Compiler
Advantages Disadvantages
Translates source code into object code all
at once in advance of execution
Compiled object code will only work on the
operating system it has been compiled for
Object code is ready to be executed without delay Compiling can take a long time, which is not
appropriate for on the fly testing
Errors are reported after
compilation has completed
The source code is optimised
to run as efficiently as possible


Interpreter
Advantages Disadvantages
Source code can be translated into object
code for more than one operating system
Translates source code into object code one line at a time
Only the required code needs to be interpreted
so this is efficient for quick testing
Object code has to be generated so additional time
is added to the execution time
Errors are reported as they are found


Linkers Computer programs often consist of several modules. Each module carries out a specific task.
After the compilation process there will remain multiple pieces of object code. The linker will take these pieces and then
combine them into one single executable file.

Linker
Advantages Disadvantages
Writing programs in modules means they require less ram
Saving memory costs
Variable names can cause problems
The program and compiler don’t need to be
in memory at the same time
Documentation has to be written more in detail
If there Is a problem in a module only that
module needs to be corrected


Utility software

Anti-virus: Also known as anti malware, has two main functions. The first is an anti-virus monitor that is continually monitoring the system for
viruses and malware. If it detects any unusual behaviour or signs of viruses or malware then it will them
from being executed
so they cannot cause damage to any files. The second function is to check for viruses or malware that
may already be on a system
. Known as scanning the system. If anything is found then the user will usually be given the option to disinfect
the affected area, put it into quarantine or ignore it.

Disk defragmentation: A hard disk drive (HDD) is build up of multiple disks and a read/write head.
When files are deleted, gaps are created on the disk. As files grow, they use up space on the disk, and this space
may not be contiguous. As a result, files can be spread across many clusters. If gaps are too small, files may be split,
causing fragmentation. Fragmentation slows down file access because the hard drive's access arm must move to different
locations when opening the file. Wherever possible, a computer will attempt
to store data in clusters on a single cylinder because this requires the least access arm movement.
This can significantly increase speeds and fetch data quicker.
Disk defragmentation chart

Custom-written software and off-the-shelf software

Custom-written software: software that is written especially to meet the requirements of a client

Off-the-shelf software: general purpose software available to a large market
Custom written
Advantages Disadvantages
The requirements of the client can be met
precisely with no features that are not necessary
The entire development cost of the software is met
by the client which makes it very expensive.
The developers of the software will ensure
that the software is compatible with the hardware,
software and data used by the client
Software takes a very long time to develop
The client will have access to support from
the company that developed the software
It is likely that many bugs will be found while being used


Off the shelf
Advantages Disadvantages
Cost of software is spread between all the
customers which means the cost is much lower.
Some tasks that the needed to be carried out
may not be possible and there
will be lots of unrequired features..
Off-the-shelf software is immediately
available for the customer
software may not be compatible with existing hardware.
bugs will have been identified
and fixed, and patches
will be released as more bugs are found
May have compatibility issues


Open source: software has the code freely available. It can be freely accessed, used, changed or shared.
There is often a community of developers that contribute to the development of open source software

Proprietary software is owned by a single person or organisation who sells it for use under an agreed licence.
The software only the essential files for its operation, while the owner keeps the source code used
in its creation. Various licenses can be issued for software usage, such as freeware, shareware, single-user, multi-user, and site licenses.

Hardware

Hardware devices are the physical components of a computer.

Input Device: a device that allows data to be entered to a computer system.

Output Devices: a device used to communicate data or information from a computer system.

CPU

Central Processing Unit (CPU): the CPU carries out the calculations, executes instructions and processes data.
The CPU consists of an ALU and the CU. Arithmetic Logical Unit (ALU): Performs Calculations and logical operations.

Control Unit: The CU runs the fetch-execute cycle which fetches instructions from memory and executes them.

The CPU also contains small memory units known as registers. RAM (Random Access Memory): Memory used to store currently active programs and volatile data.

ROM (Read-Only Memory): The memory that, once written to cannot be removed and can only be read (involatile).
ROMs usually store the BIOS of a system.

Mainframe vs Supercomputers

Mainframe computer: powerful computer serving several terminals. They are also used for large scale
transaction processing and batch processing. Other uses include statistical analysis such as analysis of census data.
Mainframe computers need to have reliability, availability and serviceability (RAS) characteristics.
For reliability, hardware components must self-check and recover from failures. Mainframe software
undergoes thorough testing and can be quickly updated if issues arise. To ensure continuous operation,
the mainframe has redundant hardware like storage and power supplies, making it accessible
If an active component fails, the redundant ones automatically take over.
This allows replacing a failed component with a new one without disrupting the mainframe's functionality,
making it easily serviceable

Supercomputer: large computer with parallel processing to complete highly complex tasks quickly.
Supercomputers are crafted for performing numerous complicated calculations quickly. They typically execute
a limited number of programs, concentrating on swiftly processing instructions for a specific purpose. They will be
at maximum capacity
so that their full power is used to process data and solve a problem.

Performance metrics

Mainframe computer performance is traditionally assessed by the number of instructions its processors execute per second,
measured in MIPs (millions of instructions per second). However, this metric not very accurate
due to other extraneous variables. CISC (complex instruction set computing) processors perform multiple tasks in a single instruction,
while RISC (reduced instruction set computing) processors will have a single instruction that does very little
but manages the instruction efficiently.

Another metric for assessing performance is FLOPS (floating-point operations per second),
or MFLOPS (mega floating-point operations per second). Floating-point instructions are common in scientific computational research,
and MFLOPS (mega floating-point operations per second) are frequently used to compare supercomputer speeds.
MFLOPS provide a more reliable performance measure than MIPS, though discrepancies exist.
Some processors may complete a single floating-point operation, while others might need several for the same result.