1.2 Software and Software Development

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/245

flashcard set

Earn XP

Description and Tags

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

246 Terms

1
New cards
Operating system
Software that controls the computer's hardware and software resources
2
New cards
Function of OS
Allows apps to interact directly with hardware on computer
3
New cards
Tasks performed by OS
Processor management, inputs, outputs, interrupts, memory management (inc. backing up), security
4
New cards
Purpose of OS
To prevent apps each having to include code to interact with hardware
5
New cards
Memory management requirement
Memory must be shared fairly between multiple programs and apps being used
6
New cards
OS role: memory management
OS determines and allocates the length of processor time each task receives
7
New cards
Memory management techniques
Paging, segmentation, virtual memory
8
New cards
Paging description
Memory split up into equal-sized pages, physical divisions without any logical decisions
9
New cards
Paging function
Pages swapped between main memory and hard disk as needed
10
New cards
Segmentation description
Memory split up into logical, differently sized divisions called segments, complete sections of programs, logical divisions
11
New cards
Segmentation advantage
Increases efficiency as code kept together where necessary
12
New cards
Virtual memory description
Section of hard drive acts as RAM when space in main memory is insufficient to store programs being used
13
New cards
Virtual memory function
Sections of programs not in use temporarily moved to into virtual memory then moved back to RAM when needed
14
New cards
Disadvantage of memory management
Disk thrashing
15
New cards
Disk thrashing description
Pages/segments swapped too frequently between hard disk and main memory so more time spent transferring data than running programs
16
New cards
Disk thrashing factors
Worsens as virtual memory fills up
17
New cards
Interrupts definition
Signals generated by hardware/software to indicate to processor that a process needs attention
18
New cards
Interrupt priorities
Different interrupts have different priorities, urgency (should be) taken into account by OS
19
New cards
Interrupt register
Stores interrupts in order of priority within priority queue
20
New cards
Define priority queue
Abstract structure holding interrupts in order of priority
21
New cards
Use of interrupt service routine (ISR)
Used by OS to make sure interrupts are serviced fairly
22
New cards
ISR description
Processor checks contents of interrupt register at end of each FDE cycle
23
New cards
Stack
Holds current contents of special purpose register if processor finds interrupt of higher priority than current process
24
New cards
Processor finds interrupt of higher priority than current process...
Loads appropriate ISR into RAM, flag set to signal ISR has begun
25
New cards
Interrupt serviced...
Flag is reset
26
New cards
After ISR complete
Interrupt queue checked again for further interrupts of higher priority than original process
27
New cards
No additional (priority) interrupts found
Contents of stack transferred back into registers in memory
28
New cards
Additional priority interrupts found
Process repeated until all priority interrupts have been serviced
29
New cards
Job definition
Section of program being run
30
New cards
Scheduling description
OS ensures all jobs receive fair amount of processing time
31
New cards
Scheduling function
Scheduling algorithm implemented, appropriate to task
32
New cards
Pre-emptive scheduling algorithm description
Involves jobs being actively made to start and stop
33
New cards
Pre-emptive scheduling algorithms
Multilevel feedback queues, shortest remaining time, round robin
34
New cards
Multilevel feedback queues description
Multiple queues used, each order based on a different priority
35
New cards
Multilevel feedback queues disadvantage
Requires decision on which job to prioritise based on combination of properties
36
New cards
Shortest remaining time description
Orders queue storing jobs to be processed according to time left for completion, shortest time left first
37
New cards
Shortest remaining time disadvantage
Risk of processor starvation for longer jobs if short jobs continuously added to queue
38
New cards
Processor starvation
Occurs when a particular process does not receive enough process time to execute and be completed
39
New cards
Round robin
Each job given an equal time slice in which it can execute, OS grants each another time slice after 1st round
40
New cards
Time slice
Section of processor time
41
New cards
Round robin disadvantage (multiple cycles)
Longer jobs take much longer time for completion due to execution being inefficiently split into into multiple cycles
42
New cards
Round robin disadvantage (jobs)
Does not take into account job priority
43
New cards
Non pre-emptive scheduling algorithm description
Leave jobs alone once started
44
New cards
Non pre-emptive scheduling algorithms
First come first served, shortest job first
45
New cards
First come first served
Jobs processed in chronological order according to when they entered the queue
46
New cards
First come first served advantage
Straightforward to implement
47
New cards
First come first served disadvantage
Does not take into account job priority
48
New cards
Shortest job first
Orders queue storing jobs to be processed according to time required for completion, longest last
49
New cards
Shortest job first suitability
Suited to batch systems where shorter jobs are given preference to minimise waiting time
50
New cards
Shortest job first disadvantage
Processor must know/calculate time for each job, risk of processor starvation
51
New cards
Types of OS (not mutually exclusive)
Distributed, embedded, multi-tasking, multi-user, real time
52
New cards
Distributed OS
Run across multiple devices, spreading load across multiple processor when a task is run
53
New cards
Embedded OS
Built to perform small range of tasks and cater to specific device, limited functionality
54
New cards
Embedded OS disadvantage
Hard to update
55
New cards
Embedded OS advantage
Consume less power, efficient due to being highly specialised
56
New cards
Multi-tasking OS
Enable user to carry out tasks seemingly simultaneously
57
New cards
Multi-tasking OS function
Uses time slicing to switch quickly between programs and apps in memory
58
New cards
Multi-user OS
Allows multiple users to use one computer
59
New cards
Multi-user OS typical use
Supercomputers
60
New cards
Multi-user OS requirement
Scheduling algorithm must be used to prevent risk of processor starvation and share memory appropriately
61
New cards
Real time OS
Designed to perform task within guaranteed time frame
62
New cards
Real time OS uses
Time-critical computer games, any situation where response within certain time period is crucial to safety
63
New cards
Basic Input Output System (BIOS)
First program that runs when a computer system is switched on
64
New cards
PC on start up
Points to location of BIOS
65
New cards
BIOS responsibility
To run various key tests before OS is loaded into memory including POST, checking CPU clock, memory and processor are operational, testing for external memory devices
66
New cards
POST
Power-on self test, ensures all hardware is correctly connected and functional
67
New cards
BIOS requirement
OS can only be loaded into RAM from hard disk after BIOS checks
68
New cards
Bootstrap/bootloader
Program that loads OS from hard disk into main memory
69
New cards
Device drivers
Computer programs provided by OS to allow OS to interact with hardware
70
New cards
Device driver function
Communicates request from peripheral hardware to OS to produce relevant output
71
New cards
Device driver specific
Specific to computer's architecture so different drivers must be used for different device types, also specific to OS
72
New cards
Virtual machine
Theoretical computer, program with same functionality of physical computer
73
New cards
Virtual machine function
Executing intermediate code (provides translator) and running one OS within another
74
New cards
Virtual machine use
To create development environment for testing programs on a different OS
75
New cards
Virtual machine advantage
Saves time and money of having to purchase multiple devices for testing
76
New cards
Virtual machine disadvantage
Slower to run code on
77
New cards
Virtual machine additional uses
Protection from malware (only affects VM), running incompatible software (reduces need for specific hardware)
78
New cards
Applications software description
Software designed to be used by the end user to perform one specific task
79
New cards
Applications software grouping
Categorised by function e.g. word processors, desktop publishing, presentation software
80
New cards
Applications software functioning
Accepts user input, processes input according to algorithms and generates output
81
New cards
Applications software requirements
Needs systems software to be able to run
82
New cards
Systems software description
Low-level software, responsible for computer running smoothly, interacting with hardware and providing a platform for applications software
83
New cards
Systems software examples
Utility programs, OS
84
New cards
Types of applications software
General purpose, special purpose, bespoke
85
New cards
General purpose software description
Can be used for a variety of tasks so attracts lots of users and is normally quite cheap
86
New cards
Special purpose software description
Can only be used for a single task, typically developed to fulfil a particular business need, fewer users so more expensive than general purpose
87
New cards
Bespoke software description
Developed to meet a user's specific requirements so very costly
88
New cards
Utility programs purpose
To ensure consistent high performance of OS
89
New cards
Examples of utility software
Compression, disk defragmentation, antivirus, automatic updating, backup, encryption, anti-malware
90
New cards
Compression
Used to compress large files to be transferred across internet or stored more space-efficiently
91
New cards
Disk defragmentation
Rearranges content of hard drive (not SSD) so files are stored together and can be accessed faster, increasing performance
92
New cards
Antivirus
Responsible for detecting potential threats to computer, alerting user and removing threats
93
New cards
Automatic updating
Ensures the OS is kept up to date, automatically installs updates when computer is restarted
94
New cards
Purpose of updates
To tackle bugs or security flaws, reducing vulnerability to malware and hacking threats
95
New cards
Backup
Creates routine copies of specific files at a specific frequency (both selected by user) so that they can be recovered
96
New cards
Full backup
Copies anything identified as important
97
New cards
Incremental backup
Only copies files that have been changed since last full backup
98
New cards
Encryption
Uses algorithm to convert plaintext into ciphertext so files can be transferred securely across networks and prevent access in case of hacking/theft, also decrypts files using encryption key
99
New cards
Anti-malware
Protects computer system by detecting and blocking threats, continuously monitors files and software being accessed by OS to detect signs of malicious intent
100
New cards
Malware
Software designed to cause damage to computer systems, corrupt or change files, steal data or cause disruption to services