System Software Flashcards

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

What is the BIOS?

A

The Basic Input Output System is the first program to run when the computer is turned on.

It performs many tests before the OS is loaded into memory.
One of these tests is a Power On Self Test (POST) which ensures all hardware is functioning correctly.

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

How are Interrupts Stored?

A

Interrupts are stored in a priority queue inside the interrupt register allowing them to be stored in the order of their priority.

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

What is an Operating System?

A

An Operating System is the low level software that manages the computer hardware.

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

What is File Management?

A

File Management is a process completed by the OS. It keeps a directory of where files are stored so that they can be accessed later/

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

What is an Embedded OS?

A

Embedded Operating Systems are usually built for a specific device designed for a specific task.

In this case the OS is stored in ROM, controls input/output devices like sensors or motors. The device likely has limited system resources and no permanent data storage.

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

How does the CPU deal with an Interrupt?

A

At the end of each fetch-decode-execute-cycle the CPU checks the interrupt register for interrupts. If an interrupt is found with a higher priority than the next current process then all the data in the registers is moved to the system stack and the value of the PC is set the memory address of the appropriate interrupt service routine (ISR).

After the ISR, the interrupt queue is checked again, if there are no interrupts of a higher priority than the current task then the data in the system stack is loaded back into the CPU, and the normal process can resume.

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

What is Bytecode and what are it’s Advantages?

A

Bytecode is an intermediate code between source code and machine code that requires a virtual machine to run.

This allows the code to be run on any device as long as it has the virtual machine.
Source code in a particular language can be converted to the bytecode of another language allowing it to be run by that language’s VM.

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

What is Processor Scheduling?

A

Processor Scheduling is a responsibility of the OS. It must ensure that all jobs get a fair amount of processor time.

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

What are the Pros and Cons of High and Low Level Languages?

A

Low-Level Languages provide more control over the CPU and memory meaning code can be optimized to run faster or use less memory.
However, assembly code needs to be written for a particular CPU.

High Level Languages use compilers which can also optimize the code. Additionally they can be run on many different CPUs.
High Level Languages are also closer to human language making it easier to work with, as well as providing many different paradigms, making it easier to solve problems.

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

What is Round Robin and What are its Pros and Cons?

A

Each process is allocated a time slice, the process will be processed by the CPU until this time slice is over, at which point an interrupt occurs and the CPU moves onto the next process.

This ensures that all processes receive an even amount of processor time.

However jobs can take longer to complete because their execution may be divided inefficiently.
It also doesn’t take into account job priority.

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

What is Shortest Job First and What are its Pros and Cons?

A

The shortest jobs are processed first.

This prevents small tasks being stuck behind large tasks, however it’s not always possible to know how long a task will take.
Additionally there is a risk that larger tasks will suffer from “processor starvation” where they don’t receive enough processor time.

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

What is Memory Management?

A

Memory Management is a responsibility of the OS. It must control the storage of programs in memory, ensuring they do not corrupt each other - as well as allowing “virtual memory” to be used.
There are two memory management techniques that can be used by the OS: paging or segmentation.

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

What is an Interrupt?

A

An interrupt is a signal from a program or device to the CPU requesting attention.

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

What is the difference between Paging and Segmentation?

A

Paging involves dividing memory into physical equally sized pages, and dividing tasks across these pages.

Segmentation creates logical divides in memory. This allows the location of the divide to be altered for a particular program so that it is divided efficiently.

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

What is a Virtual Machine?

A

A Virtual Machine is a Software Implementation of a Computing System.

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

What is a Memory Buffer?

A

A memory buffer is an intermediate storage location between two other locations, there are many uses for this.
One of these could be a memory buffer between the CPU and a device like a printer that runs much slower than the CPU can output instructions. In this case this allows the CPU to get on with other tasks whilst the printer slowly intakes the data in the memory buffer.

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

What is a Real-Time OS?

A

A Real Time OS is an OS that needs to react to inputs within a guaranteed time-frame.
It usually has fail-safe mechanisms and redundancy to ensure that it meets this time-frame, regardless of any technical failures.

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

What is First Come First Served and what are it’s Pros and Cons?

A

Processes are executed in the order they arrive. there is no system of priorities.

This means that smaller tasks risk processor starvation behind larger tasks.

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

What are Multi-Level Feedback Queues and what are their Pros and Cons?

A

Multi-Level Feedback queues use many queues to sort processes by many factors, this can allow a much more balanced scheduling technique.

20
Q

What is Shortest Remaining Time and what is it’s Pros and Cons?

A

Jobs with the shortest remaining time are executed first.

This prevents small tasks being stuck behind large tasks, however it’s not always possible to know how long a task will take.
Additionally there is a risk that larger tasks will suffer from “processor starvation” where they don’t receive enough processor time.

21
Q

What is a distributed OS?

A

A distributed OS uses the resources of many devices to execute the same program.

22
Q

What are the responsibilities of the OS?

A
Memory Management
Interrupt Management
Processor Scheduling
User Interface
Input/Output Management
23
Q

What is a Multi-Tasking Operating System?

A

A Multi-Tasking Operating System schedules the processor such that it divides it’s time into small slices allocated to multiple tasks, giving the illusion of the computer completing many processes “simultaneously”.

24
Q

What is a Multi-User, Multi-Tasking System?

A

A Multi-User, Multi-Tasking System allows several users to use a single computer that divides it’s resources across the many processes of the many users.

25
Q

What are Device Drivers?

A

A Device Driver is a program that acts as a translator between an OS and a piece of hardware.

This allows the OS to tell the device what to do without having to know it’s inner workings.

26
Q

Why might a Developer use a Virtual Machine?

A

To test risky software without risking damage to their computer.

To test software on a variety of Operating Systems.

27
Q

What is the Bootloader?

A

The bootloader moves the OS into memory once the BIOS has performed it’s checks.

28
Q

What are the advantages of memory management techniques like paging and segmentation?

A

Allows programs to be stored non-contiguously in memory making better use of the available RAM.

29
Q

What is a Compiler, and what are the advantages of it’s use?

A

A compiler translates high level languages into machine code.
It does this by checking the code for errors and then converting the entire code into machine code which can then be executed.

Compiled code can be run independently of the compiler and executes faster than interpreted code. It’s also more secure as it is very difficult to “reverse” engineer machine code back into source code.

However, compiled code is specific to the device it was compiled on.

30
Q

What is Applications Software?

A

Applications software is software designed to perform a task for the user, rather than to manage the computer’s hardware.

e.g: web browser, text editor.

31
Q

What occurs during Syntax Analysis?

A

Receives the “tokens” developed in lexical analysis, and uses an abstract syntax tree to check they follow the rules and grammar of the language.

If any errors are found they are reported.

Otherwise, code generation can commence.

32
Q

What is Systems Software?

A

System software is the low-level software required to run the computer, this includes the OS, utility programs and device drivers.

33
Q

What is Open Source Software?

A

Open source software can be used and redistributed by anyone, no license is required. It is also distributed with the source code.

34
Q

What is Closed Source Software?

A

Closed source software required the user to have a “license” to use the software, and the source code isn’t included and cannot be redistributed as the company has a copyright license.

35
Q

What are Static and Dynamic Linkers?

A

A linker is a program that links modules and libraries to a piece of code.

Static linkers add the modules directly to the main file. This increases the file size, and means any changes to the module won’t have any effect on the code.

Dynamic linkers access the location at which the external code is stored at runtime, meaning any updates to the file at this location will affect the program.

36
Q

What is a Loader?

A

When a program needs to be executed, the loader takes the machine code and loads it into memory.

37
Q

What is an Interpreter?

A

An interpreter translates high level code into machine code.

The interpreter will iterate through each line of code, checking it for errors and then executing it.

Interpreted code is dependent on the interpreter to run and it runs slower than compiled code.
However, you don’t need to wait for the entire code to be translated before the code can start running.
Additionally, since it is re-translated every time it is run, it can run on any device.

38
Q

What is a Library and what are it’s Advantages?

A

Library programs are pre-written programs which can be incorporated into a piece of code with the use of a linker.

Libraries save time as they stop the programmer from having to solve problems to which a solution already exists as well as reducing testing time as they are already tested.

39
Q

What are Utility Programs?

A

Utility Programs perform maintenance tasks on the computer. This could be defragmenting a disk or backing-up files.

40
Q

What is a Disk Defragmenter?

A

As data is written to and removed from storage, the gaps in storage become non-contigous, meaning that data must be divided up into small parts to fit in the gaps available - when data is stored non-contigously in memory it is called fragmentation.
A disk defragmenter, moves the contents of storage so that it is stored contigously, this makes reading from memory faster.

41
Q

What is Automatic Updating Software and why is it Appealing?

A

Automatic updating software checks the internet for updates on the existing software on the computer. If an update is found then it will automatically update the software.

This is important for software like Firewalls and Antiviruses as they are constantly being updated to keep up with new viruses.

42
Q

What is a Virus Checker?

A

A virus checker checks documents, emails and internet downloads for viruses and either quarantines them or removes them.

43
Q

What is an Assembler?

A

An assembler translates assembly code into machine code.

44
Q

What is a translator?

A

A translator is a program that converts high level languages into machine code.

45
Q

What are the Advantages of Open Source Code over Closed Source Code?

A

Open Source Software is often free unlike Closed Source Code.
It is very reliable as the source code is open to anyone to fix bugs, whereas bugs may take a long time to be fixed by an official company.
There are many distributions to suit specific preferences, whereas the creators of a piece of closed source software will likely only release one version.

46
Q

What are the Advantages of Closed Source Software over Open Source Software?

A

Closed Source Software has customer support whereas users of open source software will have to rely on help from the online community.
Closed source software is more secure as it cannot be edited and redistributed by anyone - leaving it vulnerable.