Theory: Computer Systems Flashcards

1
Q

What type of system software is used by programmers to simplify the process of application development?

A

Libraries (do card for how)

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

Is a webcam hard or software?

A

Hardware

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

Under which category of software is the operating system classed?

A

System software

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

Under which category of software is a web browser classed?

A

Application software

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

Define software

A

Program code, sequences of instructions which are executed in order to perform a task

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

What is the role of system software?

A

To operate, control and maintain the computer and its components

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

Is a word processor hardware or software?

A

Software

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

Define hardware

A

The physical components of a computer system
Includes:
-internal components
-external components (peripherals)

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

Define peripherals

A

An auxiliary hardware device used to transfer information in an out of a computer, hives the computer more power and ability

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

Why is an operating system said to provide a virtual machine?

A

OS hides complexity of the computer from the user

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

Under which category of software is a compiler classed?

A

Translators

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

Define General purpose software

A

This is software that can be used for multiple purpose

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

Define special purpose software

A

Software developed for a specific purpose

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

Define bespoke software

A

Developed for a specific user AND a specific purpose

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

Give examples of Application software

A

-IDEs
-Word Processors
-Photo editing software
-Browsers
-Games

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

Give the main types of system software

A

-Operating systems
-Utility programs
-Translators
-Library programs

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

Which are processor specific: low or high level languages?

A

Low level languages

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

Which type of language uses mnemonics in instructions?

A

Assembly language

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

Which type of languages must be translated into machine code with a compiler or interpreter before execution?

A

High level languages

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

Give an example of a component that is both hardware and software

A

-wireless router
-wireless keyboard
-wireless (blank)

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

Give examples of peripherals

A

-speaker
-printer
-microphone

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

What is the purpose of application software?

A

Programs to complete a specific task for the user

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

Describe the role of the operating system

A

-allows user to control the computer with ease
-does this by providing a virtual machine
-a platform on which other software can run
-to hide the true complexity of the computer from the user
-manages and controls access to a computers resources
-eg memory management, processor scheduling, handling inputs, outputs and interrupts, security

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

What is the role of utility programs?

A

-“housekeeping” tasks in the computer system
-eg, data backup, defragmenting hard drives, data compression, encryption, anti virus activities, file management

25
Q

How does processor management work?

A

Operating system makes sure the right instructions are processed at the right time, allocates processor access to different applications.
Starts by finding the relevant data from secondary storage and bring it to main memory
Processor then executes processes to run program

26
Q

How does the operating system handle multi-tasking?

A

A scheduler can be used by the OS to swap tasks in and out of the processor so it appears more than one task is being performed. Though, one processor core can only carry out one instruction at a time.

27
Q

Why is multi-tasking more efficient in modern computers?

A

Almost all modern computers have multiple processor cores that the OS uses schedulers with, making multi-tasking very efficient.

28
Q

How does the OS perform memory management?

A

Instructions and data needed for a process have to be available in main memory (RAM). OS runs memory management program.
-keeps track of the proportion of memory allocated
-maps memory to each process
-determines how much memory to allocate to processes
-determines when memory should be available

29
Q

How does OS manage Files?

A

(NOT file management tools from utility programs)
-controls how data is stored and retrieved
-keeps track of where files are stored in secondary storage

30
Q

How does OS manage backing storage?

A

-keeps directory of where files are stored to access them
(Directory = file system cataloguing structure

31
Q

How does OS manage input and output devices?

A

-controls and uses input and output devices
-records which device requires processor time so the processor can communicate with devices without conflict.
-prioritises processes based on control signals that I/O device sends and receives.

32
Q

How does OS manage Interrupts?

A

A signal is sent to the processor to request attention. The processor suspends what it is doing and runs the process from the interrupt

33
Q

What are some common interrupts?

A

-hardware device has data to process
-hardware device has completed a task
-software process needs a service or OS function to be performed
-allotted amount of time has passed/expired, action needed
-a hardware failure happened

34
Q

What do library programs contain?

A

Useful instructions that are frequently used by a program. To use, programmers must import the library in their program code

35
Q

List the three types of translators

A

-compilers
-assemblers
-interpreters

36
Q

Why were low level languages used?

A

Early computers had limited speed and memory

37
Q

What is special about low level languages

A

-They directly manipulate the processor
-specific to the type of processor being used

38
Q

What were the issues with low level languages?

A

-require a lot of effort
-prone to errors

39
Q

Why were high level languages created?

A

-allow instructions to be communicated to the processor instead of directly manipulating it
-makes programming much easier

40
Q

What are the two categories of low level languages

A

-assembly code
-machine code

41
Q

Describe machine code

A

-uses only binary digits
-communicate directly with the processor
-processor specific
-very long and difficult to program
-prone to errors and difficult to debug

42
Q

What is an advantage of machine code?

A

Not abstracted, so does not need to be translated. This means it is much faster to execute, used in embedded systems where speed is key

43
Q

Why was assembly language developed?

A

To simplify the process of programming

44
Q

What is the key feature of assembly code?

A

Uses mnemonics in place of machine code, 1 to 1 relationship/correlation: one line of assembly is one line of machine

45
Q

Why is assembly code better, and worse?

A

-more compact, less prone to errors and easier to debug
-More abstracted so needs to be translated before it is run.

46
Q

Key feature of high level languages:

A

-not platform/processor specific
-must be translated by a compiler or interpreter before execution
-1 to many relationship/correlation: each line of a high level language is many lines of machine code

47
Q

Advantages and disadvantage of high level languages!

A

-more compact, easier to debug, easier to code, may make use of built in functions so quicker.
-even more abstracted, so needs to be translated by compiler or interpreter before running

48
Q

What is the difference between imperative high level languages and declarative high level languages?

A

Imperative languages are formed from instructions on HOW the computer should complete the task, Declarative languages specify what task needs to be completed

49
Q

Comment on portability, ease of use, ease of debugging, ease of execution for machine assembly and high level.

A

Machine: not portable(processor specific), difficult to understand, very difficult to debug, directly executed- no need for translation
Assembly: not portable(processor specific, fairly difficult- but much easier than machine, moderately difficult to debug, must be translated by an assembler but not too time consuming.
High level: portable, much easier to understand, much easier to debug, must be translated by a compiler or interpreter- may be time consuming

50
Q

Describe the role of an assembler

A

Translate assembly language into machine code, because its 1 to 1, its straightforward and easy and quick.
As assembly is platform specific/processor specific, a different assembler must be used for each different processor instruction set

51
Q

Describe the role of compilers

A

Translate high level language into machine code.

52
Q

Describe the process of a compiler

A

-checks for errors
-translates entire program at once
-to produce machine code which is then

53
Q

What is an advantage and disadvantage of compilers?

A

Time consuming as its translating all code at once
Can be run as many times as needed without translating again, can be run without the requirement for other software

54
Q

Describe the role of an interpreter

A

Translates high level language into machine code line by line. Has procedures that can be used to translate each kind of program instruction

55
Q

What is different about interpreters to compilers?

A

Detects errors as it goes through

56
Q

Describe the processes of translation with intermediate code.

A

-compiled not into machine code, but intermediate code
-the intermediate code is often bytecode and allows for platform independence
-a virtual machine is used to execute the bytecode on different processors
(Each processor instruction set has its own virtual machine)

57
Q

What is the advantage of using an intermediate language?

A

Means the code can be translated just once and used on a variety of processors

58
Q

What is the name for a translators output?

A

Object code