1.2.1 - 1.2.2 Systems software + Applications generation Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What are the main purposes of an operating system?

A
  • Managing the hardware
  • Managing the software (loading programs in and out of RAM)
  • Security (username and password)
  • Providing a user interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Name 4 common operating systems.

A

Windows, Android, Linux, iOS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the kernel?

A

The kernel is the core of the operating system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the tasks of the kernel?

A
  • Loading and unloading programs from RAM
  • CPU scheduling
  • Memory management
  • Storing files to and from storage
  • File management
  • Data security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why do different operating systems have different kernels?

A

Because different devices have different priorities.
e.g. A kernel for a mobile phone will need to be as power efficient as possible whereas one for a desktop will be optimised for performance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are device drivers?

A

A device driver is a piece of software which enables the operating system to interact with and control a specific device.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Who makes the driver for a specific device?

A

The company who created the device.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a user interface?

A

Software that allows the user to interact with a computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Name and describe two common user interfaces.

A

GUI - graphical user interface - uses images, graphics and icons to provide a clear interface for the user to control the computer.

CLI - command line interface - allows the user to type commands directly into the computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Give 3 examples of utilities.

A
  • Print queue
  • File management
  • Antivirus
  • Disk defragmenter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the job of the memory manager?

A
  • Allocating memory to each program that runs
  • Mapping logical addresses to actual physical addresses
  • Prevents programs from overwriting each other
  • Moving files to virtual memory when running short on RAM
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Give two ways that an operating system manages memory.

A

Segmentation and Pagination

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How does segmentation work?

A
  • An application which is running is split into processes called segments
  • Each segment is a program that is allocated a space in RAM and executed separately.
  • The large program is run by running the smaller segments as required.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does segmentation do?

A

Allows a program to be run on a system without using up too much memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the code segment?

A

A segment which holds the executable instructions for the process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the data segment?

A

A segment which holds all of the variables for the process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the stack segment?

A

A segment which holds the memory addresses for the process which is running.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the free memory segment?

A

A segment which allows the stack segment to grow and shrink as necessary.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

How does segmentation prevent files from overwriting each other?

A

All the processes have a set section of memory which is controlled by the OS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is virtual memory?

A

A section of the hard disk which can be used as memory when the memory is full.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Why is virtual memory not ideal to use?

A

Because the hard disk is much slower than the RAM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

How does paging work?

A
  • The RAM is split up into numbered pages, each 4MB in size.

- Pages that have not recently been used can be copied from the RAM into virtual memory to free up space in thr RAM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is disk thrashing?

A

When more time is spent swapping data in and out of RAM than on actually processing the data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is a memory leak?

A

When a program does not flush its used data and so it takes up more and more space the longer it runs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What will happen if a memory leak is bad enough?

A

The RAM will be completely full and the system will require restarting to clear the contents of the RAM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Why is a memory leak less likely to happen to a well written program?

A

Because a well written program will regularly flush out the used data that it no longer requires, freeing up space in RAM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What is a stack overflow?

A

The more memory addresses are used in a process, th more the stack segment expands into the free memory. If the stack segment gets too big, then it overflows, causing the program to crash.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What are the main two ways that the CPU reacts to events?

A

Polling and interrupts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

How does polling work?

A

The CPU regularly checks to see if any peripherals or applications require attention.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Why is polling good?

A

It is very simple and predictable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Why is polling inefficient?

A

It uses up CPU processing time waiting for potentially nothing to happen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What is an interrupt?

A

A signal produced by either hardware or software which tells the CPU to stop what it is doing and carry out the interrupt task instead.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

How does the CPU know whether the interrupt task is more important than the task currently being executed?

A

Because an interrupt comes with a priority label. If this is higher than the task currently being executed then it replaces this task.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

How does a CPU process an interrupt? (ISR)

A
  • Stores values of registers to a stack in memory
  • Processes the interrupt
  • Once interrupt has finished processing, stack is reloaded into registers and process resumes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What is scheduling?

A

The way that the processor time is managed when multiple programs want to use it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What are the duties of the scheduler?

A
  • Processing as many tasks as possible in a given amount of time
  • Prioritising jobs
  • Altering priorities when needed
  • Ensuring no job is left waiting too long, even if it is low priority
  • Minimising delay between user request and action
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Describe the Round Robin scheduling algorithm.

A

A queue holds all processes that are ready to run.
First process is loaded and given a set amount of time to run.
If it is completed in this time the next process is loaded, if it is not then it is sent to the back of the queue and the next process is loaded.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Give a pro and con of round robin.

A
  • Useful if all processes are the same length and priority

- Not useful if processes vary in length and priority as it does not take these into account

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Describe the first come first serve scheduling algorithm.

A

Loads all processes into a queue and then gives them as long as they need to run before loading the next process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Give a pro and con of first come first serve.

A
  • It is simple to implement and ensures that all jobs will complete in minimum time once they have started.
  • Does not consider length and priority - long processes will block more important ones from taking place.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Describe the shortest job first algorithm.

A

The scheduler organises the processes into a queue based on the number of cycles (time) they take. They are executed in this order.
When a new task comes along it is slotted into the correct place in the queue. If it is shorter than the whole queue then the current task is interrupted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Give a pro and a con of the shortest job first scheduling algorithm.

A
  • Ensures that the maximum number of jobs are completed

- Does not take priority into account - long jobs may be waiting for a long time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Describe the shortest time remaining scheduling algorithm.

A

SIMILAR TO SHORTEST JOB FIRST BUT
The scheduler organises the processes into a queue based on how many cycles they have left instead of their total number of cycles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Why is shortest remaining time better than shortest job first?

A

Because if a long job is executing or is interrupted, it may have a low amount of cycles left out of a high total number of cycles. SJF would keep this at the end of the queue due to its high total cycles meaning that it woudln’t be run however SRT will move it to the front because it will take less time to execute than lots of smaller processes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Describe the multilevel feedback queue scheduling algorithm.

A

The scheduler organises processes into one of 3 queues based on their priority. The high priority queue is always executed first.
The scheduler can reallocate processes from one queue to another if it became more important or has been waiting for too long.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

Give a pro and con of multilevel feedback queues.

A
  • They take priority into account (only one)

- They are complicated to implement and are no more useful if the processes are all the same priority

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

What is a multitasking OS?

A

Runs on most personal computers.
Scheduler is in charge of switching between multiple processes in order to keep all applications up to date.
Because this is so fast, it appears to the user that it is all happening at once.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

Give some examples of a multitasking OS.

A

Windows, Android, Linux, macOS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

What is a multiuser OS?

A

Multiple workstations are connected to a single powerful computer (server) through a network.
The workstations do not run their own OS but rely on the OS of the central computer to allocate them resources. Peoples CPU usage time switches through so fast it is unnoticeable.

50
Q

Where are multiuser operating systems usually found?

A

Offices

Tills (shops)

51
Q

Why are multiuser operating systems useful for businesses?

A
  • They allow people to easily share files
  • Any update applied to the main computer is instantly available to the workstations
  • Antiviruses apply to all workstations so it is good for security
52
Q

What is a distributed OS?

A

The OS controls a cluster of computers at a time in order to complete a task which requires a lot of computing power.

This provides what appears to the user as one single extremely powerful computer.

53
Q

What is a distributed OS an example of?

A

Parallel processing

54
Q

Where might distributed operating systems be used?

A
  • Testing new drugs

- CGI rendering

55
Q

What is a real time OS?

A

An operating system which is designed to handle input data as soon as it comes in within a guaranteed time (latency).

They are designed to be very reliable, and have very precise and consistent timings.

56
Q

How does a real time OS handle two inputs which arrive at the same time?

A

It orders them by priority and then handles them in this order.

57
Q

Where are real time operating systems commonly found?

A
  • Aeroplane systems
  • Car engine systems
  • Robot control systems
58
Q

What is an embedded OS?

A

A highly specialised operating system which may control a device such as an ATM, car or microwave.

It is designed to carry out only one task and so it will be coded to do this as efficiently as possible.

Not designed to multitask but may react in real time.

59
Q

Is BIOS part of the operating system?

A

NO

60
Q

What is BIOS?

A

A small piece of software which is responsible for checking that the hardware is present and functioning before loading the OS.

61
Q

Where is BIOS stored?

A

In a small chip of non volatile memory on the motherboard.

62
Q

How does the BIOS communicate with the user and vice versa?

A

Through a very basic user interface and also through beeps to communicate error codes.

63
Q

What is a virtual machine?

A

A piece of software which simulates a fully functioning computer by using resources from a host computer.

64
Q

How many virtual machines can you have running on a single host?

A

Multiple

65
Q

What are the benefits of running an operating system on a virtual machine?

A
  • Old incompatible applications can be run
  • Multiple operating systems can be run
  • Real computer can be protected from malware by opening files in the VM
66
Q

How are virtual machines used to run intermediate code?

A

Instead of recompiling code to run on multiple different operating systems you can write the code to run on a virtual machine and then just run that virtual machine on the computer which you want to run the program on.

Many programs do this automatically.

67
Q

Name a commonly used virtual machine for running intermediate code.

A

Java Virtual Machine

68
Q

What are the two main types of software?

A
  • System Software

- Application Software

69
Q

What is system software?

A

Operating system, utilities, code translators

Software that does a job in running the computer

70
Q

What is application software?

A

Word processor, image editor, music player.

A program which provides an interactive service to the user.

71
Q

What is off the shelf software?

A

Software that is available to be purchased from a company as a full working package.

72
Q

What does an antivirus do?

A

Helps to detect and remove malicious programs which have been designed to harm a computer.

73
Q

What does a disk defragmenter do?

A

Helps to bring parts of files which are fragmented and spread over a disk together so that they are physically next to each other on the disk.

74
Q

What do compression utilities do?

A

Reduces the amount of space that files and programs take up.

75
Q

What does a file manager do?

A

Allows files, directories and folders to be created, moved, copied, renamed and deleted.

76
Q

What do backup utilities do?

A

Provides a way to make a copy of data so that if the original is lost or corrupted in some way, it can be retrieved.

77
Q

What is closed source software?

A

Software that is designed and created by a company.

They sell this software however those who buy it do not have access to the source code and therefore cannot edit it.

78
Q

Give two pros of closed source software.

A
  • Lots of documented support

- More likely to be free of bugs

79
Q

Give three drawbacks of closed source software.

A
  • Software cannot be altered to make it more suitable for a specific user’s needs
  • Software costs money to buy
  • You have to wait for the company to update the software to fix bugs
80
Q

What is open source software?

A

Software that is free for anyone to download and edit. can be developed by a community and tweaked to suit an individual user’s needs.

81
Q

Give three pros of open source software.

A
  • FREEEEE
  • Code can be edited to make it more suitable for a specific user’s needs
  • You do not have to pay for newer versions
82
Q

Give three drawbacks of open source software.

A
  • Lack of documented support
  • Potential security issues with downloading code which could be edited by anyone
  • Quality of code can vary –> more prone to bugs
83
Q

What is general purpose software?

A

Off the shelf software which contains many features that will satisfy every potential users needs.

84
Q

Give a benefit of general purpose software.

A
  • Well tested
  • Relatively cheap
  • Lots of documentation
85
Q

Give a drawback of general purpose software.

A
  • Large file size as it contains so many features
86
Q

What is special purpose software?

A

Can be off the shelf (such as SIMS for schools) or bespoke.

Software that is designed only for specific users but not the average user. It provides systems that only they would require.

87
Q

What is bespoke software?

A

Software that is designed by a company exclusively for a user/organisation so that it can fulfill their exact needs.

88
Q

Give a benefit of bespoke software.

A

It is guaranteed to fulfill the exact needs of the user.

89
Q

Give a drawback of bespoke software.

A

It is expensive and time consuming to develop.

90
Q

Give a benefit of off the shelf special purpose software.

A

It is available immediately and is cheaper than bespoke.

91
Q

Give a drawback of off the shelf special purpose software.

A

It may not fulfill the exact need of the user and may contain many extra features, increasing file size.

92
Q

What is a translator?

A

A piece of software which translates code from one language to another.

Usually from a high level language to machine code.

93
Q

What are the three main types of translator?

A
  • Compiler
  • Interpreter
  • Assembler
94
Q

What does an interpreter do?

A
  • Translates one line of code at a time then executes that line before translating the next line
95
Q

Give an advantage of interpreters?

A

It is easier to debug code as the program runs up to the line where the error is.

96
Q

Give some examples of interpreted languages.

A

Python, PHP, JavaScript, Ruby

97
Q

What does a compiler do?

A

Translates the entire program into machine code and stores this in a separate file. This is then run whenever the program is run.

98
Q

Give an advantage of compilers.

A

Once the executable file has been compiled, it is very quick to run as it does not need to be translated each time.

99
Q

Give a disadvantage of compilers.

A

It can be difficult to find bugs in compiled code as it is compiled all at once.

100
Q

What is program flow?`

A

The path that a program follows as it runs from start to finish.

101
Q

What is a variable?

A

A memory location that holds one or more value. It is defined by a name/label.

CAN BE CHANGED WHILE THE PROGRAM IS RUNNING.

102
Q

What is a constant?

A

A memory location that holds a value. It is defined by a name/variable.

CANNOT BE CHANGED WHILE THE PROGRAM IS RUNNING

103
Q

What is the difference between a procedure and a function?

A

Both are a piece of code which is defined under a name and which can be called and run simply by stating the name of the function/procedure.

Functions return values whereas procedures only execute commands.

104
Q

Give examples of arithmetic operators.

A

+ - / * %

105
Q

Give examples of boolean operators.

A

AND / OR / NOT / XOR

106
Q

What does an assignment operator do?

A

Assigns a value to a variable.

=

107
Q

What does a compound assignment operator do?

A

Assigns a value to a variable while also carrying out an arithmetic operation.

108
Q

What is string handling? (Give examples)

A

A set of commands which can carry out useful operations on a string data type.

e.g. search, copy, compare, concatenate

109
Q

What is file handling?

A

A set of procedures that allow a program to create, write to, open and close files that are saved in storage and not in memory.

110
Q

What four steps does a compiler go through to translate high level language?

A
  • Lexical analysis
  • Syntax analysis
  • Code generation
  • Code optimisation
111
Q

What happens in lexical analysis?

A
  • Comments and whitespace are removed
  • Table of variables and subroutines created (including data types and scope)
  • Remaining code is turned into tokens
112
Q

What happens in syntax analysis?

A
  • Syntax tree built from tokens produced from lexical analysis
  • Analyses the tokens in the tree, if any break the rules of the language, syntax errors are generated
113
Q

What happens in code generation?

A

The abstract code tree is converted to object code.

114
Q

What is object code?

A

Machine code before a linker is used.

115
Q

What is code optimisation?

A

When the code is tweaked to run as quickly as possible and using as little memory as possible.

116
Q

What is a library?

A

A pre written collection of code that allows programmers to import functionality into their own programs.

117
Q

How are libraries used to compile code?

A

Code to perform complex tasks has already been written, compiled and packaged as a library so the compiler can simply access this instead of recompilingl.

118
Q

What are the advantages of using libraries?

A
  • They save time, code is not rewritten
  • Require programmers to not have expertise of certain complex areas
  • A library coded in one language can be used in programs written in another language
119
Q

What is a linker?

A

A linker is used to combine compiled code with code from a library into a single executable file.

120
Q

What is a loader?

A

Part of the operating system that is responsible for loading a program into memory.