1.2 Software Flashcards
What is Basic Input Output System (BIOS)?
Program that loads the OS from hard drive/ secondary storage memory to RAM when computer is turned on after checking to see if system hardware works
What are device drivers?
A program that allows the OS to control and communicate with the device
What is a distributed operating system?
The OS is spread over multiple computer servers on a network, acting as a single system to parallel process a job
What is a embedded operating system?
A specialised operating system built in to control a single machine
First come first served?
A scheduling algorithm where processes are dealt with in the order they arrive (a queue)
What is intermediate code?
Partially compiled code designed for a virtual machine
What are interrupts?
A signal to alert the CPU. Higher priority than the current task, the current is paused and finished after the interrupt
What is the Interrupt Service Routines (ISR)?
If interrupt is of higher priority, register contents are temporarily transferred onto the system stack at the end of the current FDE cycle and the interrupt is handled
What is Memory Management?
The efficient organisation and allocation of main memory to the programs in use
What is the Multi-level Feedback Queues?
A scheduling algorithm that uses multiple queues, each with a different priority
Jobs can be moved between queues
What is the Multi-tasking Operating Systems?
An OS capable of running multiple tasks simultaneously
What is the Multi-User Operating Systems?
An OS consisting of one mainframe computer with multiple terminals that allow multiple users to access the computer’s resources
What happens with the mainframe processor in a Multi-User OS?
Each user is given a time slice of the mainframe processor
What is an Operating System (OS)?
A set of programs managing the operation of the computer, it bridges the user to the hardware
What is Paging?
Partitioning memory into fixed sized physical divisions called pages
What is a Real time OS?
An OS where data is processed as it comes, with responses generated with a guaranteed timeframe
What is the Round-Robin algorithm?
Each process is given an equal time slice and is dealt with on a FIFO basis, if not done in time slice, added to the end of the queue
What is scheduling?
Allocating processor time to each application to ensure processor time is used as efficiently as possible when multitasking
What is Segmentation?
Splits memory into variable sized logical divisions called segments
What is the shortest job first algorithm?
It picks the process with the shortest estimated running time and runs it until it is finishes
What is the shortest remaining time scheduling algorithm?
It picks the process with the shortest estimated time remaining to finish, switches to one if added is shorter
What are virtual machines?
Any instance where software is used to take on the function of a machine, including intermediate code or running an operating system within another
What is virtual memory?
An allocated area of secondary storage where pages/segments of inactive jobs are swapped into to free up enough RAM for the current job
What are applications?
A program that can be run on a computer, allowing the user to carry out specific tasks
What is an Assembler?
A translator in low level language, which converts assembly language into machine code
What is a closed source software?
Source code is not available to users, software has a licence and how to use it
What is code generation?
Final stage of compilation, equivalent machine code program is produced
what is compilation?
Taking high level language source code and converting it into machine code
What are compilers?
A translator that converts high level language to machine code all at once
What are Interpreters?
Translator that checks the source code line for line for syntax errors, translates to machine and executes the line
What is Lexical Analysis?
The first stage of compilation, where extra spaces and comments are removed from the source code and it is searched for simple errors
What happens to keywords, constants and variables in lexical analysis?
Replaced by tokens, variable names are loaded into a symbol table which correspond to the tokens
What are libraries?
A collection of pre-compiled programs that can be loaded into a program and run whenever
What is a linker program?
Takes object code, combines with libraries and modules to create an executable file
What is an Open Source software?
Source code is freely available to view, redistribute or modify
What is Optimisation?
During code generation, object code is made efficient as possible by removing redundancies
What is Syntax Analysis?
The 2nd stage of compilation, where statements, expressions and tokens are checked for syntax errors using syntax diagrams
What is a loader program?
Program that loads the executable object program and its associated libraries into the memory before it is run
What is a translator?
A program which converts code from one computer language to another
What are Utilities (System Software)?
Maintenance such as optimising the performance of the computer, diagnosing issues, backing up files, setting up firewalls, etc.
What are the Agile Methologies?
An iterative process that produces a prototype after each sprint, each prototype is user tested and feedback is accounted for in later sprints
What are the 5 software development cycles?
Agile methodology
Extreme Programming (EXP)
Rapid Application Development (RAD)
Spiral Modell
Waterfall Lifecycle
What is Extreme Programming?
An agile methodology with short development cycles and very frequent software releases, checkpoints allow new user requirements
What is Rapid Application Development (RAD)?
A method that has repeated prototyping, evaluations and strict time limits
The user will quickly receive a reduced-functionality mock up of the program
What is the Spiral model?
An iterative version of the waterfall lifecycle where stages are refined and repeated until the final product is complete, each cycle produces a prototype
What is the Waterfall Lifecycle?
Each stage of development is completed one at a time in a linear order, if an earlier stage is to go back to, ones in between need to be redone
What is Assembly Language?
A low level language that uses mnemonics for instructions
What are Attributes?
Data recorded as a variable associated with an object
What are classes?
A template defining the attributes and methods that can be used to create a type of data known as an object
What is Direct addressing?
The simplest addressing mode in assembly language where the operand stores the memory address of the value to be operated on by the operator
What is Encapsulation?
Encapsulation in object-oriented programming is the practice of bundling attributes (data) and methods (functions) together within a class
What does encapsulation ensure
Using encapsulation ensures that data remains secure and is not accidentally modified or misused by controlling access to them using access modifiers (e.g., public, private)
What is Immediate addressing?
Where the data in the address the field is constant and the operand is the value to be operated on by the operator
Where are all of the types of addressing found?
They are all modes in assembly language
What is Indirect addressing?
Where the operand stores the address of the location holding the memory address of the required data
What is Inheritance?
The concept of subclasses inheriting the methods and attributes of its parent class (a.k.a its super class)
What are Methods?
Subroutines that represents an action an object can perform
What are Object-Oriented Languages?
Where the code is made of objects, which are instances of a class, objects have their own attributes and methods
What are Objects?
An instance of a class
What is Polymorphism?
Polymorphism allows objects to take on different forms or behaviours under the same name
What are Procedural Languages?
A high level language where code is grouped into subroutines and have built in data types and structures
What are Programming Paradigms?
A style of computation and programming, chosen according to the problem at hand
What are the 4 types of addressing used in assermbley language?
Indexed addressing
Indirect addressing
Immediate addressing
Direct addressing
What are the 8 essential features an Operating System provides?
Memory management
Resource management
File management
Input/Output management
Interrupt management
Utility software
Security
User Interface (UI)
In paging, Why is each program separated into equally sized pages?
These can then be swapped between main memory and the hard disk as needed
Segmentation, virtual memory and Paging, what is a key issue that all of are the 3 techniques?
Disk Thrashing
What is Disk Thrashing?
When the computer ‘freezes’ and occurs as a result of pages being swapped too frequently between the hard disk and main memory
How does the ISR work?
A flag is set when ISR starts, flag is reset when interrupt has been finished, checked for priority, then carries on with the FDE cycle
What are the 2 scheduling algorithms?
Pre-emptive
Non pre-emptive
What is a Non pre-emptive scheduling algorithm?
Once a job is started, it is left alone until it is completed
Examples of a pre-emptive scheduling algorithm?
Multilevel Feedback Queues
Shortest Remaining Time
Round Robin
Examples of a Non pre-emptive scheduling algorithm?
First Come First Served
Shortest Job First
What is a pre-emptive scheduling algorithm?
Jobs are actively made to start and stop by the OS
What is Processor starvation?
When a particular process does not receive enough processor time in order to execute and be completed
What is the name given to the program that loads the operating system from the hard disk into main memory?
Bootstrap/bootloader
What are the positives and negatives of using Multilevel feedback Queues for scheduling?
+ve - Service most urgent interrupts first
-ve - Hard to implement
What are the 3 functions of the CPU?
Power-on self test
Checking the CPU clock, memory and processor
Testing for external memory devices
What is POST in terms of the BIOS?
Power-on self test which ensures that all hardware is correctly connected and functional
When may Virtual machine be used?
Testing programs
Protection from malware
Running software compatible with different OS
Why is the BIOS critical to the computer system?
Only after these checks are completed that the operating system can be loaded into RAM from the hard disk