Operating System Flashcards
What is an operating system?
provides a link between the hardware and the user
all the complexities of the underlying hardware are hidden from view meaning the user can focus on what they want to do
OS examples
windows (family)
linux (family)
iOS
android
macOS
DOS
freeDOS
opera
most modern ones use GUIs except some such as DOS and freeDOS use CLI(Command Line Interface)
Key features of a OS
file management
memory management
process manager/scheduler
security
user interface
hardware management/device drivers
utility software
interrupt service
software platform
File management
data is stored in files
files have an extension which indicates to the OS which applications to open the file in
the OS provides the ability to copy/paste, delete and move files around
can structure where files are stored with folders
Resource management
if you have multiple things all loaded up your OS must juggle all these processes even though it feels like everything is happening at the same time
Security
OS must keep your device secure
mostly achieved by preventing users and applications from accessing/modifying certain files
different user profiles have different permissions
most modern OSs also come with an anti-virus(which is utility software)
User interfaces
without a UI interacting with a computer is impossible
a GUI allows for abstract concepts like double click minimise the window and show desktop
some OSs hvae text-based user interfaces, CLIs(typically for older OSs)
Device drivers
is a piece of software that forms a part of an OS
each driver will have different requirements, it is unreasonable to expect an OS to have the ability to interact with every single device
when you use a new device you’ll often have to install a new driver to enable the device to work
Loading the OS
power is applied
CPU reads the bootstrap from RAM
bootstrap is executed
hardware test is performed
booting halts(failed)
or
OS is loaded into memory
OS takes control of hardware and boot process complete(successful)
How an OS is structured
physical hardware is only interacted with through the kernel
kernel has complete control of the hardware and direct interaction
all applications interact with the OS which then interacts with the kernel which in turn interacts with the hardware
Kernel misbehaves
if a program within the kernel crashes (or has an error) the whole system usually crashes
most applications do not have access to kernel level control, and those that do are incredibly well tested
many applications that are core to the OS do not have kernel level access