1.2.1 - Systems Software Flashcards
(24 cards)
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
What happens when an interrupt is received?
- If it is of a higher priority, the 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.
- If the interrupt is of a lower/equal priority to the 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
- 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.
Describe multi-level feedback queues (MLFQ)
- Uses several queues
- Each queue has a different priority
- The algorithm can move jobs between these queues
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 / SETI
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 enables communication between an operating system and a hardware device.
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