4.6 Fundamentals of Computer Systems Flashcards

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

What is meant by the term hardware

A

The physical and electrical components of a computer system

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

What is meant by the term Software

A

The programs and instructions run by the computer system hardware.

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

What are the 2 different hardware types and explain their functions

A

Internal Components: Devices that deal with processing and storage within the computer system.
External Components: Usually Input/Output devices that deal with interfacing the user with the computer system.

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

What is a synonym for External Components

A

Peripheral Devices

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

What are the different classifications of Software

A

1 - Application Software
2 - System Software

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

What is system software

A

Layer of software that allows the computer to operate by interfacing with the hardware of the computer system and performs tasks that run the computer.

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

What is meant by Application software and what are the 3 types

A

Programs designed to allow the user to perform a task (independent from operating the computer system).
1. General Purpose Software
2. Specific Purpose Software
3. Bespoke Software

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

What is meant by the term General Purpose Software

A

Software that can be used to carry out a variety of tasks. Tip: software given generic terms like Word Processor and Spreadsheet software are GPS.

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

What is meant by the term Special Purpose Software

A

Software that can only be used to carry out one specific task. E.G - Scientific Calculators, Stock kControl.

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

What is meant by the term Bespoke Software

A

Software that is tailor-made to meet user specific tasks. E.G. - Touchscreen Kiosks.

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

What are the advantages to Bespoke Software

A

1- The software accurately meets the specific set of requirements the user has.
2 - Code can be made to easily fit into current software/hardware, meaning it can be easily implemented
3 - Only performs necessary functions so takes up minimum system resources

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

What are the disadvantages to Bespoke Software

A

1 - Because development is specific and client must cover production costs, it can be very expensive.
2 - Their is ambiguity as to who owns the code- the company or the clients.
3 - Code can take a long time to develop

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

What are the advantages of Special Purpose Software compared to bespoke software

A
  • Immediately available “off the shelf” which leads to quick development
  • Lower cost than bespoke software as there is no need to cover all development cost - they are shared amongst many
  • Regular updates will be available
  • More likely to be bug-free as it would have been tested and used widely.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the different types of System Software

A

1 - Utility Software
2 - Operating System
3 - Translator Software
4 - Library Programs

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

What is meant by the Utility Software

A

Software used for completing “housekeeping tasks” which improve system performance and aids with the maintenance of the computer system.

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

What are the different types of Utility Software

A

1 - Compression
2 - Defragmentation
3 - Anti-Malware
4 - Back-up

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

What is the Compression Utility

A

Software that compresses files so that they take up less space and use less system resources, making the computer system more memory and storage efficient, also speeding up file transfer as file take up less bandwidth.

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

What is the Defragmentation Utility

A

Software that sequentially orders the Disk Drive. It does this by removing both fragmented files and empty space into a temporary “scratch” space, then files are restored into the disk drive in a contiguous manner.

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

What is the Anti-Malware Utility

A

Software that is used to protect the computer system from malicious code, by blocking and detecting threats. For viruses, the software uses a dictionary of known viruses to identify the virus and then the file, containing the virus, is quarantined to prevent the spread of the file.

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

What is the Backup Utility and what are the 2 types

A

Software that automates the backups of a computer system so files can be discovered, if lost.
1 - Full Backup
2 - Incremental Backup

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

What is meant by a Full Backup

A

A backup up where anything that is deemed important is copied.

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

What is meant by an Incremental Backup

A

A Backup where only files that have been changed since the last backup is copied.

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

What is the role and the function of the Operating System

A

The Operating System is used to manage the computer system, its resources, hardware, and to hide the complexities of the hardware,

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

What is the role of the OS and what does it manage

A

The role of teh OS is to hide the complexities of the hardware using abstraction that thus creates a Virtual Machine.
1 - The Processor
2 - The memory
3 - Input/Output devices
4 - Files
5 - Applications

25
Q

How does the OS manage the Processor

A

The OS decides which process to excecute by scheduling, and allocating time for each process, and handles interrupts to the process that is currently being excecuted.

26
Q

What are Interrupts and how are they managed

A

Signals sent to the Processor to request immediate attention. When the Processor receies this, it suspends the task that it is excecuting and runs the task associated with the interrupt. This is used for when immediate tasks like a mouse click must be excecuted ahead of a long list of other tasks.

27
Q

What is Scheduling

A

The OS uses algorithms to determine the most efficient order to excecute the processes based on priority, task length, and when the task was requested.

28
Q

How does the OS manage memory

A

The OS uses techniques like segmentation and paging to allocate memory efficiently. The OS tracks memory usage by naming all of the physical memory slots as “free” initially and when a program is loaded into a memory address, that address becomes “allocated”.

29
Q

What is Paging

A

When a program is loaded it is given a logical address space - which is how much space it takes up. The OS then maps the logical address to where the program is stored. The program is divided into memory units called pages, and is stored in sequential addresses of the same size when loaded into the RAM.
This is used when the RAM space is not enough and so secondary memory is used to act a virtual memory

30
Q

What is the disadvantage of using paging or virtual memory

A

It uses secondary memory that is slower to access and to write to than primary meomory.

31
Q

What is Segmentation

A

Programs are logically divided into segements that fit into the free space of memory.

32
Q

How does the OS manage Files/Resources

A

The OS uses file systems that tracks where files are stored. These file systems include Folders, Directories and files which users use to easily navigate their files.

33
Q

How does the OS manage I/O devices

A

The OS takes a requests from the application software and issues the required command to the appropriate device to help complete the task. In order to manage these devices, device drivers are used which contain device specific instructions that the devices use to complete their respective tasks.

34
Q

What are libraries

A

Collections of prewritten instructions that can be repurposed for use in other programs to develop other softwares. This is helpful as common tasks can be written as and with libraries for repeated use, which can save time for developers, as it saves them from having to rewrite the instructions.

35
Q

What are translators

A

Software used to convert programs from
one language to another, often from source to machine code.

36
Q

What are the 5 classes of programming languages

A

LOW LEVEL:
1G - Machine Code Language
2G - Assembly Language

HIGH LEVEL:
3G (Imperative) - Python, Java
4G (Declarative) - Database Orientated, SQL
5G - AI

37
Q

What does an Imperative Language entail

A

A language where you instruct the program of bot the intended result and the algorithmic solutions to obtain them

38
Q

What does a Declerative Language entail

A

A language that provides a given intended result to the user without direct algorithmic instruction from the user of how to excecute it

39
Q

What is machine code

A

Lowest-level programming language that a computer’s CPU can execute directly. It consists of binary instructions (0s and 1s) that tell the hardware exactly what to do

40
Q

What are the pros of machine code

A
  • No need for translation and so is faster to execute
  • It is more optimisable because there is more control ove the computer system hardware
41
Q

What are the cons of machine code

A
  • Prone to error as one mistake in typing is easier to do
  • Harder to debug
  • Very time consuming to type 1s and 0s
  • not portable as machine code is processor specific
42
Q

What is assembly language

A

Program written using a set of ‘mnemonics’ that represent the binary equivalent in machine code.

43
Q

What are the pros of assembly language

A
  • 1:1 correspondence with machine code meaning it is just as optimisable - meaning its used usually in embedded systems.
  • mneumonics are easier to understand than binary
  • easier to program than machine code
44
Q

What are the cons of assembly language

A
  • not portable as the program is processor specific
  • Code can still be difficult to understand
  • Can also be very time consuming
  • Must be translated using an assembler
45
Q

What are The advantages of High level

A
  • easier understand code as the
    keywords are more like natural language.
  • They are portable.
  • They use a wide variety of inbuilt program structures to make the process of programming and debugging more straightforward and easier to maintain, therefore making development faster
  • There is a one-to-many mapping between a HLL statement to machine code often making development time quicker as the same program can be made in less line and so time in HLL language than in machine code
46
Q

What are the disadvantages of high level Languages

A
  • Less optimisable
  • Must be translate
47
Q

How does an Interpreter work

A

Reads a statement of the source code and
immediately performs the required action. First it analyses the syntax of each statement and if there are no errors it calls predefined routines to translate lines.

48
Q

Benefits of using an interpreter

A
  • You can execute parts of a program that is syntactically correct whilst other parts have syntax errors making it better for debugging code.
  • Interpreters are more portable, because of this, an interpreter is most likely to be used whilst a program
    is being developed and you don’t know which platform it will be based on.
    -It can be used to test code in a sandbox, which is helpful for debugging code
49
Q

Drawbacks of using an interpreter

A
  • Program code will need translating every time. This means that the overall time needed
    to execute a program can be very long.
  • The process of using it takes up a lot of system resources like RAM as memory space is need for both the source code and the interpreter
  • The source code can only be translated and therefore executed on a computer that has the same interpreter installed.
  • The source code must be distributed to users, whereas with a compiled
    program, only the executable code is needed.
50
Q

How does a compiler work

A

A compiler converts the whole source code into object code before the program can be executed.

51
Q

Benefits of using a compiler:

A
  • Once the source code has been compiled you no longer need the
    compiler or the source code and you normally don’t need to recompile.
  • If you want to pass your object code on to someone else to use it is difficult to reverse engineer to obtain the source code
    -Compiler optimises code in the form of object code , as it does not need to be translated but only executed meaning that it runs faster.
52
Q

Drawbacks of using a compiler:

A
  • Because the whole program has to be recompiled every time you make even the slightest alteration to your
    code, it can take a long time to debug.
  • The compiled code will only execute on a computer with the same processor instruction set
  • The compiler will not produce an executable file if a syntax error is encountered.
53
Q

What does an assembler do

A

Assemblers translate assembly code programs into executable code.

54
Q

What is Intermediate code (bytecode) and how is it used

A

A semi compiled form of code that is not directly executable - containing parameters and instructions that will be run by a virtual machine, which is platform independent and can be executed on any computer using it regardless of the specific processor instruction set.

55
Q

Why do some compilers use byte code

A

It makes the translator portable given a VM is present

56
Q

What is the difference between source and object code

A

Source code is the human-readable code written by a programmer, while object code is the machine-readable output produced after the source code is compiled.

57
Q

Why is it an advantage to use as few gates as possible in a logic circuit

A
  • Minimises the cost of production
  • Reduces delay and speeds up processing
  • Reduces Power consumption as less system resources will be used.
58
Q

Explain the general purpose of a D Type Flip Flop

A

synchronous sequential circuit that is used to store state of a single binary data input, and also as a memory unit

59
Q
A