1/246
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
operating system
a fundamental software that manages the computer hardware, provides common services for computer programs, and acts as an interface between users and the machine
why do we need Operating systems
it is essential for managing the hardware and software resources of a computer system.
main functions of an operating system
resource management, file management, interrupt handling, security, providing a user interface, providing utilities, providing a platform for software to run
resource management
operating systems manage the computer’s resources. They allocate resources to specific tasks and ensure they are used effectively
what computer resources does the OS manage
CPU, memory, disk drives and printers
file management
operating systems handle the storage, retrieval and manipulation of data files.
how do OS allow users to work with files
it provides a GUI of the file system that allows a user to decide which directory a file should be saved in and what the file name will be.
interrupt handling
the OS handles interrupts and processes them in a timely manner to maintain the smooth running of the system
security
OS provides various security features such as password-protected system accounts, virus scanning and file encryption
how can password protected system accounts be useful for security.
system accounts can be restricted from performing certain actions such as editing network settings or installing unapproved software
providing a platform for software to run
operating systems provide a platform on which application software can run, this is mainly by allowing software access to system resources.
providing a user interface
operating systems provide interaction in 2 ways, through a GUI or text-based via a command-line interface .
features of a GUI
windows, icons, menus, pointer
command line interface
instructions and commands are typed into the interface
file encryption
allows users to send files over networks securely
file compression
reduces the size of a file , which helps send large files over a network
disk cleanup
scans the hard disk for duplicate and corrupt files and deletes them to create ore space on the disk
memory management
fundamental role of the OS, dealing with the allocation and deallocation of the computer’s primary memory
benefits of memory management
efficient allocation of memory enables multitasking,
memory management maintains security, it doesn’t let programs access memory reserved for other programs
memory management techniques
paging, segmentation, virtual memory
paging
paging is the process of dividing the primary memory into fixed equal sized blocks called pages
advantages of paging
facilitates efficient memory management and enables the use of virtual memory
drawbacks of paging
can lead to internal fragmentation as unused space in a page is wasteful as other unrelated data can’t be stored in the page and more pockets of wasted space will exist across the memory
segmentation
a method of dividing memory into variable-sized segments based on logical parts of a process
difference between paging and segmentation
pages are physical divisions and are fixed in size, segments are logical divisions and variable in size
virtual memory
using hard drive space as an extension of ‘RAM’ . Data is offloaded to VM when Primary memory is almost full
advantages of segmentation
allows for intuitive and efficient memory access
disadvantage of segmentation
this can result in external fragmentation , as segments fill up the memory the physical gaps reduce the maximum size of new segments that can be allocated
advantages of virtual memory
allows more extensive programs to be run and facilities effective multitasking
disadvantages of virtual memory
slower to access than physical memory, which degrades performance if overused.
interrupts
a signal to the processor that stops its current task and performs a different task temporarily
groups of interrupts
hardware events or time-sensitive tasks
what happens when an interrupt occurs
the processor suspends the current program execution and transfers control to an interrupt service routine
types of interrupts
hardware interrupts, software interrupts, trap interrupts
purpose and role of interrupts
real-time event handling, device communication , multitasking
real-time event handling
hardware errors and signals from input devices
device communication
alerts from external devices
multitasking
suspending processing in one application so that the user can switch to another
hardware interrupt
generated by external devices
software interrupts
triggered by software or the operating system
trap interrupts
intentionally triggered by a program
ISR - interrupt service routine
a special function that handles a particular interrupt type.
interrupt prioritisation
the processor can acknowledge and switch to resolving a higher-priority interrupt.
nesting of interrupts
ability of processor to handle interrupts within interrupts
scheduling
deciding which tasks to process, for how long and in what order is achieved through scheduling algorithms
types of OS scheduling algorithms
round robin, first come first serve, shortest remaining time, shortest job first, multilevel feedback queues
round robin
each job is given a time slice to use the CPU. if the job has not completed by the end of its time slice, the next job is allocated a time slice
first come first serve
the first job to arrive is executed until it is completed
shortest remaining time
the time to execute each task is estimated . the job with the shortest estimated time is executed meaning that a shorter new job can take over the current process
shortest job first
the time to execute each task is estimated. the job with the smallest execution time is executed until it is completed. then the next shortest task is scheduled.
multilevel feedback queues
multiple queues are created. each queue has a different priority level. If a job uses too much CPU time, it is moved down to a lower priority queue.
benefits of round robin
all processes get a fair share of the CPU
good for time-sharing systems
drawbacks of round robin
choosing the right period of time can be difficult
can lead to high turnaround time and waiting time for longer tasks
benefits of first come, first served
simple and easy to understand
fair in the sense that processes are served in the order they arrive
benefits of multi-level feedback queues
smaller tasks are prioritised
creates a prioritisation system where similar-sized tasks are queued together
drawbacks of multi-level feedback queues
more complex than other algorithms
setting the correct parameters can be complicated
benefits of shortest job first
minimises waiting time
efficient and fast for short processes
drawbacks of shortest job first
can cause starvation of longer processes
requires estimation of the task in advance
advantage of shortest time remaining
ideal for jobs that have shorter estimated times
minimal waiting time - provides lowest average waiting time
disadvantages of shortest time remaining
requires estimation of time to execute each task
starvation of longer tasks
types of operating systems
distributed , embedded, multi-tasking, multi-user, real-time
distributed operating systems
run on multiple machines appearing as a single unit, used for efficient task distribution and load balancing
embedded operating systems
Designed for specific tasks, is the system running inside a device that is not primarily a computer system
multi-tasking operating systems
Allows multiple tasks to run concurrently on a single processor, manages system resources and allocates CPU time to different processes
multi-user operating systems
Supports multiple users accessing computer resources concurrently, efficiently manages resource allocation, and provides features for data security and user privacy
real-time operating systems
Designed for immediate data processing, and can ensure tasks are processed in specific timeframes, highly efficient
BIOS
basic input / output system of a computer. The first program that runs when computer system is switched on. It initialises hardware and performs a POST.
what is POST
power-on-self-test. A diagnostic testing sequence that ensures all the hardware components are working properly.
what happens if bios encounters ant errors during this test
will either halt the boot process or issue an error message
what happens if the POST succeeds
BIOS will run the bootstrap loading sequence which its the program responsible for starting the OS
device drivers
a piece of software that enables communication between an operating system and specific hardware devices by translating instructions.
why is a device driver so important
allows the OS to control and interact with different devices, and perform specific operations.
what problem can the device driver solve
the fact that every manufacturer of a device has its own standard, device drivers enables the device to communicate with various computer systems.
virtual machine
a software-based emulation of a physical computer that runs an operating system and applications
uses of virtual machines
cross-platform compatibility, software testing, legacy support
cross-platform and legacy support
not all software is designed to run on all OS, so a virtual machine of different OS can be used.
After new updates of an OS, a virtual machine of the previous OS can be used to access it
in software testing of virtual machines
VMs are a way to create isolated test environments that leaves the host OS unaffected
what do isolated environments allow a developer to do
monitor the way their software affects system performance, test on a clean-slate system while no other applications are running
what can VM management software do
create virtual machines that act like they have older hardware. This allows developers to build software that can be run on older hardware so that more users can use the software.
how else can developers use Virtual machines
to test against various oS for greater compatibility
intermediate code
code generated through compilation and allows programs to run across different OS
benefits of virtual machines
allows software to run of different OS
supports legacy applications
provides isolated test environments
drawbacks of virtual machines
uses system resources such as CPU, RAM and storage from the host machine
performance is usually slower than running software directly on physical hardware
complex to set up and manage
applications
software designed to perform a specific task or tasks for a user
utility software
software designed to help analyse, configure, optimise or maintain a computer.
utility software types
disk defragmentation, file management, device driver, system cleanup, firewall, anti-malware, compression, back up
disk defragmentation role
to rearrange files on the disc drive to increase efficiency.
file management role
software used to organize, search, rename and relocate files stored on the system
system cleanup role
software used to free up space on the system by removing unnecessary files and data.
firewall
software that manages incoming and outgoing network traffic and prevent malicious request from other devices
compression
software that reduces size of files
back up
software that automatically makes copies of specific data to cloud or physical storage
anti-malware
software that detects, quarantines and removes malicious programs
open source
software that can be used by anyone without a license and is distributed with the source code.
closed source
closed source code requires the user to hold an appropriate license to use it , users cannot access the source code
benefit and drawback of open source to creator
benefit : collaboration, community engagement and faster innovation
drawback: less control , burdened with requests from users
benefit and drawback of closed source to creator
benefit: greater control, revenue through sales, IP protection
drawback: slower innovation, full responsibility for updates and flaws
benefit and drawback of open source for user
benefit : free, customisable and transparent
drawback : might be less user-friendly, compatibility issues and bugs
benefit and drawback of closed source for user
benefit : more polished products, professional support and consistency in updates
drawbacks : costly, less customisable
translator
software that converts source code from a high level language to a low level language