Unit 2 Systems Software and Applications Flashcards
What does the Operating System do?
Manages the hardware and provides an interface for the user and the application software
What functions does the OS provide? (4)
- User interface
- Memory management
- Interrupt handling
- Processor scheduling
What is Paging?
Available memory is divided into fixed chunks(pages). Each page has an address. Each running program in RAM is given sufficient pages but pages may not be contiguous
What is Segmentation?
Memory is divided into segments that can be different lengths. A particular function or subroutine occupies each segment
When does the CPU check for Interruptions?
After each clock cycle
How does a Stack work?
When an interrupt occurs, the processor stops fetching instructions and pushes its contents of its registers on a stack. First on, last off
What is a Round Robin?
Each job is given a fixed time slice and if its not completed in time the next job is allocated a time slice
What is First Come First Serve?
The first job to arrive is executed until it completes
What is Shortest Remaining Time?
Each has job an estimated completion time. The job with the shortest remaining time to completion is executed, meaning that a shorter new job can take over from the current process
What is Shortest Job Time?
Each job has a completion time estimated by the user. The job with the shortest completion time is executed when the current job completes
What is a Multi Level Feedback Queue?
Multiple queues are created with different priority levels. If a job uses too much CPU time it is moved to a lower priority queue. Processes can also be moved to a higher priority queue if they have waited a long time
What can Distributed Operating System do?
Coordinate the processing of a single job across multiple computers
What is BIOS?
Basic Input Output System
Boots the computer at start-up. Stored in ROM
What is a Device Driver?
A program that provides an interface for the OS to interact with a device. Drivers are hardware dependent and OS specific
What is a Virtual Machine?
A compute resource that uses software instead of a physical computer to run programs and deploy apps
What are the different types of System Software? (4)
- Operating System
- Utilities
- Libraries
- Translators
What functions do the OS provide? (4)
- Provide a user interface
- Handle memory management
- Interrupt handling
- Processor scheduling to provide ‘multi-tasking’
What does a Disk Defragmenter do?
Reorganizes the hard drive so that files are in sequential blocks where possible which makes reading quicker
What does Automatic Backup do?
Regularly backs up data in permanent storage
What does Automatic Installing do?
Runs in the background detecting software update releases and automatically installing them
What does Virus Checker do?
Scans permanent storage for viruses by comparing files to known virus definitions
What does Compression Software do?
Reduces the size of files
What are the categories of Application Software? (3)
- General purpose
- Special purpose
- Bespoke
What is the difference between Off-The-Shelf Software and Bespoke Software?
Off-the-shelf software is ready made software available for anyone to purchase. Bespoke software is custom made
What is Open Source Software?
Software where anyone can access the source code, free to use and anyone may modify it. Different to freeware
What is Freeware?
Software that is free to use but the source code is not available
What is Closed Source (Proprietary) Software?
Software that does not allow access to the source code and users must pay to get a license to use it. There may be restrictions on how the software is used
What criteria might you use when selecting an application to use? (5)
- Functionality
- Hardware
- Cost
- Availability
- Reliability
What is Assembly Code?
Instructions that are equivalent to machine code but easier for humans to work with
What does an Assembler do?
Translates assembly code into machine code
How does a Compiler work?
Translates a whole program written in a high level language into executable machine code, going through several stages
How does an Interpreter work?
Translates code written in a high level language into machine code line by line
What are the features of a Compiler? (4)
- Programs can be run many times without needing compiling again
- Faster to execute
- Executable code does not require an interpreter to run
- Compiled code can not be easily read and copied by others
What are the features of an Interpreter? (2)
- Source code can be run on any machine with an interpreter
- If an error is found, code does not need to be fully compiled
What is Bytecode?
An intermediate step between source code and machine code
What are the 5 five stages of Compilation?
-Lexical analysis, Symbol table, Syntax analysis, Semantic analysis, Code generation
What happens in Lexical Analysis?
All unnecessary spaces and all comments are removed. Keywords are replaced with tokens
What happens in a Symbol Table?
The lexer will build up a symbol table for every keyword and identifier in the program
The symbol table helps to keep track of the run-time memory address for each identifier
What happens in a Syntax Analysis?
The stream of tokens from the lexing stage is split up into phrases. Each phrase is parsed. If the phrase isn’t valid, an error will be recorded
What does Parsing mean?
When a phrase is checked against the rules of the language
What happens in Semantic Analysis?
The code is checked for errors that are logical not syntax
What happens in Code Generation?
The compiler generates the machine code
What happens in Code Optimisation
Redundant code is removed. Code is rewritten to be more efficient
What is a Library?
Pre-written and pre-compiled functions. Can be written by a user and called within a program
What does the Loader do?
Copies the program and any linked subroutines into main memory to run