Software and Software Development Flashcards

Software and software development

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

Operating system (definition)

A

Set of programs acting as an interface between the user and the computer

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

Functions of OS (5)

A

Memory management
Interrupt service routines
Processor scheduling
Queueing processes
Multi-tasking

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

Memory management (OS definition)

A

Allocation of space in RAM to each program currently in use

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

How does paging work?

A

Memory is divided equally into “pages” and each program in memory can be held in non-continuous pages. A page table is used to link the physical addresses of pages back to their logical address order.

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

How does segmentation work?

A

Memory is partitioned into segments of varying length so that all program stays together. It is possible to load parts separately.

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

One use of segmentation

A

OS separated from programs to prevent impact of failures from affecting whole computer.

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

How does the OS handle interrupt requests?

A

After FDE cycle, pauses current processes and disables low-priority interrupts. Runs a routine to service high-priority interrupts and then resumes the current process afterwards.

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

Example order of priority for interrupt requests

A

Power-fail > clock > end of operation

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

When do interrupt service routines happen? (3)

A
  • Check for interrupts after every execute stage
  • when an application terminates or requests OS services
  • when the allotted processor time for one task is completed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is processor scheduling?

A

A scheduler allocates time to each process competing for the CPU

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

Why is processor scheduling useful? (3)

A

Maximises throughput
Allocates resources equally between users
Makes max use of hardware resources

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

How does round robin scheduling work?

A

Each process in the queue is given a time slice (queue organisation first in = first out). If it does not complete in that time, it moves to the back of the queue.

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

how does FCFS (first come, first serve) scheduling work?

A

There is no hierarchy of priority and jobs are processed in the order they arrived

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

How does SRT (shortest remaining time) scheduling work?

A

Runs smallest jobs first to maximize number of tasks completed in a time

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

Use of SRT scheduling

A

used for payroll or for jobs done regularly that can be done overnight.

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

Disadvantage of SRT scheduling

A

requires estimate for how long each task will take

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

what is an MLFQ (multi-level feedback queue)?

A

algorithm which separates processes based on needs from processer and gives preference to short jobs and I/O processes

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

What does the scheduler do? (II)

A

allocates time for each process
and queues next process while current on is in CPU

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

Multi-tasking (definition)

A

Carrying out small parts of multiple programs to give the appearance of parallel processing

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

Backing store management (definition + example)

A

Keeps directory of what is moved from secondary to primary memory and what space in storage is free
e.g. moving/deleting files/folders, limiting access to files

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

What does virtual memory do

A

swaps pages of temporarily inactive tasks with new tasks when
RAM is full

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

Why does virtual memory use slow down processing?

A

Accessing secondary storage is slower than accessing RAM

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

What are the types of OS? (5)

A
  • Distributed
  • Multi-tasking
  • Multi-user
  • Embedded
  • Real-time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What does a distributed OS do?

A

OS runs across multiple devices, allowing task load to be spread across computers

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

What does a multi-tasking OS do?

A

Uses time slicing to switch quickly between programs in memory, giving the appearance of carrying out multiple tasks simultaneously

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

What is a multi-user OS?

A

OS for multiple users sharing one (usually high-performance) computer; usually in different accounts.

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

What does a multi-user OS do?

A

Uses a scheduling algorithm to share processor time fairly between multiple users in different accounts

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

What happens when a multi-user OS does not use a scheduling algorithm?

A

Processor starvation - the processes each user needs are not given enough time to execute

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

What is an embedded OS used for?

A

A small range of specific tasks related to the functions of a specific device

28
Q

Advantages and disadvantages of an embedded OS (3)

A
  • Limited functionality
  • Hard to update
  • Consume less power
29
Q

What does a real-time OS do?

A

Performs tasks within a guaranteed time frame; usually to guarantee that time-critical tasks are always done within a range of time.

30
Q

Where is a real-time OS used? (3)

A
  • Air-traffic control systems
  • pacemakers for hearts
  • industrial machines where multiple machines work in a line
31
Q

How is BIOS always loaded on start-up?

A

The PC register starts at the location of BIOS

32
Q

What are the functions of BIOS? (4)

A
  • Power-On Self Test (POST) to check all hardware is correctly connected and functional
  • Checks CPU, memory and processor is operational
  • Tests for external memory devices
  • Runs bootstrap program which loads the OS to memory
33
Q

What are device drivers? How are they unique?

A

Program used to allow OS to interact with hardware. They are specific to computer architecture and OS (e.g. different for a console and a smartphone)

34
Q

What are virtual machines?

A

Software within a computer that emulates a second computer. The emulated computer is not aware that it is software on another computer.

35
Q

Why is a virtual machine useful for developing code? (2)

A
  • Provides an environment with a translator to run intermediate code on a specific architecture/OS
  • Saves money and time as a company doesn’t have to test on multiple “real” devices
36
Q

Why is a virtual machine useful for running new software?

A

Allows a computer to run incompatible software (e.g. running console software on a PC)

37
Q

Why is a virtual machine useful for protecting a computer?

A

Any malware accidentally or purposefully ran within the virtual environment will not affect the “real” computer.

38
Q

What is the disadvantage of using a virtual environment for development?

A

Running intermediate code is slower than running low-level code

39
Q

What is intermediate code?

A

Code halfway between machine code and object code, independent of architecture and OS

40
Q

What is systems software?

A

Software responsible for computer hardware and acts as a platform for application programs

41
Q

What is an operating system?

A

Software that acts as a bridge or interface between the user and computer hardware

42
Q

What are the two most basic functions of an OS?

A

Resource management and user interface

43
Q

What is utility software?

A

Software designed to optimise performance of a computer

44
Q

What are the examples of utility software? (6)

A
  • Disk defragmenter
  • Automatic back-up
  • Automatic updating
  • Virus checkers
  • Compression software
  • Move/copy/delete folders/files
45
Q

What are the main examples of systems software?

A

OS and utility software

46
Q

What does a disk defragmenter do? When?

A

Reorganises a magnetic hard disk so that files that were split up and stored in blocks around the disk are put back together in a single series. It can be done manually or automatically depending on user preference.

47
Q

Why is a disk defragmenter useful?

A

Makes file-reading quicker (only for hard disk - does not affect SSD)

48
Q

How does automatic back-up software work?

A

The user specifies destination, sources (contents) to be backed up, and whether it is full or minor (if compression is used). The back up is completed automatically but can also be done manually to ensure important files are backed up.

49
Q

What does automatic update software do?

A

Updates all relevant software on the computer by checking the internet for updates.

50
Q

Why is automatic updating software useful? (2)

A
  • Keeps antivirus/firewall software functional against the latest malware
  • provides bug fixes and improvements for licenced software
51
Q

What does a virus checker do? (2)

A

Checks hard-drive for viruses and removes them.
Some versions also check incoming emails/internet downloads.

52
Q

What does compression software do?

A

Compresses files and folders (lossless/lossy) so they take up less space in memory

53
Q

Why is compression software useful? (3)

A
  • Allows file to be transmitted more quickly over the internet
  • Can make a large file fit within a file size limit
  • Can fit more files onto storage
54
Q

What is applications software used for?

A

Software for tasks that the user wants to use the computer for - not for the basic functionality of the computer.

55
Q

What are the two most basic types of applications software? (+ examples)

A

General purpose e.g. graphics package

Special purpose e.g. payroll package

56
Q

What is general purpose software?

A

Software that provides a function, designed with a wide range of purposes/users in mind (e.g. word processors)

57
Q

What is special purpose software?

A

Software that provides a specific function, usually designed with a specific demographic in mind (e.g. account packages)

58
Q

What are the two kinds of special purpose software?

A

Off-the-shelf and bespoke

59
Q

What is off-the-shelf software?

A

Software that is ready to use (already exists), designed with a specific demographic of users in mind

60
Q

What are the advantages/disadvantages of off-the-shelf software? (4)

A

+ Less expensive as production costs and profit margin is shared among all customers
+ Ready to be installed immediately
+ Well-tested and likely error-free

  • May contain unwanted features/be missing some desirable features
61
Q

What is bespoke software?

A

Software designed on request to suit an individual organisation/user’s needs

62
Q

What are the advantages/disadvantages of bespoke software?

A

+ features customised to user requirement
+ additional features can be added as need arises

  • More costly
  • May take a long time to develop
  • May contain errors that don’t get noticed until use
63
Q

What are the two types of licence for software?

A

Open source and closed source

64
Q

What is open source software?

A

Software that any user can use and edit the source code.

65
Q

What are the rules around open source software? Who makes those rules? (4)

A

The Open Source Initiative governs open source software.

Developers can sell the software itself but the licence to the software is always free.
Any new software created from open source software must also be open.

66
Q

What is a potential disadvantage to open source software?

A

Its unlikely to have regular updates/bug fixes because there is no responsible commercial organisation.

67
Q

What is closed source software?

A

Software sold with a licence but no access to source code

68
Q

What are the rules surrounding closed source software? (3)

A
  • Limits on software use e.g. only fifty users per site
  • Creator owns all copyright
  • No selling modified versions of the package
69
Q

What is the advantage to using closed source software?

A

Likely to have support available from the company, such as regular updates, training courses and technical support lines.