Chapter 5 - System Software Flashcards

(39 cards)

1
Q

What is the purpose of an operating system?

A

provides an interface between the user and the hardware in a computer system

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

What is a user interface?

A

how the user interacts with the operating system

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

What is command line interface?

A
  • user interface that requires users to use text based commands to interact with the operating system
  • more commonly used by advanced users because it is very complex
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is graphical user interface?

A
  • user interface that requires users to interact with the operating system using visual elements such as windows, icons, menus, and pointers
  • optimised for mouse and touch gesture input
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is menu interface?

A
  • user interface that consists of successive menus with a single option at each stage
  • often performed with buttons or a keypad
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is natural language interface?

A
  • user interface that uses spoken word to respond to spoken or textual inputs from a user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the 5 key OS management tasks?

A
  • memory
  • file
  • security
  • hardware
  • process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe memory management

A
  • the process of the OS allocating RAM between different programs that are open at the same time
  • RAM is allocated based on priority and fairness, as programs and data require different amounts of RAM to operate efficiently
  • the OS is responsible for copying programs and data from secondary to primary storage as it is needed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe file management

A
  • the process of the OS creating, organising, manipulating, and accessing files and folders on a computer system
  • the OS manages where data is stored on both primary memory and secondary storage
  • OS allows users to control file permissions
  • OS provides a search facility to find specific files as needed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe hardware management

A
  • the process of the OS managing the way peripherals interact with software
  • the OS allocates system resources to peripherals to ensure efficient operation
  • makes plug-and-play functionality possible, automatically detecting and configuring new pieces of hardware without the need for manually installing device drivers or power cycling the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe security management

A
  • provides security features such as password-protected system accounts, firewalls, virus scanning and file encryption
  • allows system administrator to allocate different access rights to different users
  • the OS audits user file history and maintains settings for individual users
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are device drivers and their use?

A
  • a piece of software used to control a piece of hardware so they can be used by the operating system
  • they are OS specific and are regularly updated
  • the OS has generic device drivers built in, but for a hardware to be used to its maximum capacity, a separate device driver must be downloaded from the manufacturer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe process management

A
  • process of the OS dividing time into small chunks and allocating them to different processes
  • these processes are prioritised by using a scheduling algorithm
  • processes are placed in queue, whilst waiting to be carried out, and go to the back of the queue when their time is up
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is utility software and why is it needed?

A
  • collection of tools designed to help maintain a computer system
  • it interacts with the computer’s hardware and is designed to perform a limited number of tasks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

List some examples of utility software.

A
  • disk formatter
  • disk contents analysis software
  • defragmentation software
  • virus checker
  • file compression
  • backup software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Describe the purpose of disk formatter software

A
  • it prepares a storage device for use by creating a file system and organising the space into sectors and tracks
  • it is needed to wipe and reinitialise a disk before use, to change the file system format, and to remove all data and errors before installing a new OS or reusing the driver
16
Q

Describe the purpose of disk content analysis software

A
  • checks the structure and health of a disk
  • it is needed to diagnose and fix errors on the disk, to recover lost or damaged files, and to improve system performance by identifying and repairing issues
17
Q

Describe the purpose of defragmentation software

A
  • it groups fragmented files back together in order to improve the access speed of a disk
  • it can only be used on magnetic storage
18
Q

Describe virus checker

A
  • combination of different software to prevent computers from being susceptible to viruses and other malware
  • uses a list of known malware signatures to block immediately if they try to access the device in any way
  • monitors the behaviour of programs to identify suspicious activities that might indicate malware
  • perform checks for updates to ensure databases of signatures is up to date
19
Q

Describe file compression software

A
  • reduces the amount of secondary storage required by performing an algorithm on the original data
20
Q

Describe backup software

A
  • used to create copies of personal data in order to keep it safe in the event of accidental loss or data theft
  • full: all files backed up (safer, slower)
  • incremental: only files that have been added/modified since the last backup are backed up (less secure, faster)
21
Q

What is a program library?

A
  • a collection of pre-written code that programmers can reuse in their own software
22
Q

What are the advantages of using program libraries?

A
  • it saves development time as pre-written routines can be reused, so programmers don’t need to write common programs from scratch
  • it promotes code reuse as well-tested routines can be used in multiple programs, reducing duplication
  • it improves reliability as library routines are usually thoroughly tested and debugged, reducing the chance of errors
  • it provides easier maintenance as updates to a library routine automatically benefits all the programs using it
  • it promotes standardisation in how common tasks are implemented
23
Q

What is a Dynamic Link Library?

A
  • a file that contains pre-written code, such as functions or routines, that can be used by multiple programs at runtime
24
What are the advantages of using a DLL?
- it reduces program size by keeping reusable code separate - it saves memory by only loading when needed at runtime and by sharing DLLs between programs - it promotes code reuse as well-tested routines can be used in multiple programs, reducing duplication - supports modular design for easier development and maintenance
25
What are the disadvantages of using a DLL?
- it can cause version conflicts if newer DLLs aren't compatible - program may fail to run if a required DLL is missing - malicious or altered DLLs pose security risks - errors in DLLs are hard to trace across multiple programs
26
What is an assembler?
- a piece of software that translates assembly language into machine code where each line of assembly language is assembled into a single machine code instruction
27
What is a compiler?
- software that translates high-level languages into machine code directly all in one go - it creates an executable and can be run without the need for translation software - generally used when programs are finished and have been checked for syntax errors
28
What are the advantages of using compilers?
- fast execution speed - it optimises the code - the original source code will not be seen
29
What are the disadvantages of using compilers?
- they can be memory intensive - they are difficult to debug as errors will only show after the full execution of the program - changes mean it must be recompiled - it is designed solely for one specific processor
30
What is an interpreter?
- software that translates high-level language into machine code line by line - it is not translated directly, appropriate machine code subroutines are called - if an error is spotted, the process stops - generally used when a program is in the development stage - does not produce an executable, translation software is needed for it to run
31
What are the advantages of interpreters?
- stops when it finds a syntax error in the code, making it easier to debug - requires less RAM to process the code
32
What are the disadvantages of interpreters?
- slower execution - every time the program is run it has to be translated - executed as is, no optimisation of code
33
What is mixed mode translation?
- when a high-level program is partially compiled into an intermediate form, not full machine code, which is then interpreted at runtime by a virtual machine
34
What are the advantages of mixed mode translation?
- faster than interpreter - highly portable across platforms
35
What are the disadvantages of mixed mode translation?
- errors are only shown during compilation or runtime - requires runtime software
36
What is an IDE?
- integrated development environment - software tool that provides programmers with a comprehensive and integrated platform to write, edit, compile, debug, and manage their code efficiently
37
What are the features of IDE?
- for initial error detection, dynamic syntax checks and autocomplete - for presentation, including pretty print, expand and collapse code blocks - for debugging, single stepping, breakpoints, error message list
38
Describe how a typical IDE could be used to help debug a program to find errors.
- You could set a breakpoint to stop the program at a particular instruction - Then, the value of the variables could be checked using a report window - Single stepping could be used to execute one line at a time