1.2 Software and Software development Flashcards

Systems Software Applications generation Software development Types of programming language

1
Q

What is an operating system?

A
  • A collection of programs that work together to provide an interface between the user and computer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Give 3 functions of an operating system

A
  • Memory management
  • Resource management
  • I/O management
  • Interrupt management
  • Security
  • User interface
  • Utility software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Similarities of paging and segmentation

A

Both used when RAM space is insufficient, can cause disk thrashing

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

Differences of Paging and Segmentation

A
  • Paging uses equal sized sections called pages

- Segmentation uses variable-sized, logical sections called segments

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

Describe how virtual memory is used when there is not enough RAM

A
  • A section of the hard drive is used to act as RAM
  • Sections of programs not currently being used are temporarily moved into virtual memory through paging.
  • This frees up memory for other programs in RAM
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is an interrupt?

A
  • A signal generated by software or hardware to indicate to the processor that a process needs attention.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Explain the stages of the Interrupt Service Routine (ISR)

A
  • Interrupt register checked at the end of each FDE cycle
  • If an interrupt with a higher priority exists, the current contents in the CPU are transferred to a stack.
  • The relevant ISR is loaded into RAM
  • A flag is set to signal the ISR had started
  • Flag is reset when finished
  • Interrupt register checks if there are any other high priority interrupts, if so it is repeated.
  • If there are none, contents of the stack are popped off and the FDE cycle carries on.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is pre-emptive scheduling?

A
  • Jobs are actively made to start and stop by the operating system.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is non pre-emptive scheduling?

A
  • Once a job is started, it is left alone until it is completed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Give an example of pre-emptive scheduling.

A
  • Round Robin
  • Shortest remaining time
  • Multi-level feedback queues
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Give an example of non pre-emptive scheduling

A
  • First come first served

- Shortest job first

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

Give an advantage and disadvantage of using Multilevel Feedback Queues.

A
  • Takes into consideration different job priority

- Difficult to implement

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

Define a real-time OS and when it may be used

A
  • Real-time operating systems perform a task within a guaranteed time frame. They are used in systems where a response within a given time frame is critical e.g. life support systems, self-driving cars and power systems.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe three functions of the BIOS

A
  • Running tests upon the computer’s start-up:
    • POST (Power-on self test) which makes sure that all hardware is correctly connected and functional
    • Checking CPU clock, memory and processor
    • Testing for external memory devices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the role of a device driver?

A

Enable the operating system to interact with hardware devices

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

Describe when a virtual machine may be used

A
  • Testing programs
  • Protection from malware
  • Running software compatible with different versions and types of OS’s
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Give one advantage and disadvantage of intermediate code

A
  • Advantage: Platform independent, portable

- Disadvantage: Slower execution

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

What is the difference between applications and systems software?

A
  • Applications software is utilised directly by the end-user whereas systems software ensures high performance of the computer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Give 2 examples of utilities

A
  • Compression
  • Disk de-fragmentation
  • Antivirus
  • Automatic backup
  • Automatic updating
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Give one advantage of using closed source code

A
  • Thorough, regular and well-tested updates
  • Expert support and user manuals from company
  • High levels of security as it is developed in a professional, controlled environment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

State two features of open source code

A
  • Doesn’t require a license to be used
  • Distributed with the source code
  • Can be modified and sold on
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Give two advantages of compiled code over interpreted

A
  • Faster execution

- Doesn’t require a compiler to run

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

Give two advantages of interpreted code over compiled

A
  • Platform independent
  • Runs instantly without time waiting for compilation
  • Useful for debugging
24
Q

What is assembly language?

A
  • A low level language that has almost a one-to-one relationship with machine code. It is platform specific
25
Q

What are the stages of compilation?

A
  • Lexical analysis
  • Syntax analysis
  • Code generation
  • Optimisation
26
Q

What happens during syntax analysis?

A
  • Tokens are compared to the rules of the programming language
  • Syntax errors are identified
  • Symbol table updated with more details
  • Semantic analysis (finding logic errors)
27
Q

What are the similarities and differences between static and dynamic linkers?

A

Similarities: Both link external modules and libraries to main program

Static: Library code copied into the file. File size increased.
Dynamic: Addresses of libraries included within file. External updates automatically feed through the main program.

28
Q

Give an advantage of using libraries.

A
  • Error free
  • Saves time
  • Re-usable
  • No need to “reinvent the wheel”
  • Designed by experts
29
Q

Describe the function of a loader

A

Provided by the operating system, a loader retrieves the library or subroutine from the given memory location

30
Q

What is the purpose of the optimisation stage of compilation?

A
  • Reduces execution time
  • Reduce inefficient sections of code
  • Remove redundant code
31
Q

Identify the common stages of software development life cycles (SDLCs)

A

Analysis, Design, Development, Testing, Implementation, Evaluation and Maintenance.

32
Q

Define white box testing

A
  • A form of testing carried out by software development teams in which the test plan is based on the internal structure of the program. All of the possible routes through the program are tested.
33
Q

What is TELOS?

A

A method of analysis used by designers to evaluate the feasibility of a project. It considers technical, economic, legal, operational and scheduling aspects of the project.

34
Q

What are agile methodologies?

A
  • A collection of methodologies which aim to improve the flexibility of software development. They respond quickly to changes in user requirements.
35
Q

Give an advantage of waterfall programming methodologies.

A
  • Straightforward to manage
  • Clear structure
  • Clearly documented
36
Q

Give a disadvantage of extreme programming methodologies.

A
  • High cost due to two people working on one project.
  • Teamwork and good communication is essential.
  • End-user must be present throughout the duration of the project.
37
Q

What type of projects are spiral programming methodologies suited to?

A
  • Large, risk-intensive projects with a high budget
38
Q

What type of projects are Rapid Application Development (RAD) programing methodologies suited to?

A
  • Projects where high usability is required and user requirements may not be clear from the outset or are changing. Suited to projects of a small to medium size with a relatively low budget and short time-frame.
39
Q

Define an algorithm

A
  • Set of instructions to solve a problem
40
Q

Give 2 key qualities or considerations good algorithms should make.

A
  • Inputs must be clearly defined - what is valid and what is invalid?
  • Must always produce a valid output for any defined input.
  • Must be able to deal with invalid inputs.
  • Must always reach a stopping condition
  • Must be well-documented for reference.
  • Must be well-commented so modifications can easily be made
41
Q

What are programming paradigms?

A
  • Different approaches to using a programming language to solve a problem
42
Q

Which two broad categories are programming paradigms split into?

A
  • Imperative

- Declarative

43
Q

Give an advantage of procedural programming

A
  • Can be applied to a wide range of problems.

- Relatively easy to write and interpret.

44
Q

Give a use of declarative programming

A
  • Expert systems / Knowledge-based systems

- Artificial intelligence

45
Q

What are the four main structures used in structured programming?

A
  • Sequence
  • Iteration
  • Selection
  • Recursion
46
Q

How does assembly language differ from machine code?

A

Assembly language uses mnemonics rather than binary. One line in assembly language is equal to one line in machine code.

47
Q

What does the STA mnemonic do?

A
  • Stores the value in the Accumulator at the given memory address.
48
Q

What does the BRP mnemonic do?

A
  • Branches to a given address if the value in the accumulator is positive. Conditional branch.
49
Q

What is the function of the opcode and operand?

A
  • Opcode: Specifies the instruction to be performed and teh addressing mode.
  • Operand: Holds the value which is related to the data on which the instruction is to be performed.
50
Q

What are the four addressing modes?

A
  • Immediate Addressing
  • Direct Addressing
  • Indirect Addressing
  • Indexed Addressing
51
Q

What is a class?

A
  • A blueprint for an object that defines its state and behaviour. An object is an instance of a class.
52
Q

What is immediate addressing?

A
  • Where the operand is the actual value the instruction is performed on
53
Q

What is direct addressing?

A
  • When the operand gives the address for the actual value that the instruction is performed on
54
Q

What is indirect addressing?

A
  • The operand gives the address of a register which hold the actual value that the instruction is performed on.
55
Q

What is indexed addressing?

A
  • Address determined by adding the operand to the index register.
56
Q

Give a disadvantage of Object Oriented Languages

A
  • Requires a different style of thinking which can be difficult for programmers accustomed to other paradigms to pick up.
  • OOP may not be suited to all types of problems
  • Generally unsuitable for smaller problems.