Describe an open shop operating system.
A single CPU machine with 1 user running 1 program at a time. All programming is in machine code.
Describe a batch system operating system.
It runs a set of programs in batch to increase efficiency. Supports spooling.
What is spooling?
Spooling allows the overlap of I/O with computation.
Describe a multiprogramming operating system.
A single CPU machine running many loaded programs. Uses a job scheduler.
What does a job scheduler do?
Selects jobs to load. Then selects which loaded jobs to run.
Define timesharing.
Switching jobs frequently to create the illusion of many jobs running simultaneously.
What does CPU scheduling do?
Selects which of the many ready jobs to run.
What is a consequence of timesharing?
Interactive computing.
Describe how a program is ran in a single-tasking OS.
The program is loaded in memory. The instruction pointer is set to the start of the program. An exit error code is available to the user.
How does dual-mode operation work?
A mode bit is used to distinguish between two modes of operation.
Describe the two modes in dual-mode operation.
User mode when executing on behalf of a user. Kernel mode when executing on behalf of the OS.
How does dual-mode operation provide protection?
Some instructions are designated as privileged, only executable in kernel mode. This allows OS to stop malicious code from doing bad things.
State the purpose of the kernel.
The kernel provides OS services.
How does the kernel protect I/O devices?
I/O are done through the kernel instead of by the applications directly.
Describe how OS services are accessed.
Through system calls. Invoked by a trap. Vector enforces code run when mode switch occurs.
State the purpose of system calls.
Provide a language agnostic, standard interface to the OS services.
Describe how a system call is invoked.
Each system call is identified by a number that indexes a system call table. Invoked by putting the number and required parameters in the right places and trapping.
State the 3 main ways of passing parameters when invoking a system call.
Load into registers, Place onto stack, Place into memory and put address to register.
Describe microkernels.
The minimum amount of programs in kernel space. OS services provided by servers. Message passing is used to access servers.
State the benefits of microkernels.
Increased modularity and extensibility. Less code so less likely for something in kernel space to crash.
Define virtualisation.
Virtualisation allows operating systems to be run alongside each other above a hypervisor.
Describe the difference between the two types of hypervisors.
Type 1 hypervisor runs directly on host hardware. Type 2 hypervisor runs above a full OS kernel.
What are the two methods of supporting cross-architecture in virtualisation?
Emulation: slower. Interpretation: only if program is not natively compiled.
Define virtual machines.
VMs encapsulate an entire running system. The VM is boot over a hypervisor.