Systems Software Flashcards

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

What does the OS need to be able to do? (4 Things)

A

Control the hardware
Manages software, loading/unloading from main memory
provide security
Create an interface between the user and the hardware

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

Why is memory management needed?

A

Memory is limited in size, with processes being loaded and run it needs to be managed. This is to prevent current processes being overwritten by new processes.

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

What is segmentation?

A

The memory is split up into segments based on natural divisions in programs, such as putting all program instructions in one segment.

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

What is pagination?

A

Memory is split up into many equally sized portions called pages. The memory manager gives each page a number and records its location in a table, called a “page table”. Pages are given out to programs as they use memory.

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

What is thrashing?

A

Pages in memory being used by idle programs are moved back and forth between RAM and virtual memory. If pages are constantly being moved it slows the computer down.

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

What is a memory leak?

A

When a program does not flush away the data that it no longer needs, the memory remains unavailable. The program will continue to take up more space in memory until it is all taken up, and the computer has to use virtual memory.

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

What are the objectives of a scheduler? (4 things)

A

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

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

What is RR scheduling?

A

Round Robin.
Processes are dispatched on a first in first out basis
Each process is given a limited amount of CPU time.
If the processor doesn’t complete before the time expires the dispatcher gives the CPU the next process.
An interrupt clock or interval timer is needed to generate the interrupts.

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

What is FCFS Scheduling?

A

First Come First Serve

The jobs are processed in the order they arrive with no system priorities.

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

What is SJF Scheduling?

A

Shortest Jobs First

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
11
Q

What is SRT Scheduling?

A

Shortest Remaining Time
The process with the shortest remaining time to completion is run next
This reduces the number of waiting jobs

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

What is Polling?

A

The CPU keeps checking devices or events to see if they need attention. For instance a file may need to be sent to a printer.

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

What are interrupts?

A

A signal from something as a piece of software or hardware that causes the CPU to immediately change what it is doing.

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

How do interrupts work? (8 steps)

A

A signal from a software program, hardware or internal clock to the CPU
Completes the current FDE cycle
It checks the priority of the interrupt
If it’s higher priority than the current process, it suspends the execution of the current process
Disables all interrupts of lower priority
The value of the program counter is added to the system stack
Interrupt Service Routine is called to deal with the interrupt
The correct service routine is called to service it.

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

What is a distributed operating system

A

an operating system over a collection of independent, computational nodes. They handle jobs which are serviced by multiple CPUs. Each individual node holds a specific software subset of the global aggregate operating system.

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

What is a multi tasking operating system?

A

An operating system that can deal with multiple applications running at the same time

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

What is a real time operating system?

A

serves real-time applications that process data as it comes in

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

What is a multi user operating system?

A

a computer system that allows multiple users that are on different computers to access a single system’s OS resources simultaneously

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

What is an embedded operating system?

A

a specialised operating system designed to perform a specific task for a device

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

What is the BIOS?

A

A program stored on the Erasable Program Read-Only Memory (EPROM) that gets your computer started when you turn it on. It initialises and tests the system hardware. If there are no problems, it then loads the operating system from the hard disk to the RAM.

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

What is a device driver?

A

Program that acts as an interfaces for the OS and internal/external hardware. The OS can access hardware functions without knowing the details of the hardware involved.

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

What is a virtual machine?

A

A program that can perform tasks and run applications like they would on a separate machine, the programs that are ran on the virtual machine are unable to tell that they are on a virtual machine.

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

Name 3 ways software is obtained

A

Off the shelf
Bespoke
Open Source

24
Q

Name the five stages of compilation in order.

A
Lexical Analysis
Syntax analysis
Semantic Analysis
Code Generation
Code Optimisation
25
Q

What happens during lexical analysis?

A

Unneeded spaces and
All comments are removed
Simple error checking such as assigning an illegal value to a constant
All keywords, constants and identifiers are replaced with tokens for each unique item and stored in a symbol table.

26
Q

What data type is a symbol table?

A

Hash table

27
Q

What happens during syntax analysis?

A

Checks if the sequence of symbols, inputs or tokens make a valid sentence in the programming language, by applying the rules of the language to each statement to determine whether it is valid.

28
Q

What happens during semantic analysis?

A

this is where the compiler checks for logical errors such as type mismatch,
undeclared variables or accessing out of scope variables.

29
Q

What happens during code generation?

A

Converts source code via the output of lexical and syntactic analysis into machine code. The result is stored as an object file.

30
Q

What happens during code optimisation?

A

Tweaks the code so it will use as little memory as possible and run as quickly as possible

31
Q

What is a library?

A

A collection of ready-made subroutines that can be called by programs executing within the host operating system.

32
Q

What is static linking?

A

The library code is copied into the executable file with the rest of the source code

33
Q

What is dynamic linking?

A

This is where the compiled versions of the library are stored by the computer. The OS will then link the code directly into the program when run.

34
Q

What is open source software?

A

Software which anybody can use for free and access the source code.

35
Q

What are the advantages of open source software?(2 things)

A

Free

Users are able to make their own changes to the software

36
Q

What are the disadvantages of open source software(3 things)

A

Support must be paid for
The quality of the software can vary in quality
It will be easier for exploits to be found

37
Q

What are the advantages of propriety software?(2 things)

A

Support will be available from the developers.

The developers should patch any bugs

38
Q

What are the disadvantages of propriety software?(2 things)

A

Costs money

Relies on the developer to still be supporting the software for there to be updates

39
Q

What is “off the shelf” software?

A

Ready made software available for anyone to purchase

40
Q

What is “bespoke” software?

A

Software that has been developed from scratch to meet the needs of the client.

41
Q

What is freeware software?

A

The software is free for anybody to use but the source code is not freely available.

42
Q

What is high level code?

A

Code that is close to plain english. Often has to be converted into a low level language before it can be converted into machine code.

43
Q

What is a complier?

A

All of the code is converted into machine code all at once and a new file is generated so that the code can be run any time without it having to be converted. If one error is encountered the compiler stops.

44
Q

What are the advantages of a compiler?(3 things)

A

An executable file is created so the code can be quickly run again.
Once the code has been compiled, it will run faster than if it is being interpreted.
It is hard for someone else to understand that code once it is an executable file.

45
Q

What are the disadvantages of a compiler?(2 things)

A

If you make a small change to the code you have to wait for the code to compile again to run it, which can be slow.
The code may need to be compiled multiple times in order to work on different operating systems.

46
Q

What is an interpreter?

A

The code is converted to machine code line by line as the program is run. The code will run until the program ends or an error is encountered.

47
Q

What are the advantages of an interpreter?(2 things)

A

You are able to quickly test small changes to the code.

Using the interpreter the code can be run on multiple operating systems

48
Q

What are the disadvantages of an interpreter?(2 things)

A

The code is slower to run than if the code had been compiled

The user needs the interpreter installed in order to run the code.

49
Q

What is a linker?

A

A linker combines separate code files into a single executable file. For example, combining the new code someone has written with the external libraries they have used.

50
Q

What does a loader do?

A

The job of the loader is to copy the program and any linked subroutines into main memory to run. When the executable code was created it may assume the program will load in memory address 0. However, memory addresses in the program will need to be relocated by the loader because some memory will already be in use.

51
Q

What is application software?

A

Software that performs a task required by the user

52
Q

What do Utility programs do?

A

Software that helps to optimise the performance and maintain the computer.

53
Q

List 5 examples of utility software

A
Disk defragmenter 
Automatic backup
Automatic updater
Virus checker
Compression software
54
Q

What does disk defragmentation software do?

A

Over time the data on a hard drive disk becomes separated, so the read/write head has to move to a different part of the disk to continue reading the file. Disk defragmentation software moves the data for files so they are in order next to each other on the disk, so it makes it faster for the computer to read.

55
Q

What does automatic backup software do?

A

Periodically updates the data on a computer to a selected location. It may do it incrementally so that only files that have been changed are updated.

56
Q

What is intermediate code? Give an example

A

Bytecode. High level code is compiled into an intermediate code, so that it can then be executed by an interpreter. The advantage of this is that the code doesn’t have to be compiled multiple times for different platforms.