The Operating System

The operating system is what allows a user to communicate with the computer, with it dealing with many tasks, including memory management, storage backing, process management and more.

This topic covers:

  • System Software 

  • OS functions

  • Resource management

  • Utility software

  • Modes of operation

  • OS types

  • Interrupts

  • Memory Management

System Software

System software is a type of software that allows control over the hardware and software of a computer and hence, can run as an interface, start-up software and device driver files.

Functions

 

Manages peripherals

Allows communication between devices such as a printer or mouse via hardware/device drivers. These drivers are usually created by the manufacturer of the hardware, but can also be found online to download. When an application requests to save a file or access any peripheral device, the OS must use these drivers in order for instructions sent from the device (such as a mouse click) to be processed.

The device drivers can be found in device manager, or via a command line interface. The connected devices can trigger interrupts, which will be covered in more detail later, but basically means that it's process will be completed faster and before less important processes.

Manages Backing Store

Ensures that data can be stored and retrieved correctly from any disc drive, whilst also creating and maintaining a filing system. 

Information about files is stored in an index called the file allocation table (FAT) and a file system detrmines how it is managed.

Manages RAM

Ensures that programs and data do not corrupt one another by making sure they aren’t being stored in the same memory location, but are instead stored in spate and suitable locations

Manages processes

Uses scheduling to ensure different processes utilise CPU time and don’t interfere with one another, which would crash the system. The OS is crucial is providing a reasonable response time to the user and giving the illusion of tasks running simultaneously.

computer.png
ram.png
data-transfer.png
surveillance.png
 
Modes Of Operation

 

Real time

Done ‘immediately’ as it is received, providing what seems like an immediate response.

Real time control is used when time is critical, such as an autopilot taking control of a failing plane. The response is just as bad early ad wrong as correct and late. Real time transaction processing is still processed on receipt, but processing is done in groups called transactions. All parts of the transactions must be completed, or it is reversed. For example, when withdrawing money, the balance, confirmation, card number etc. must all be checked before processing.  Here, the correct result is more important than time, such as withdrawing the correct amount of money from an ATM.

autopilot.png
 

Batch

Data is collected and stored for later processing, all in one batch of similar data. This is used when time is not critical at all and is done after users are not using the system, so that they are nor interrupted. For example, on a monthly payroll based on hours, the hours worked by an employee will be stored and processed overnight at the end of the month, with the pay coming through the morning after processing.

Sequential

This method is usually used in conjunction with batch processing. Records are stored one after another, in order of key, and are processed in order until all records have been fully processed.

On-Line

This is extremely common in games, with this mode of operation allowing user input and direct interaction whilst processing is taking place. This is why faster CPU’s increase gaming performance, as the system will be more responsive to the user’s interactions if jobs are processed faster.

Off-line

Used where no human interaction is required, as no direct control is needed to complete a task. Examples include payroll, printers and bill statements.

paper.png
diagram.png
joystick.png
Memory Management

This is the process of managing the contents of RAM. It allows multi-programming operating systems to share memory across multiple programs. It may use paging, virtual memory and segmentation techniques and offers memory protection

Paging

This involves the division of RAM into multiple, equally sized units called pages, which allows programs be ran on limited memory. Pages are stored in the RAM and the disk. They are swapped from one location to another when accessing the pages is necessary. Pages are actual physical divisions of memory.

 

Virtual Memory

Uses an area of a storage device to compliment Ram. This is split into pages. Currently executing parts of the memory will then be stored in RAM, with other parts being stored in the swap file created on the storage device. Swapping between RAM and VR can occur when necessary and so VR may be used with segmentation. However, if too much swapping occurs then disk thrashing can happen

Disk Threshing

This happens when all physical RAM has been allocated and so too much time is spent swapping between the Physical and Virtual RAM. This slows down the processing times significantly and can even cause deadlock, where the programs will not be run.

memory.png
music.png

Virtual Memory

Uses an area of a storage device to compliment Ram. This is split into pages. Currently executing parts of the memory will then be stored in RAM, with other parts being stored in the swap file created on the storage device. Swapping between RAM and VR can occur when necessary and so VR may be used with segmentation. However, if too much swapping occurs then disk thrashing can happen

Segmentation

Splits larger programs into many smaller parts called segments, which allows for these programs to be ran on slower computers with limited memory. Each segment is stored separately on a disk and when put together & processed consecutively, form the original program.

Types Of Operating System

Single User

Used for a single, standalone device that is not connected to a network system. There are no user accounts, meaning everyone who accesses the computer will have the same level security and access to all files.

 
icons8-multicultural-people-100.png

Multi User

Allows for multiple accounts to exist within one device. Each user will have different access rights, meaning they can only access certain files and there will be an admin user who administrates these access levels to the other accounts. This allows privacy of data, and a different home scree to be displayed to each user, giving them the illusion of having complete control of the device.

Multi Tasking

Allows for more than one program to be ran at once, by allocating time slices to each process and using scheduling (more on that later). This allows for the illusion of each program being ran simultaneously. Almost all devices we use such as computers and mobiles are multi tasking. For example, you have probably got another program running in the background, perhaps music, whilst reading this text on the website.

Scheduling & Interrupts

This is determining which job to process next, in order to process as many jobs in the shortest amount of time, to maximise the response time to provide an output to the user and to ensure that all jobs are eventually executed. There are many types of scheduling, including:

Round Robin

Each task is allocated a time slice. The time slice determines how many CPU cycles the process gets to be processed for. If the process hasn’t been completed by the end of its time slice, then it is returned to the end of the ‘ready queue’. Then, the process at the start of the queue is processed. This allows tasks to appear to be executing simultaneously and the process is repeated until all jobs have been executed.

First Come first served

Jobs are processed in the order they come and are fully completed before moving onto the next job.

Shortest First

The operating system determines which jobs will be the fastest to process and then will execute them from fastest to slowest. This aims to give the user an output for simple things like typing in the shortest time, whilst not prioritising jobs like batch processing.

Interrupts – A signal is sent to the processor in order to request CPU time. Interrupts take priority over other tasks. An example would be when a printer has printed everything it needs to and needs to request more data to be loaded into the buffer. Processing time is required to load and unload processes to allow the interrupt to be executed.