Operating Systems

From TRCCompSci - AQA Computer Science
Revision as of 16:13, 6 January 2019 by Admin (talk | contribs) (Creating a Virtual Machine / Hide Complexity)
Jump to: navigation, search

Overview

https://www.youtube.com/watch?v=QqgPler-YI4&list=PLCiOXwirraUA01kiMeInAiYvVnFhhMMqb

TRC PowerPoint

Operating Systems

Definition

An operating system is a medium that allows the user to control a computer using it's features. Examples include Windows, Linux, iOS, MAC OSX, Android, and many others.

Functions of Operating System

In simple terms the main functions of an operating system are:

  • Read, write and store data
  • Configure the computer
  • Interact with programs
  • Interact with input devices
  • Interact with output devices

However you need to know the following detailed functions of an operating system:

  • Creating a Virtual Machine / Hide Complexity
  • Resource Management
  • Creating a User Interface

Creating a Virtual Machine / Hide Complexity

The Operating System creates a virtual machine that accepts a set of instructions, and Creates a Framework for other software to function. This will hide the complexity of the actual hardware and allow developers to create software to run on the virtual machine, and manufacturers to ensure their hardware is compatible with the virtual machine.

Software written for the virtual machine can be used on any device running the same machine. Imagine if a games developer had to create a version of their game for each graphics card in use. Or if Microsoft had to create a different version of Word for each printer or keyboard in use.

Device Drivers are used to interpret between the virtual machine and the actual hardware. They take instructions from the virtual machine and convert them into code to control the specific device. So each printer, graphics card, keyboard could require their own driver to be installed. Often manufacturers will package drivers together so that a series of printers use the same driver. Also manufacturers use off the shelf components so a driver is often written for a specific graphics chipset which works for all graphics card which use the chipset.

The virtual machine executes intermediate code and emulates a standard hardware environment.

OS.gif

Resource Management

An important function of the operating system is to manage the resources of the device. This can be expanded to the following specific functions:

Memory Management

The user can work on several tasks at the same time. Each program, application, and file open must be allocated some memory to use while the computer is running. Some programs and applications are designed to run in the background even though another application has focus. Multitasking is when multiple applications and programs can be open at the same time, the user can then switch between them. Many machines often lack enough actual memory (RAM) and in order to function the operating system uses the hard drive to create virtual memory.

Processor Scheduling

The operating system will need to queue access to the processor if the processor is busy. This will allow the operating system to use the processor efficiently. Some processors have multiple cores, so they can process multiple instructions at a time Users will also multitask and run multiple applications at the same time. Therefore the operating system will need schedule processor to allow them all to run with each application taking its turn and processing in chunks.

Backing Store Management

When files and applications are loaded, they are transferred from backing storage (Hard Drive) into memory. The operating system must maintain a directory of the files stored so they can be quickly accessed. It is important to also know the location of any free space on the backing storage. This will allow files to be saved quickly. The file management system enables a user to create files and folders, copy or move or delete files or folders, files and folders can even be protected from unauthorised access.

Peripheral Management

The operating system will also manage any input/output devices connected to the machine. This will require a device driver to be installed to decode the virtual machine instructions into a format or instructions which the device will understand. When a user sends a file to the printer, the operating system will communicate with the printer to ensure it is switched on and ready to receive file.

Interrupt Handling

An interrupt is generated by a device when it needs the processor to do something.

For more information see Interrupts

Creating a User Interface

We have already mentioned about an operating system providing a virtual machine, this is what the user will interface with using input and output devices. Interfaces are normally either graphical or command line:

GUI

GUI or Graphical User Interface is a way of interacting with a computer by using graphics that make the computer easier to use by showing graphical images that the user can use and see making it so that they can direst the computer without having to know all the code that is required to make the computer do that command.

A GUI will normally be Multi-Tasking because several programs can be open at once because they open within their own window.

A GUI will normally include:

  • Windows
  • Icons
  • Menus
  • Pointers

Examples include Windows, Android, iOS etc.

Command Line

A command line is interacting with a computer by inputting commands with a keyboard to make a computer perform tasks. These are rarely multi-tasking and you can normally enter a single command at a time, even batch commands run one command at a time.

Examples include MSDOS, and Linux. Linux can have a GUI by installing a desktop environment onto the linux core, most distributions come with a pre-installed desktop environment.