An Introduction to Operating Systems
What is an operating system?
Operating systems are seen in almost all of the digital devices we use on a day to day basis. Their main goal is to provide an interface between the hardware, the operating system kernel (the heart of the operating system) and the application software run on the computer. There are hundreds of types of operating system in the world, with the most popular PC operating systems being Windows, Mac and Linux.
In addition to managing the communications between the hardware and applications, the operating system is responsible for managing the input and output of information via the screen (or another user interface).
Command line interface
The first visual interface to exist was a command line interface, and this is still an interface type used by computing professionals and network technicians. A command line interface is one that allows a user to type a range of commands into a console window on the machine, and then programs run or information is returned via the command line. The interface itself allows you to run one line at a time, but shell scripts can also be created to run multiple lines of code at once. One example of a shell script is as follows:
#!/bin/sh printf “What is your name? -> “ read NAME echo “Hello, $NAME, nice to meet you”
As you can see from this script, it is possible to run multiple lines of code in a command line window. Although this one is quite simple, these shell scripts can be extremely complex and can run hundreds of lines of code. Some cloud providers only offer a command line interface for interaction such as Amazon’s AWS console . Although you can customise your console, any programs, functions, navigation or file handling you decide to do on your cloud server needs to be performed through a command line (the brand of which will depend on the set up of your server).
Food for thought: What do you think this script would do?
Graphical User Interface
Most personal computers, tablets, phones and other interfaces we use on a day-to-day basis use a Graphical User Interface (GUI) to present information to the user and allow the user to interact with programs. Most GUIs use icons to help the system match the real world, something that is considered very important in user interface design . By making systems relatable to the real world, it allows users to easily interact with systems as the icons will reflect tangible objects that they can interact with in real life. One example, although outdated, is the floppy-disk save icon. As floppy disks are an external storage device (still used by major airlines), the icon to save items is created to emulate it, allowing the user to relate the action of saving with the device that they would save the information onto.
One large limitation of the icons in GUIs, is that it causes a loss of customisation of actions in comparison to command line interfaces. Yes, they are much easier to understand as an inexperienced user, but you can only do what the developer has specified, whereas with the use of commands in a command line interface, you can completely customise the interactions you have with your machine.
A more common interface style in recent years, is that of voice input. Voice input has improved significantly in recent years. Mobile devices, computers and voice controlled home assistants all utilise voice recognition technology. These technologies are designed to react to certain questions such as ‘What will the weather be like today’, providing as much customisation as icons in a GUI. If you were to ask a voice activated computer a question it wasn’t programmed to answer, it would just state that it did not know the answer to that question, or proceed to look it up on the internet.
Although we use voice controlled computers in our daily lives, these systems are used in professional contexts. This includes call centres, where voice recognition is used to help users to navigate through an automated assistance process, allowing the user to navigate to where they need to be. Similarly to the home-use systems, the systems used in call centres typically require a yes or no response, listen for certain keywords that you use, or will ask for information of a certain length such as a postcode or policy number. Voice interfaces contain the same limitations as GUIs, but instead of using icons, it uses your voice.
Food for thought: Can you think of two advantages and disadvantages for each interface type?
 Amazon AWS  Amazon Web Servers (AWS) Cloud Computing Solutions. Available at: https://aws.amazon.com/ (Accessed 23/05/2021)
 Jakob Nielsen  10 Usability Heuristics for User Interface Design. Available at: https://www.nngroup.com/articles/ten-usability-heuristics/ (Accessed: 23/05/2021)