Hardware and Software components

CPU

The CPU is the Central Processing Unit.

Some noteworthy components of the CPU:

Component Name Role
Arithmetic Logic Unit Performs arithmetic and logical operations for use during the Fetch-Execute cycle
Control Unit Decodes instructions into commands and instructs the ALU, memory and IO devices how to respond; also provides timing and control signals
Registers Small high speed memory that holds data temporarily. Data and Address registers. Common registers include the Program Counter, accumulator, Instruction Register
Program Counter Register that stores the memory address of the next instruction to be executed
System Clock Controls timing of a computer's operations. Clock speed is the number of cycles per second; one cycle is the smallest amount of time an instruction can take.
Buses A communication system to transfer data within the computer. Data buses transfer actual data between components. Address buses specify memory locations to read/write to/from. Control buses carry commands from the CU and return status signals.

Fetch-Execute Cycle

The Fetch-Execute cycle is a series of steps which are performed to execute an instruction.

There are four stages in the Fetch-Execute cycle.

Fetch: In this stage the next instruction to be executed is fetched from memory based on the address in the Program Counter.

Decode: In this stage the Control Unit decodes the next instruction to be executed from the memory address referenced by the Program Counter, and the PC is incremented.

Execute: In this stage the command is actually executed using the ALU.

Store; In this stage the results are written back to memory.

File Systems

A file system provides a method of organising and storing data on a storage device. It organises data efficiently and maintains its locations on the disk.

Aspects and features of File Systems include space management, filenames and directories.

Space management

There are three methods used by file systems to organise files.

  • Contiguous Allocation: Each file takes up a single continuous block on the hard drive
  • Linked Allocation: Files are split up into blocks, with each block pointing to the next block of the file
  • Indexed Allocation: Similar to Linked, but a master index table points to every section of every file

Operating Systems

An Operating System is software that coordinates how hardware devices interface with other software, and manages the resources of a computer.

Some roles of Operating Systems include: Scheduling, managing concurrency, managing memory and managing devices. File systems are often considered to be part of the operating system.

Types of Operating System

Embedded: An operating system for embedded computer systems e.g. an Arduino Uno. Usually with less emphasis on UI; designed to be small and efficient.

Standalone: An operating system that operates independently of any other OSs. Examples include recent versions of Windows, macOS etc.

Server: An operating system designed to be run by a server. Must be stable and be able to handle many connections at once. Like Embedded operating systems, often has less emphasis on UI.

Types of Processing

Distributed: A number of separate computers are combined to solve a single problem. In distributed computing a 'master' computer sends tasks to a number of 'slave' computers, and processes the results the 'slaves' send back. Distributed processing is more reliable than sequential processing as it's more reliable, flexible, improves performance vastly and usually has a lower cost.

Sequential: Each task is performed sequentially, one after the other. This is the easiest type to program and maintain but has much slower processing times for larger problems.

Parallel: Involves using multiple processors to perform a single task. Usually refers to processing with distinct CPUs and is therefore different to multicore processing. Applications must be specially designed to take advantage of parallel processing.

Multicore: Involves using multiple cores on a single processor to perform a single task. Generally level 2 caches and buses are shared. Similarly to Parallel, applications must be optimised to take advantage of multicore CPUs.

Disaster Recovery Plans

A Disaster Recovery Plan is a written plan describing the steps that would be taken by a company after a disaster to restore a system.

Aspects of a DRP

Emergency Plan: This contains actions that should be performed immediately after the disaster occurs, including details of people that must be contacted. This should include evacuation procedures and procedures to gracefully shut down computer equipment.

Backup Plan: This is a system for making effective backups of data, and should specify how files that have been backed up can be used to restore data. This should specify a source of replacement equipment.

Recovery Plan: This contains a procedure for restoring the system to a fully operational state, including factors such as emergency power supplies, procedures for backup restoration and software and hardware replacements.

Test Plan: This is a test run of the DRP, consisting of a simulation of a disaster to test how successful the DRP would be.

Creating a DRP

Preparation: In this stage a project team should be formed with significant members of the organisation.

Assessing Impact: In this stage a list of possible disasters should be brainstormed regardless of probability, and these should then be assessed for their impact on the business.

Putting it together: This normally consists of four sections: an immediate contact list, an 'all staff' contact list, an action plan (what needs to be done) and a contingency plan (actions to perform if the plan goes wrong).

Testing: This involves testing the plan.

Training: In this stage staff should be informed of parts of the plan that are relevant to them and where to find more information.

Maintenance: The plan must be regularly reviewed as the organisation changes over time.

Disaster Recovery Tools

These are tools that are an integral part of any DRP.

Backup

A backup involves copying data to another device to preserve it in the event of data loss.

The following types of backup are noteworthy:

  • Online Storage: An external provider stores your data offsite so in the case of a disaster at the business, in all likelihood the external provider will still have the data. The external provider must provide a service level agreement to ensure that they have their own DRP involving backups.
  • Incremental Backup: This involves only backing up the changes that have been made since the last backup. This reduces the time required for each backup. One disadvantage is that all backups since the last full backup must be stored for the system to be fully recovered.
  • Full Backup: This involves backing up a copy ot the entire system every time. This takes longer than an incremental backup but has the advantage that only a single backup is required to fully restore a system.

RAID

Stands for Redundant Array of Independent Devices. RAID allows data to be stored across a number of physical disks improving either performance, reliability or both.

The following three types of RAID are common:

  • RAID 0: This uses data striping to store data across two or more disks, improving performance. The way it works is that data is segmented, and each segment is stored on a different physical device. This does not provide any data redundancy so if one disk fails then in all likelihood all the data will be lost. This is faster than having one disk as all of the disks can be written to or read from simultaneously.
  • RAID 1: This uses data mirroring to improve reliability of data by duplicating data across two or more disks. Data is written to both disks at the same time. Data reading performance is increased if there are multiple users but data writing performance is always slower.
  • RAID 10: Implements both RAID 0 and RAID 1 simultaneously to improve both performance and provide data redundancy.

Uninterruptible Power Supply

A UPS is a power supply that will stay on in the event of a disaster. This is used to provide enough emergency power to allow a system to be shut down gracefully, reducing the damage caused by a disaster.

Virtualisation

Virtualisation allows multiple 'virtual' machines to be run on a single physical host machine. Each VM is isolated from the host operating system and other VMs, behaving as if it were its own computer.

Here is a diagram of how virtualised systems are arranged.

Application Application
Operating System Operating System
Hypervisor Layer
Host Operating System

Some types of virtualisation include:

  • Server Virtualisation: Multiple servers are hosted on one physical machine. Each server runs with its own OS and usually runs a single application.
  • PC Virtualisation: A single computer runs multiple virtual computers, allowing the user to switch between virtual computers without having to reboot their computer (unlike a dual boot).
  • Desktop Virtualisation: Applications are run at a data center and a server hosts a desktop environment that each user can use.
  • Storage Virtualisation: Allows a number of physical storage devices to appear as one device to the user.

Benchmarking

Benchmarking is a standard set of tests that can be performed on a system to measure its performance in terms of hardware or software. The results can be used to compare systems.

Some examples of aspects of a system that can be benchmarked are: I/O speeds, processing speed, graphics speed etc.

Cloud Computing

Cloud computing allows you to store and use data and software over the internet instead of doing everything locally.

Service Models

  • Infrastructure as a Service: In this service model companies are given computing resources on a pay-per-use basis, which gives companies more flexibility to increase services as needed and reduces costs.
  • Platform as a Service: A platform is provided to develop software quickly and easily, generally including an OS, a development environment and a user interface on the web.
  • Software as a Service: This is software deployed through the Internet which users can connect to.

Deployment Models

  • Private Cloud: Infrastructure is hosted for one organisation, and only that organisation has access to the services. (Does not necessarily have to be hosted internally.)
  • Public Cloud: Infrastructure is available to the public.
  • Hybrid Cloud: Uses a combination of private and public.

Environmental Issues, Law and Ethics

Environmental Issues

When devices are sent to landfill and burnt they can release toxic chemicals into the atmosphere, or bleach into the surrounding ground. To safely dispose of electronics they should be put in recycling plants or refurbished.

Intellectual Property

According to IP Australia:

Intellectual property (IP) is the property of your mind or proprietary knowledge. Basically, the productive new ideas you create. It can be an invention, trade mark, design, brand, or the application of your idea.

Types of Intellectual Property include patents, trademarks, designs, confidential information and trade secrets, copyright, and circuit layouts. (Also from the IP Australia website.)

Copyright and circuit layout rights are given automatically i.e. do not have to be registered. Patents, trademarks and designs must be registered. A company / university that you are working for / studying at owns any programs you develop for the purposes of the organisation; if you develop a program personally the IP is owned by you.

Secure Data Disposal

To securely dispose of data, either the physical hard drive must be destroyed or the data should be overwritten with zeroes 7 times (the CIA standard).

Miscellaneous Information

Drivers: A driver is software that allows an operating system to interface with a hardware device.

Convergence: The convergence of technology is when a number of technologies are integrated into one device, for example mobile phones have multiple functions.

Standard Operating Environment: A Standard Operating Environment is a standard collection of Operating System and software etc. that is designed for bulk installation on a number of computer systems. Advantages include the fact that it is easier to maintain.

results matching ""

    No results matching ""