1.2.1 Operating Systems
No description yet. This curated deck is ready for daily study.
Card preview (24)
What are the key features of an operating system?
• Provides a user interface • Manages hardware (peripherals) • Manages CPU usage / Interrupts • Provides utilities • Manages Memory • Provide system security (user permissions) • Provides a platform for software to run
What are the key facts about memory management (RAM)?
• Provides security as it does not let programs access memory reserved for other programs. • Ensures that RAM is used efficiently and not wasted. • Removes data not needed anymore (garbage collection) and allocates memory to applications. • Provides multitasking as it allows multiple programs to run at once
What are the key facts about paging?
• Physical addressing with fixed-size divisions • Data can be held non-contiguously and makes the best use of storage. • Can cause internal fragmentation (space wasted inside page due to fixed size)
What are the key facts about segmentation?
• Logical addressing with variable size divisions. • Can cause external fragmentation - Can leave gaps in RAM due to differing sizes of segments
What are the key facts about virtual memory?
• Uses secondary storage (HDD) • Pages not currently needed get moved to virtual memory to create room • Pages are swapped between virtual memory and RAM as nothing can be running from virtual memory.
What is an interrupt?
A signal to the processor indicating a device/process needs attention Examples of interrupts • Software interrupt - Closing a piece of software • Hardware Interrupt - Printer out of paper
What happens when an interrupt is received?
Higher Priority • CPU finishes its current FDE cycle. • The contents of the CPU’s registers are copied to a stack in memory. • The location of the appropriate interrupt service routine is loaded into the program counter. • When complete, the previous contents are popped from the stack and loaded back into the registers. Lower/Equal Priotiy * Current process, then the current process continues.
What are virtual machines?
A theoretical computer that runs like software Shares the resources with the actual OS that it is running on
What are the benefits of virtual machines?
• Allows you to run the software on several different systems without needing multiple physical machines. • Protects the physical machine from a virus as the VM can quickly be reset to its original state. • Some VM are used to execute intermediate code (Example Java VM)
What is the purpose of scheduling (CPU Management)
• Used to process as many jobs as possible in the least possible time • Ensures all jobs are processed fairly • Enables the most efficient use of the processor
What are the five main types of scheduling algorithms?
• Round Robin (RR) • First come first served (FCFS) • Shortest job first (SJF) • Shortest remaining time (SRT) • Multi-level feedback queues (MLFQ)
Describe round-robin scheduling
• Each process is given a fixed equal time slice • If the process is not completed, then it joins the back of the queue and the next one starts.
Describe first come first served (FCFS) scheduling.
• Jobs are processed to completion in the order in which they arrive (First in First Out) • The job will be completed before the next one starts • Each job has an equal priority.
Describe the shortest job first (SJF) scheduler.
• Picks the job that will take the shortest time and runs it until it finishes (unlike SRT which will check everytime a new job comes into the queue - even if it is in the middle of a task) • Needs to know the time each job will take in advance
Describe the shortest remaining time (SRT) scheduler.
The quickest job is completed first but stops and re-evaluates when a new job arrives (meaning the current shortest job could be interrupted by an even shorter job).
Describe multi-level feedback queues (MLFQ)
• Puts processes into different queues • Each queue has a different priority • The algorithm can move processes between these queues based on their priority • Designed to minimise Input/Output bottlenecks
What are the 5 main types of operating systems?
Distributed Multi-User Real-time Multi-Tasking Embedded
Describe a distributed OS + give example of possible use.
• Shares processing between the processors on a network • Allow multiple computers to be treated as one • Multiple computers work on the same problem, completing it quicker Example: Video Rendering
Describe a multi-user OS + give example of possible use.
• Allows multiple users to use the same computer at the same time • Each user is given a time slice of the processor Example: Mainframe
Describe a real-time OS + give example of possible use.
• Offers a guaranteed response time • Will make decisions and act immediately Examples: Self-Driving Cars & Airplane Auto Pilot
Describe an embedded OS + give example of possible use.
• Has limited function and is read-only – stored in ROM. • System software used to manage the device • Built into the device itself • Specific to the hardware/purpose Examples: Washing machines & Microwaves
Describe a multi-tasking OS + give example of possible use.
• Allows the user to run more than one program at the same time. • Example uses include running word processing software whilst checking emails. Examples: Typical home/personal computer OS
Describe and give examples of a device driver
• A program that allows the operating-system to communicate with external hardware • Translates operating-system instructions into a form that devices can use • Allows peripherals from different manufacturers to work with different OS • Abstracts hardware complexity Examples: Printer drivers| Graphics Card drivers| Sound Card drivers
Define BIOS and state its role
Basic Input Output System (BIOS) • Contains the computer start up instructions • Loads settings • Performs the Power On Self-Test (Tests hardware is working) and reports errors • Determines the drive on which the OS is stored • Stores and loads the Bootstrap loader (used to boot up the OS) • Can change settings such as which storage device the computer boots from