1.2 Software And Software Development Flashcards

(50 cards)

1
Q

What is an operating system?

A

It is a ** collection of programs ** used to provide an interface between the computer and user.

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

What is memory management?

A

It is a part of the operating systems job. It manages how memory is stored and collected between secondary storage and main memory

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

What are the three types of memory management?

A

Paging
Segmentation
Virtual memory

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

What is paging?

A

It is splitting up memory into equally sized sections. It is swapped between main memory and secondary storage.

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

What is segmentation?

A

Following logic memory is broken down into different sized memories being moved between main memory and virtual memory.

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

What is virtual memory?

A

When data in RAM is almost full, following a specific algorithm data from RAM is placed into a paging file in secondary storage freeing up space in RAM.

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

What is issues of memory management?

A

Disk thrashing. This is a result of when pages are frequently being taken out of data. To fix this disk fragmentation is required. Sorting pages in optimum and close to data linked to it making fetching quicker and less movement.

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

What are interrupts?

A

Interrupts are a signal sent by the control bus indicating a processor needs attention asap.

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

What is the interrupt service routine?

A

At the end of the FDE cycle an interrupt is checked for. If there is one the current contents of the FDE cycle and the interrupt are placed in the stack. At the bottom of the stack holds the lowest priority of the interrupt with the ones at the top being the ones with most priority at the top.
A flag is set to indicate the Interrupt Service Routine has begun and is finally in RAM

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

What is scheduling?

A

It is apart of the OS system to ensure all parts of a program is being run receiving fair amounts of processing time.

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

What are the types of scheduling algorithms?

A

Pre emptive - the Operating system controls everything including when it stops and starts a task
Non pre emptive- once a job is started it is left alone

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

What are the types of scheduling (just the name)?

A

Round Robin
First come first served
Multilevel feedback queue
Shortest job first
Shorts remaining time

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

What is round robin?

A

Each task is allocated a fair time slice and is consistently broken down in the pattern of the time slice. Although it doesn’t cause starvation it is the least efficient.

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

What is first come first served?

A

Whatever job is processed in the queue will be completed regardless of how long it takes. It does not take to account priority.

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

What is multilevel feedback queues?

A

It is use of different queues made up of different priorities dividing up which task need to be accomplished. Can cause starvation and doesn’t address what is most important

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

What is shortest job first?

A

It will complete the shortest job in the queue first. It can cause starvation if smaller tasks are constantly being added on.

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

What is shortest remaining time?

A

The processor will complete the job with the shortest time however when another shorter job is introduced the processor will switch completing the short task. This does cause starvation

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

What are the types of operation systems with brief explanation?

A

Distributed - OS is run across multiple devices
Embedded - OS dedicated to one specific task
Multi-tasking -OS dedicates time slices to make it seem tasks are being completed simultaneously
Mult user- OS is used by multiple users typically on a super computer
Real time- OS is used for time critical situations where a task must be completed within a specific time frame

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

What is the bios?

A

Basic Input Output System is the first program run when a computer system is switched on. It runs POST (power on self test) checking if all hardware are connected and functional.

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

What are device drivers?

A

These are programs which teach the Operating system to interact with the hardware

21
Q

What is a virtual machine?

A

It is a theoretical computer which emulates a software. It is an environment where intermediate code is run. It saves time and money to run code solely for testing. It also protects code from viruses and running incompatible software.

22
Q

What is intermediate code?

A

It is code that is halfway between machine code and object code. This code is able to run across multiple operating systems and machines.

23
Q

What are the two types of software?

A

Applications - designed to perform one specific task, such as word processing
Systems - low level system used to help the computer system run smoothly such as library programs, utility programs

24
What are utilities?
Utilities are part of the OS used to ensure performance. Examples of utility is compression, disk defragmentation, antivirus
25
What is open source?
Source code is accessible to the public
26
What is closed sourced?
Source code is not accessible to the public
27
What are translators?
Converts high level code into low level code.
28
What are the types of translators?
Compiler Interpreter Assembler
29
What are compilers?
Compilers translate all of the code all at once. It does report back errors but is difficult to know where. It’s much faster at translating but is specific to processor types.
30
What are interpreters?
Interpreters translate code line by line. It makes finding errors easy. It’s slower at running compiled code but is useful for testing.
31
What is an assembler?
Assembly code is translated into machine code.
32
What are the stages of compilation?
It is the process that high level code go through before turning into low level code. Lexical analysis - white spaces and comments are removed, repeated words and common words are replaced with tokens Syntax analysis - tokens are checked against rules of the programming language. Issues are flagged as an error Semantic analysis - logic checks are made, making sure data is properly detected Code generation - code is finally made into machine code Optimisation - checks if it is able to make the code faster and see how to fast the time taken to compilation. It will removed any redundant code not necessary
33
34
What are linkers?
A piece of software linking external modules and libraries within code.
35
What is the difference between static and dynamic linkers?
Static means it’s directly placed into the main file Dynamic means it is referenced to the file
36
What are loaders?
A loader retrieves the library or subroutine from the memory location.
37
What are libraries?
These are pre compiled programs that are incorporated into other programs. They include common functions that would take a while to code and make it easier for developers and save time
38
What are the stages of the life cycle?
Analysis Design Development Testing Implementation Evaluation Maintenance
39
What are the types of testing?
Alpha testing - testing carried out by the in house software development within the company Beta testing - carried out by users, feedback from users White box testing - software team test out all available routes Black box testing - testers are not aware of the internal structure, test potential outputs and inputs
40
What is the waterfall life cycle stage?
Similar to a waterfall stages of the life cycle are completed from start to finish. You cannot revisit a level before but if you do you must revisit all the levels. This makes the model inflexible and require barely any user input. Used in static low risk projects.
41
What is agile methodologies?
It is a collection of methodologies which aim to provide flexibility to the user. Any changes to the user requirements change faster. Sections are designed in parallel so it’s easy to return and make changes. Small to medium projects
42
What is extreme programming?
It is a model made for making high quality code. It requires a lot of communication. Code is critiqued by someone else and is made to be optimum. Small to medium projects with unclear requirements
43
What is a spiral model?
It is a model made for high risk projects. If the project is too risky it can easily be terminated. Large risk intensive projects.
44
What is rapid application development?
It is a methodology that consists of constantly making prototypes until it is correct. Improving from the last and making it the best. Small to medium low budget projects
45
Advantages and disadvantages of waterfall lifecycle?
+Straightforward to manage +Clearly documented -Lack of flexibility -Limited user involvement
46
Advantages and disadvantages of Agile methodologies?
+Produces high quality code +Flexible to changes -Requires constant interaction between user -Poor documentation
47
Advantages and disadvantages of extreme programming?
+Produces high quality code +Constsnt user involvement -Teamwork is essential -High cost
48
Advantages and disadvantages of Spiral model?
+Caters to changing user needs +Thorough risk-analysis -Expensive to hire -Not efficient -High costs
49
Advantages and disadvantages of Rapid Application Development?
+High usable +Caters to user changes +Reduces development time -Poor documentation -Can reduce code quality through repetition