Information Technology
Introduction
Computing devices are electronic devices which take inputs, undertake some processing and then produce output. They do what we tell them. They do this incredibly fast. This has made them indispensable in nearly every industry. Whether it is to enable communication across a great distance, to store data, to manipulate a physical hardware item, or, to facilitate our entertainment. They do what we tell them, and they do it quickly, and they are able to remember the details of it for a long time.
Information technology is the term we use for these computing devices within business contexts where we are concerned with their ability to store, retrieve, manipulate and transmit data. The processing of this data, turns it into actionable information for us to then make decisions about. What and how much processing that is required depends on the use case for the device. Is it a simple device measuring the temperature outside our house and reporting it to us inside, or is it automated driving in a car driving us to work. The flexibility of the kinds of jobs computers can assist us appears with to be limitless, and a key part of this is the fairly simple basic architecture that makes up a computer: hardware, operating system and software. This first video will introduce us to this module and how it is foundational to the rest of the course.
Computer Hardware
The computer hardware is the physical part of the computer we can see. However, usually, we can only see a box, or at least the case that makes up the device, hiding the individual bits of componentry. However, it is these individual components on the inside that enable the computer to store, process, and transmit data. The video below will give us an overview of this hardware.
From this video we have seen that the hardware is comprised of compute, storage and networking. The course includes a whole section of its own dedicated to networking, but we will discuss compute and storage a little further here.
Compute
The video above described the core processing hardware of a computer of being made up of compute (in the form of CPU - Central Processing Unit) and volatile memory (in the form of Cache and RAM - Random Access Memory). CPU's are the most crucial hardware component in a computer as it executes all the instructions from computer program. The execution cycle, pictured below, is occurring constantly within the CPU. It gets (fetches) instructions from RAM, decodes what is required, gets the required data, and then runs the command storing the output. This is completed using Registers to store input and output data, and a cache typically used as a go-between RAM and the core of the CPU to ensure maximum speed. The CPU contains other components, such as the ALU or Arithmetic Logic Unit which math and logic operations are actually completed.
The CPU completes a great many of these execution cycles per second. The speed of the CPU is referred to as its clock speed is measured in cycles per second, and one cycle per second is known as 1 hertz. This means that a CPU with a clock speed of 2 gigahertz (GHz) can carry out two billion cycles per second. The higher the clock speed a CPU has, the faster it can processes each instruction.
Source: Wikimedia.org Links to an external site.
All the operations and data are stored in a number system called Binary. Binary (base-2) is a number system comprised of just 0s and 1s. It is an alternative to the decimal (10-base) number system that we use every day. Binary numbers are important because using them instead of the decimal system simplifies the design of computers and related technologies. There are other number representations of binary that get used such as octal (base 8) and hexadecimal (base 16). Within this course we will see examples of latter in use, which uses the number 0-9 followed by the letters A-F as it counts to 15 (15 is F, followed by 10 for 16).
The binary basis of computers is primarily due to their usage of electric voltages to store information and as voltages can change often, computers use a two state system where the voltage is either on or off. As data is transmitted online, whether through copper cables, optic fibre or radio signals, binary is used through out. A single value of a zero or a one is referred to as a bit. Eight bits are referred to as a byte. Modern desktop computers operate using 64-bit numbers, meaning thet the values retrieved from RAM and the registers during execution cycles are 64 bits long. The table below shows how the units of measurement for data scales up from the lowly byte (or even 64-bits that the CPU uses) all the way to the hard drives we buy today measured in terabytes.
Unit | Value | Size |
---|---|---|
bit (b) | 0 or 1 | 1/8 of a byte |
byte (B) | 8 bits | 1 byte |
kilobyte (KB) | 10001 bytes | 1,000 bytes |
megabyte(MB) | 10002 bytes | 1,000,000 bytes |
gigabyte (GB) | 10003 bytes | 1,000,000,000 bytes |
terabyte (TB) | 10004 bytes | 1,000,000,000,000 bytes |
petabyte (PB) | 10005 bytes | 1,000,000,000,000,000 bytes |
exabyte (EB) | 10006 bytes | 1,000,000,000,000,000,000 bytes |
zettabyte (ZB) | 10007 bytes | 1,000,000,000,000,000,000,000 bytes |
yottabyte (YB) | 10008 bytes | 1,000,000,000,000,000,000,000,000 bytes |
The scale of these numbers when we consider the data we use on our devices, or in our data plans for our internet access, but then down to simple operations in groups of 64 bits enables us to grasp the scale of the billions of operations done by a CPU each second. The amount of RAM in modern computers and phones is often 8 or 16 gigabytes. This somewhat large amount of data is wiped whenever the device is turned off.
In addition to the processing that occurs on the CPU, it is common for other processors to exist in computers that are more single task focused (compared to the multipurpose CPU). The graphics card (commonly just referred to as GPU - Graphics Processing Unit) is the most common example of a dedicated compute device. The CPU is able to offload the extra workload of calculating what graphics to display on a monitor by having all those calculations done on the GPU. This specialisation enables the GPU to be designed for that single purpose and to get greater performance than the CPU if it was undertaking the task. Other examples of dedicated compute is encryption and video encoding, where algorithms are implemented in hardware, enabling much faster encoding of the data into the correct format.
Optional - If curious for more on how number systems work, check out this video: Number Systems: Decimal, Binary, Octal & Hexadecimal Links to an external site. |
Storage
In the scale of the data described in the previous section, and the volatile nature of RAM and cache within CPUs means it is important to consider how we store data in the long term. We commonly use two technologies currently: conventional hard drives (below left) and solid state storage (below right). We formerly have used disks and optical disk (CDs and DVDS), but these have largely been replaced by USB versions of solid state drives. Conventional hard drives are mechanical, with multiple metal platters inside them spinning very fast as a read/write head hovers just above the surface. The data is stored magnetically on the drive. Such devices have very large capacities for their price, and have been the dominate storage technology for decades. Solid State drives on the other hand are electronic, and are comparatively expensive being a far less mature technology. However, they are dramatically faster than their conventional counterparts.
Due to the importance of data storage, and indeed the speed of that storage this topic will be revisited again later in the MariMOOC when we look at the role of data within Maritime in A Data Future.
Operating Systems
The hardware is where the power of a computer is. Its vast speed to undertake calculations and analyse data. However, it is the operating system that enables users to be able to harness that power to undertake the tasks we do. It is a software layer sitting directly above the hardware layer. We probably can recognize multiple operating systems ourselves, certainly the one we use on a computer (Windows, MacOS, Linux) and the one we use on our phone (Android or IOS). They provide the basic functionality to us to use the device, but also, and more importantly, provide a stable and simple platform for the applications we use to run on. Without the operating system the applications would need to interact directly with the hardware, and the complexity would rise dramatically. The video below will explore more of the role of operating systems.
Check out this description about a key operating system function - Access Control: |
Application Software
Application software is the actual part of the computer we care the most about. It is the customised part of the system that fits our needs. Whether it is just simply several fairly standard applications that we need to write documents, browse the web and watch a movie or two, or whether it is highly specialised software required for our job or a hobby. The software programs we run sit on top of the operating system, using its ability to leverage the power of the computer hardware to undertake the processing and the tasks we are interested in.
Application software is often highly task specific. In a maritime context we have lots of operational technology that enables us to operate the vessel. But in addition to this, lots of other devices we have, that have very simple computers in them are often running a cut down version of a multipurpose operating system with the custom software for that device running on top of it providing what we need. When we hear of someone hacking a toaster or a fridge, it is largely the underlying operating system that has been hacked, as that common software is what is providing the services to the application software specific to the context. Application software is the top layer, facing the user, that is customised to them. But it is enabled by the operating system and hardware layers that sit below it. This final video for this section will further explore this and discuss some other categories of computer software that we use.
Conclusion
This section has introduced us with some of basic concept of what a computer is made of: hardware, operating system and application software. The next section is going to explore computer networks. How does data get from one place to another. A large focus of the MariMOOC is cyber security, and understanding the basics about networks is vital. We will then delve back into software in the section after that where we examine where software comes from and how it is made.