2 Systems Software Flashcards

1
Q

What is an operating system?

A

An operating system is a program or set of programs that manage the operations of the computer for the user.

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

What are the functions of an operating system?

A

Provide a user interface to enable users to perform tasks such as running applicaiton software.
Resource management - Managing all the computer hardware including CPU, memory, keyboard.
Memory management.
Interrupt service routines.
Processor scheduling
Backing store management.
Management of all input and output.

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

What is paging?

A

Paging is when memory is split up into fixed sized pages, with programs being made up of a certain number of fixed pages. These can be swapped between main memory (RAM) and the hard disk as needed.

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

What is segmentation?

A

Segmentation is the splitting up of memory into logical sized divisions, known as
segments, which vary in size. These are representative of the structure and logical flow of
the program, with segments being allocated to blocks of code such as conditional
statements or loops.

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

Explain what virtual memory does.

A

Virtual memory uses a section of the hard drive to act as RAM when the space in main memory is insufficient to store programs being used. Sections of programs that are not currently in use are temporarily moved into virtual memory through paging, freeing 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 the key issue with paging, segmentation and virtual memory?

A

The key issue with using these three techniques is disk thrashing. This is when the computer freezes and occurs as a result of pages being swapped too frequently between the hard disk and main memory.

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

What is an interrupt?

A

An interrupt is a signal from software, hardware or internal clock indicate to the processor that a process needs attention.

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

Explain interrupt service routines.

A

When the CPU receives an interrupt signal, it suspends execution of the running program and disables all interrupts of lower priority. Contents of PC and each register are put onto the system stack, while an ISR is called to deal with the interrupt.

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

What does the scheduler do?

A

The scheduler is the operating system module responsible for making sure that processor time is used as efficiently as possible.

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

What are the objectives of the scheduler?

A

Maximise throughput.
Be fair to all users on a multi-user system.
Provide acceptable response time to all users.
Ensure hardware resources are kept as busy as possible.

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

What are the different types of scheduling algorithms?

A
Round robin
First come first served
Shortest remaining time
Shortest job first
Multi-level feedback queues
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe the scheduling algorithm: round robin.

A

Each job is given a section of processor time - known as a time slice - within it is allowed to execute. Once each job in the queue has used its first time slice, the OS grants each job an equal slice of processor time until a job is completed, at which point it’s removed from the queue.

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

What is the problem with round robin?

A

Longer jobs will take much longer time for completion due to their execution being inefficiently split up into multiple cycles. It also doesn’t take into account job priority.

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

Describe the scheduling algorithm: First come first served.

A

Jobs are processed in the order in which they arrive, with no system of priorities.

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

Explain the scheduling algorithm: Shortest remaining time. What are the advantages and disadvantages of it?

A

The process with the smallest estimated time to completion is run next.

It tends to reduce the number of waiting jobs, and the number of small jobs waiting behind big jobs.

There is a risk of processor starvation for longer jobs if short jobs are added to the job queue.

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

Explain the scheduling algorithm: shortest job first.

A

The process with the smallest estimated running time is run next.

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

Explain the scheduling algorithm: Multilevel feedback queues

A

This makes use of multiple queues, each which is ordered based on a different priority.

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

When may interrupts occur?

A

Software interrupt occurs when an application program terminates or requests certain services form the OS.

Hardware interrupts may occur when an operating is complete or an error occurs.

Interrupts are also trigged by a timer, to indicate that is is the turn of the next process to have processor time.

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

What is the purpose of a buffer?

A

a data buffer (or just buffer) is a region of a physical memory storage used to temporarily store data while it is being moved from one place to another.

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

What is a distributed operating system?

A

A distributed operating system is a form of parallel processing system which is run across multiple devices, allowing the load to be spread across multiple computer processors when a task is run.

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

What is an embedded operating system?

A

Embedded OS is built to perform a small range of specific tasks, this is catered towards a specific device.

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

What is a multi-tasking operating system?

A

Multi tasking OS enable the user to carry out tasks seemingly simultaneously. This is done by time slicing to switch quickly between programs and applications in memory.

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

Explain multi user, multi tasking operating system?

A

A single powerful mainframe or supercomputer is connected to dozens or hundreds of terminals all using the mainframe CPU. Each user gets a slice of processor time according to the scheduling algorithim.

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

What are real time operating systems?

A

Commonly used in time critical computer systems, it’s designed to perform a task within a guaranteed time frame.

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

What are some features of a real time OS?

A

features of real time OS:
Respond quickly to input or sensors
Must deal with inputs simultaneously
Must have failsafe designed to detect and take appropriate action if hardware component fails
Must incorporate redundancy - if one component fails, it automatically switches to back up hardware.

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

What is the BIOS (Basic Input Output System)?

A

The purpose of the BIOS is to initialise and test the system hardware components and to load the OS from the hard disk to RAM.

27
Q

What are device drivers?

A

Device drivers are computer programs which are provided by the OS and allow the OS to interact with hardware.

28
Q

What are virtual machines?

A

A virtual machine is a software implementation of a computer system. It provides an environment with a translator for intermediate code to run?

29
Q

What is intermediate code?

A

Code that is halfway between machine code and object code.

30
Q

What are the advantages and disadvantages of using virtual machines?

A

Saves time and money of having to purchase multiple devices for testing.

However, running intermediate code is slower than running low-level code on the device it was designed for.

31
Q

What are other uses of virtual machines?

A

Protection from malware: Malware affects virtual machine rather than device being used.

Running incompatible software

32
Q

What is system software?

A

System software is the software needed to run the computer’s hardware and application programs.

33
Q

What is utility software?

A

Utility software is system software designed to optimise the performance of the computer.

34
Q

What are examples of utility software?

A

Disk fragmentation, backing up files, restoring corrupted files, compression or decompression, providing a firewall.

35
Q

What does a disk defragmenter do?

A

As the hard disk becomes full, read/write times slow down. This is because
files become fragmented as they are stored in different parts of memory. The
disk defragmenter utility rearranges the contents of the hard drive so they
can be accessed faster, thus improving performance.

36
Q

What does compression software do?

A

Used to compress large files to be transmitted across the internet.

37
Q

What does a virus checker do?

A

A virus checker checks your hard drive, emails, internet downloads for viruses and removes them.

38
Q

What does automatic updating utility software do?

A

Ensures the OS is kept up to date, with any updates being automatically installed when the computer is restarted. Updates tackle bugs or security flaws so this ensures the system is less vulnerable to malware or hacking threats.

39
Q

What are the two types of application software?

A

General purpose software
Special purpose software
Custom written (Bespoke)

40
Q

Off the shelf vs Bespoke software

A

Off the shelf:
Less expensive since cost is shared among all other people buying the package.
May contain a lot of unwanted features, and some desirable or non-essential features may be missing.
Ready to be installed.
Well documented, well-tested and error free.

Bespoke software:
More costly and requires expertise to analyse document requirements
Features customised to user requirements and other features can be added as needs arise.
May take a long time to develop
May contain errors which do not surface immediately.

41
Q

What is open source software?

A

Open source code can be used by anyone without a license and is distributed with the source code.

42
Q

What is closed source software?

A

Closed source code requires the user to hold an appropriate license to use it. Users can’t access the source code as the company owns the copyright license.

43
Q

Advantages of open source.

A

Can be modified and improved by anyone.
Technical support from online community.
Can be modified and sold on.

44
Q

Disadvantages of open source.

A

Support available online may be insufficient or incorrect. No user manuals.
Lower security as may not be developed in a controlled environment.

45
Q

Advantage of closed source.

A

Thorough, regular and well tested updates.
Company owning software provides expert support and user manuals.
High levels of security as developed professionally.

46
Q

Disadvantages of closed source.

A

License restricts how many people can use the software at once.
Users cannot modify and improve software themselves.

47
Q

What is assembly code?

A

Assembly code is a low level language, with each instruction in assembly code always being equivalent to one machine code instruction.

48
Q

What is an assembler?

A

Before assembly code program can be executed, it must be translated into the equivalent machine code. This is done by an assembler. It converts it to the 0 and 1s of the corresponding machine code instruction.

49
Q

What is a compiler?

A

A compiler is a program that translates a high level language into machine code. It does it all at once, after carrying out a number of checks and reporting back any errors.

50
Q

Disadvantages of compiler

A

Compilation process is longer than using an interpreter or assembler. If changes are made, whole program must be recompiled.

It can only be executed on certain devices.

51
Q

What is an interpreter?

A

Interpreters translate and execute code line by line. They stop and produce an error if a line contains an error.

52
Q

Advantages of compiler over interpret

A

Object c ode can be saved on disk and run whenever required without the need to recompile.
Object code executes faster than interpreted code.
Object code produced by a compiler can be distributed or executed without compiler present.

Compiler is more appropriate when a program is run frequently, with only occasional change.

53
Q

Advantages of interpreter over compiler.

A

Platform independence - Source code can run on any machine which has the appropriate interpreter available.
Useful for program development as there’s no need for lengthy recompilation each time an error is discovered.

54
Q

Disadvantages of interpreter

A

Program may run slower than a compiled program as each statement has to be translated to machine code each time it’s encountered.

55
Q

What are the stages of compilation?

A

Lexical analysis, syntax analysis and code generation and optimisation.

56
Q

What does lexical analysis do?

A

Remove white space and comments.
Simple error checking is performed. e.g illegal identifier
Remaining code is analysed for keywords and names of variables/constants. These are replaced with tokens and information about the token is stored in a symbol table.

57
Q

What does syntax analysis do?

A

Tokens are analysed against the grammar and rules of programming language. Any tokens that break the rules of the programming language are flagged up as syntax errors and added to a list of errors.

58
Q

What does code generation and optimisation do?

A

Code generation - Machine code is generated.

Optimisation - Searches through the code for areas it could be made more efficient. It aims to make efficient.

59
Q

Disadvantages of code optimisation

A

Increase compilation time.

May produce unexpected results.

60
Q

What are linkers?

A

A piece of software that is responsible for linking external modules and libraries including within the code.

61
Q

Explain the two types of linkers.

A

Static - Modules and libraries are added directly into the main file. This increases the size of the file. Any updates to modules and libraries externally will not affect the program.

Dynamic - Addresses of modules and libraries are included in the file where they are referenced. When the program is run, the loaded retrieves the program at specified address so it can be executed. Advantage: Files remain small and external updates feed through to main files, no need to rewrite code.

62
Q

What are loaders?

A

Loaders are programs provided by the operating system. When a file is executed, the loader retrieves the library or subroutine from the given memory location.

63
Q

What are libraries?

A

Libraries are pre-compiled programs which can be incorporated within other programs using either static or dynamic linking.

64
Q

What are advantages of using libraries.

A

They’re ready to use and error free so save time developing and testing modules. They can also be reused within multiple programs.