1/41
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Operating System
Software that manages the hardware and provides an interface for between the user and application software
User Interface
Boundary between user and computer system, allowing the user to input data and commands to receive output or feedback
Graphical User Interface
UI that uses WIMP: Windows, Icons, Menus, Pointers. Includes visuals, is interactive and is optimized for mouse and touch input
Command Line Interface
UI that is text based. Less resource heavy than a GUI. More commands than a GUI. Efficient, intended for advanced users.
Utility Programs
Memory Management, File Management, Multi-Tasking, User Management, Interrupt Handling
Memory Management
OS allocates RAM to different programs
File Management
Data stored in files has an extension which tells the OS which application to the load the file into. OS may present a logical structure of files in folders, allowing the user to rename, delete, copy and move files.
Multi-Tasking
Technique where multiple tasks or processes are executed concurrently within a single system. OS manages the execution by switching between them rapidly, giving the illusion of simultaneous execution
User management
Allows multiple users to log into the same computer. OS retains settings for each user such as icons, backgrounds, etc. Each user has different access rights to files and programs
Paging
Available memory is divided into fixed size chunks called pages. Process loaded into RAM is allocated sufficient pages, they may be non-contiguous
Segmentation
Programs are divided logically based on program structure. The segment size is variable.
Interrupt
Something that stops the continuous processing of a program
ISR
Interrupt Service Routine: Program with set of instructions that need to be executed to carry out the interrupts
Why are interrupts needed
To allow a computer system to respond quickly and efficiently to important events without wasting CPU resources.
Examples of interrupts
Keyboard inputs, timer interrupts, I/O device alert, error handling
Scheduling
Task of allocation CPU processor time amongst all running programs
Scheduler
Processes as many tasks as possible, minimizes delays, uses maximum resources, prioritizes jobs, makes sure jobs aren’t uncompleted, alters priorities according to need
First Come First Serve (FCFS)
Processes are executed in the order that they arrive. Each process runs to completion before the next one begins.
Shortest Job First (SJF)
Picks the process that takes the shortest amount of time to run and runs them until they finish. Scheduler finds out how long each process takes
Round Robin
Each process is given a set amount of CPU time to run. If the process is completed, the next process is loaded, else, the process is put at the back of the queue to wait.
Shortest Remaining Time (SRT)
The completion time is estimated as each new job arrives. The job with the shortest remaining time to complete is executed
Multi-Level Feedback Queues
Allows processes to be shifted between queues, based on the priority of the task. If a process uses too much CPU time, it’s moved to a lower priority queue. Processes can be moved up the queues if it’s waited for a long time
First Come First Served Pros & Cons
Pros: Simple algorithm to implement. Ensures process will run to completion in minimal time
Cons: One job prevents others from being completed until it’s processed. Doesn’t take into account priority or completion time of a process
Shortest Job First Pros & Cons
Pros: Minimizes average waiting time, Efficient throughout, Good for batch systems, Fair for short tasks.
Cons: Long processes may be delayed indefinitely if short jobs keep arriving, Requires knowledge of job length,
Round Robin Pros & Cons
Pros: Each process gets an equal slice of CPU time, Quick responses, as processes are regularly switched, simple to implement, Avoids starvation.
Cons: Processes waste CPU time if time slice is too short, Longer average waiting time, Not optimal for batch jobs.
Shortest Remaining Time Pros & Cons
Pros: Minimizes average waiting time, Responsive to new quick jobs, More efficient due to multiple short jobs being completed quickly.
Cons: Long jobs may be constantly interrupted, Frequent switching wastes CPU time, Requires knowledge of job length, Complex to implement
Multi-Level Feedback Queues Pros & Cons
Pros: Flexible as it can adapt to different types of processes, Prevents high CPU-time processes from using all the resources, Processes can change priority based on how they behave, Avoids starvation
Cons: Complex to implement, Queue management can waste CPU resources, Choosing no. queues is challenging, Resource intensive.
BIOS (Basic Input/Output System)
Firmware stored in the RAM that helps the computer start up and communicate with hardware and OS. Checks that essential hardware are present using POST. Runs the bootstrap program to load OS from storage device to RAM.
Device Drivers
Software that allows the OS to communicate with hardware devices. Device driver translates instructions into commands between OS and devices.
Virtual Machines
Software based computer. Runs OS and applications like a real computer using the host computers hardware. Isolated from main machine. Used for testing software. Provides flexibility
Different types of OS
Distributed, Multi-tasking, Multi-user, Embedded, Real-time
Multi-Tasking OS
Allows more than one program to run at the same time. Switches between process to keep them all up to date.
Multi-User OS
Allows multiple users on different workstations to access a single, powerful computer via a network. Manages permissions and access rights. Keeps log of processing time and resources used. Maintains security and privacy between the users
Distributed OS
Uses a parallel processing system which spreads the load over multiple computers. One job is split into several tasks and each task runs on a separate computer. This provides more power resulting in better performance. Online shopping sites often use this method.
Embedded OS
Runs on dedicated hardware so they run with maximum efficiency using low powered processor and little memory. Minimal features. Programs held in ROM. Limited RAM. UI is simple. Handles a specific task of specific hardware.
Real-time OS
Must respond quickly to inputs, coping with many input simultaneously. Seen in safety-critical environments. OS has a failsafe to detect if components fail. Hardware redundancy. Processes execute in a known time frame.
BIOS
Basic Input Output System. Loads the OS when computer turns on
Device Driver
Allows OS to communicate with a device by translating the OS’ instructions
Virtual Machine
Program that has the same functionality as a physical computer and uses the same resources
General Applications
Application used to carry out different tasks and meeting multiple needs e.g. word processor
Specific Applications
Performs one specific function, and not many other uses.
Utility Software
Software designed to keep computer running safely and efficiently