What is a distributed operating system?
A form of parallel processing system which spreads the load over multiple computer servers.
How does a distributed operating system work?
-A program can be run by the user that uses data or resources from any other computer
-A single program is split up into several tasks
-Each tasks is run on a separate computer, coordinated by the OS in such a way that it appears to the user to be running in a single system
What is a multi-tasking system and how does it work?
-A multi-tasking system may run on a standalone computer.
-A single processor can appear to do more than one task simultaneously by scheduling processor time.
-Each active program is scheduled to recieve a tiny time slice in quick rotation, giving the impression that they are operating at the same time.
-What is a multi user, multi-tasking system and how does it work?
-A single powerful mainframe/supercomputer is connected to dozens/hundreds of terminals all using mainframe CPU.
-Each user gets a slice of processor time according to a scheduling algorithm.
What is an embedded operating system and how does it work?
Embedded operating systems tend to run on dedicated hardware so they run with maximum efficiency, using low-powered processors and very little memory.
What are the main features of an embedded OS?
-Minimal user interface
-Accepts input from sensors and sends output to control devices
-Limited amount of RAM so complex memory management system is not required
-No permanent data storage devices to be managed
-Application programs are held in ROM
What is a real-time operating system?
A real-time OS guarantees to execute processes within a given timeframe in safety-critical environments (e.g., self-drive cars, hospital monitoring machines, etc.)
What are the main features of a real-time OS?
-Must respond very quickly to any inputs/sensors
-Must be able to deal with many inputs simulataneously
-Must have failsafe mechanisms designed to detect and take appropriate action if a hardware component fails
-Must incorporate redundancy- if one component fails, it must autmoatically switch to the backup hardware
-Must be able to handle sudden increases in input (therefore, processors in real-time OSs rarely run at full capacity)
How do operating systems used by mobile phones work?
-Mobile phones are multi-tasking computers with their own OS
-They combine features of a personal computer OS with their own special features used for mobile use e.g., managing cellular & wireless connectivity as well as phone access, responding to users’ touch, features useful for mobile systems like GPS mobile navigation, camera, speech recognition, etc.
-Most mobile OSs are tied to specific hardware
-Smartphones have two OSs- 1) main system operating the user interface & running the application software AND 2) a low-level real-time OS which operates the radio and other hardware- it has a range of security vulnerabilities permitting others to gain control over a mobile device
Why is underlying hardware managed by a low-level proprietary OS, made and owned by the hardware manufacturer, and the UI and applications are handled separately?
-The user interface and the ability to run certain applications are a crucial part of the user's decision about which type of phone to purchase
-Manufacturers want the user experience to be the same across a variety of different hardware devices
-They may use an open-source operating system such as Android and customise it rather than writing their own from scratch
-Users are not as concerned with how underlying things such as cellular connectivity works, as long as they do work properly
Why do mobile devices like smartphones and tablets require a different OS from a desktop computer?
-The device typically has a slower processor/ less RAM than a desktop so memory management and CPU scheduling may need to be handled differently
-Mobile devices have different interface need, e.g., most mobile devices need a touch screen interface
-Software that can be run on the device depends on the OS- it may not be capable of running programs designed for a desktop environment
What is BIOS and how does it work? (Basic Input Output System)
-BIOS is the program that gets your computer started after you turn it on.
-Many different settings can be configured via the BIOS e.g., the order of the drives the computer will attempt to boot the OS from
-Initial start-up instructions are stored in ROM BUT BIOS settings are stored in flash memory so they can be changed (if needed) and are retained when the power is switched off
How does BIOS work?
-It first checks that all necessary hardware is connected and working, using a Power-On-Self-Test (POST)
-A boot loader program (bootstrap) is used to load the operating system kernel into memory
-(kernel: the core of an operating system)
-Then the operating system can take over and boot up the rest of the system.
What is a device driver?
A device driver is a computer program that provides a software interface to a particular hardware device, enabling OSs to access hardware functions without needing to know the details of the hardware being used.
How do device drivers work?
-The device driver translates the OS’s instructions into a series of instructions that a specific piece of hardware will understand
-Device drivers are hardware dependent and OS-specific
-A driver communicates with the device via the system bus/communications subsystem to which the hardware connects
-When a calling program invokes a routine in the driver, the driver issues commands to the device
-Once the device sends data back to the driver, the driver may invoke routines in the original calling program
What is a virtual machine?
-A program that has the same funcitonality as a physical computer
-Any instance where software is used to take on the function of the machine, including executing intermediate code/running an OS within another to emulate different hardware. - e.g., arcade games being emulated on modern computers.