Intro
OS
OS kernel- responsible for managing the computer's hardware including:
-Memory management
-CPU scheduling
-Handling interrupts (ISR)
The OS manages hardware, provides a UI, and also provides security
Memory Management
Paging- memory is split into equal sections called pages. It is none contiguous.
Segmenting- memory is split into differently sized segments
Virtual memory
Scheduling
Round robin- a task is given a set time, if it hasn't finished it's sent to the end
First come, first served- starvation
Shortest job first- starvation
Shortest time remaining- starvation
Multi-level feedback queue- priorities
Interrupts
Polling- system constantly checks peripherals, not effective
After a cycle, checks if an interrupt has been sent. If it has, the contents of the registers is put on a stack in memory. ISR runs. If higher priority interrupt, the previous interrupt is put on stack, new interrupt is handled. After interrupt has been dealt with, the stack data is restored, and program continues.
ISR- Interrupt Service Routine
OS types
Distributed- Multiple separate computers are connected to each other. Tasks are split between all the nodes to each process a part, and this OS coordinates the communication between them.
Embedded- This is a simplified OS, specialised for a certain use
Real time- This gives a response within a guaranteed time frame, so processes data as fast as possible. This results in less flexibility, but a very fast response time
Multi-tasking- Manages memory and CPU access (scheduling) so that it seems like tasks are happening at the same time. A single core CPU can't process more than one line at a time, but this switches quickly through programs.
Multi-user- Allows multiple users to use the same system at the same time
Libraries
Software library- a collection of programs that are made available for use within a programming language
-Saves you the time and effort of writing code which has already been written
-Collaborative
-Works to everyone's strengths
-Re-usable, can be shared with other programs at run-time
-Improves readability (makes code neater)
-Has already been debugged, less error prone
-Open-source
-Can be written in other languages
BIOS (Basic Input/output System) is software stored in the ROM. When a device is booted up, it first checks all the hardware, like inputs/outputs, memory, secondary storage, CPU (the POST). The boot loader then loads the OS kernel (the core part, which has programs like scheduling, interrupts, memory management) from secondary storage to RAM.

YOU ARE READING
Computer Science Reviews (A level)
Non-FictionComputing First published 4th December 2021 Finished 13th August 2022