1/50
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Virtual machine
Any instance where software is used to take on the function of a machine
What are 2 things a virtual machine might do?
Execute intermediate code or run an operating system within another.
What does an emulator do?
Tricks a program into thinking it’s running on native hardware whilst it’s actually running on a different machine.
What are 2 advantages of using virtual servers across a small number of physical servers?
As demand on the network increases, virtual servers can be created to balance the load across physical devices
If one stops working, the others can pick up the load
Application software
Can be used by the user to perform a specific function
Utility software
Maintains consistent and high performance of the computer system.
Generic application
Does not have a specific purpose
Specific application
Follows a specific purpose
Examples of application software (12)
Word processors, DTP, Spreadsheets, database management, presentation, multimedia, graphics manipulation, text and voice communication, social networking, email clients, web browsers, games
Examples of utility software (7)
File management
Antimalware
Defragmentation
Compression
Backup
File repair
Device drivers
What is the purpose of file repair?
Corrects corrupted or damaged files by restoring the file to its original state
What is the purpose of data compression?
Reduces the file size so it takes up less space and downloads faster over the internet.
What is the purpose of defragmentation?
Reorganises files on a hard disk, putting fragments and free space back together
What is the purpose of antimalware?
Keeps your computer safe from malware including viruses, trojans, worms and spyware.
Open-source software
Software that users can freely distribute and modify with access to the source code
Benefits of open source software for users
Software is free
Wide community modification
Drawbacks of open source software for users
Can be poorly supported
Some features might not be well tested
Benefit and drawback of open source for creators
Gets software out to a wider community
Little to no financial gain
Proprietary/closed-source software
Software that users cannot modify due to it being protected by the Copyright Design and Patents Act, usually paid for and licensed per user/computer.
Benefit and drawback of proprietary for users
Product is well supported, tested and professionally built
Cost or ongoing subscription fee
Benefit and drawback of proprietary for creators
They receive an income for their product
Constant demand for more features and improvements from community
Machine code
The pure binary form of source code that machines can understand and execute
Translation
The process of converting source code into machine code
Interpreter
Translates code line-by-line into machine code
Compiler
Translates entire program all at once
Paging
A method of dividing physical memory into fixed size pages made to fit sections of memory.
Segmentation
A method of dividing memory logically into different sized segments, each one representing a complete section of a program.
Functions of an operating system (8)
User management
File management
Memory management
Scheduling
Device drivers
Security
Platform for applications
Utility software
Interrupts
The way a device signals to the processor that they require attention
Interrupt service routine
A program with a set of instructions that need to be fetched, decodes and executed to carry out the operations of the interrupt.
What happens to the values in registers when an interrupt is received?
They are pushed onto a stack and saved for later retrieval
Scheduler
Manages which processes to execute next and the length of time the processes can run for.
First come first serve (FCFS)
Processes are executed until completion in the order they arrive.
Shortest job first (SJF)
Executes the process that takes the shortest amount of time to execute first.
Round robin (RR)
Allocates each process a fixed time slice (or quantum) and sends processes to the back of the queue if they are not completed within that time slice.
Shortest remaining time (SRT)
Similar to SJF, however processes can be suspended if a higher priority process joins the queue.
Multi-level feedback queues (MLFQ)
Moves processes between multiple queues (on a multicore processor) of different priorities.
Multi-tasking operating system
Schedules each active program to receive a time slice of processing, giving the impression that they are running at the same time.
Multi-user operating system
Allows more than one person to use a computer or a server at a time, and manages the various permissions and access rights of users.
Distributed operating system
Coordinates multiple computers across a network to perform a single task, and presents them to the user as if they were a single system
Embedded operating systems
Run on dedicated hardware at maximum efficiency, using low powered processors and very little memory.
Real time operating systems
Processes are guaranteed to execute within a known time frame, and plenty of redundancy is built in to handle sudden increases in input.
Device driver
A piece of software that tells the operating system how to communicate with a peripheral device.
Advantages of compilers (3)
No need for translation at run time
Faster speed of execution
Code usually optimised
Disadvantages of compilers (3)
Programs will not run with syntax errors, which can make coding more difficult
Code needs to be recompiled when changed
Designed for a specific type of processor
Advantages of interpreter (3)
Program will always run and stop at a syntax error, making coding easier
Code does not need to be recompiled when changed
Disadvantages of interpreters (3)
Translation is required at runtime
Slower speed of execution
Code is not optimised
Parse
A stage in the compilation process in which the compiler performs a different action on the source code
4 parses in the compilation process
Lexical analysis
Syntax analysis
Code generation
Code optimisation
Lexical analysis
Parse in the compilation process in which source code is read letter by letter, and separated into lexemes when a white space or special symbol is reached, which are input into a symbol table.
Syntax analysis
Receives the tokens from the lexical analyses and analyses their syntactical structure, checking it abides by the correct syntax of the programming language, and then creates an abstract syntax tree for the next stage if all the rules are followed.