Computer Systems Flashcards

1
Q

What is hardware?

A

The hardware of a system is the physical components that make up the computer.

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

What are the classifications of hardware?

A

Peripherals, internal components

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

What are peripherals?

A

The external components of hardware are the parts that you can touch

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

What are internal components?

A

The internal hardware components are housed within the casing of the computer and include the processor, hard disk etc.

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

What is software?

A

The software of a system is a collection of procedures and rules that carry out operations on a. Computer’s hardware. The software code may be stored on the computer’s hard drive or any other storage device.

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

What are the two classifications of software?

A

Application and system

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

What is application software?

A

Application software refers to all of the programs that the user uses in order to complete a particular task

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

Classifications of application software?

A

General purpose and special purpose

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

What is general purpose software?

A

This is a software that can be used for a variety of tasks. For example: word-processing software

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

What is special purpose software?

A

This is software that can only be used for one particular task. For example: scientific calculator

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

Classifications of special purpose software?

A

Off-the-shelf, bespoke

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

What is off-the-shelf software?

A

This is standardised software that is mass-produced, available to the general public and fir for immediate use.

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

What is bespoke software?

A

Software that is developed to meet the user’s specific requirements.

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

Pros of off-the-shelf

A

Readily available for anyone to use, well-documented, well-tested

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

Cons of off-the-shelf

A

You have little or not control over what features there are, it may not do exactly what you want

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

Pros of bespoke software

A

It is tailor made to fit the user requirements exactly

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

Cons of bespoke

A

Costs, time taken for development is long

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

What is system software?

A

Software that is needed im order for the computer to function

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

Classifications of system software

A

library programs, translator software, utility programs

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

What are library programs?

A

A library is a collection of pre-complied routines that can be used by other programs. Programmers can invoke library subroutines to save time having to re-write code. For example: DateTime, Os, DLLs

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

Advantages of library programs

A

Speeds up the software development process as you don’t have to re-engineer functionality that has already been implemented by others, allows use of functionality that you may not be a specialist in, more robust software will have already extensively tested by others

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

Disadvantages of library programs

A

You don’t know what the library is doing (it could be doing something malicious of malfunctioning in some way), you can’t update the library yourself if there is an issue you have to wait for a fix to be implemented, some libraries have a large storage overhead in comparison to custom code implémentions

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

What is translator software?

A

Software tools that are used to convert program code from one format to another, without adjusting the logical operation of the original program code.

24
Q

What are utility programs?

A

This supports the computer system in operating as safely and efficiently as possible. It has the job of analysing, configuring, optimising, and maintaining a particular part of the computer system

25
Q

Classifications of utility programs

A

Compression software, defragmentation, anti-malware,

26
Q

What is compression software?

A

Compression software if specifically responsible for compression and decompressing files. The main purpose of compression software is to reduce the amount of data inside files. It saves space on secondary storage devices; this in turn has the potential to increase the efficiency of the computer as less system resources are being used. It reduces the transmission time when sending the file across a network. Email systems often have a limit on the maximum file size allowed for an attachment; compressing files helps keep files within the maximum attachment limit

27
Q

What is defragmentation software ?

A

A disk defragmenter is a software that looks at all o the data on a hard drive and reorganises it, so that related data is stored together. The process is: moving files to a temporary space on the hard drive, collecting together the empty spaces, collecting together the related data, replacing the data so that related data is now stored sequentially.

28
Q

What is anti-malware software?

A

Anti-malware software is designed to protect a computer system by detecting and blocking threats. It continually monitors the files and software being accessed by the OS in order to detect signs of malicious intent. Once identified the software will quarantine the file, involving isolating the file so that it can’t spread or cause further damage. The software will attempt to repair the file or give the user an option to repair it.

29
Q

What is the operating system?

A

An operating system is a collection of software designed to act as an interface between the user an the computer and manages the overall operation of the computer.

30
Q

Classifications of operating systems

A

memory management, managing secondary storage, backing store management, processor management

31
Q

What is memory management?

A

When a user asks for a file to be loaded it is the job of the memory management routines to check to see if enough memory is available and then allocate the appropriate memory and load the file into those locations. The OS controls the use of main memory by creating a memory map, which shows which blocks of memory have been allocated to each task; this way the OS can control more than one task in the RAM at any one time. If there is not enough memory a program may be swapped out of memory onto virtual memory (storing data in secondary storage if there is no space in RAM) and reloaded when activated.

32
Q

What is managing secondary storage?

A

It provides access to the data and programs that need to be loaded from secondary storage to the main memory. It keeps track of where programs and files are stored, it performs backup operations. It supports a user-friendly interface by providing a file management system that allows the user to create, edit, and delete files and folders that are located on secondary storage devices.

33
Q

What is backing store management?

A

The OS keeps track of where all files are stored so that they can accessed quickly when they are requested and transferred into main memory. This also speeds ups storage and saves computation resources rather than having to search for free space every time a user wants to save a file.

34
Q

What is processor management?

A

In a multi-tasking system, the OS has to allocate each task a time slice, meaning that each task is given an equal amount of processor time. This is also known as round-robin scheduling.

35
Q

Classifications of programming languages?

A

Low-level and high-level

36
Q

What are low-level languages?

A

Low-level languages are defined by the processor they are designed to run on; these can be described as machine-oriented. They have no built-functions and can access specific registers in the process. They have a 1:1 relationship with processor instructions, non-portable as they are processor specific, allow for individual control of a processor’s components and registers, programs typically require less memory and execute faster than a high-level language program performing the same task.

37
Q

What is the format of low-level languages?

A

Opcode = This is part of the instruction that specifies which operation the processor should perform

Operand = Contains a value or set of values relevant to the opcode. The operand can be an actual piece of data or a reference to the memory location

38
Q

What are the uses of low-level languages?

A

An embedded system is a complete computer system that has a dedicated function; examples include digital watches, domestic appliances, and central heating systems. Embedded systems are designed to complete a limited number of specific tasks but very efficiently. Due to their nature, embedded systems are usually restricted by size and therefore cannot have huge processors that require cooling , or large storage devices that would add weight and heat to a system. This means that the programs that run on embedded systems need to be efficient and make the best use of the processing power and memory available. Low-level languages allow a programmer to create optimised programs for embedded systems. These programs are extremely efficient at completing their tasks.

Device drivers are programs that allow a computer to interact with a peripheral, like a mouse or a printer. Operating systems install and manage device drivers for every peripheral connected to a computer. Low-level languages allow precise control of a piece of hardware and that is why they are used for device drivers. A device driver written in a low-level language allows the CPU to communicate with the peripheral directly, receiving data and issuing commands quickly and efficiently.

39
Q

Advantages of low-level languages

A
  • They allow a programmer to create optimised programs, when a computer system has limited resources
  • low-level languages allow a programmer to more directly control how the resources are used
40
Q

Disadvantages of low-level languages

A
  • It is more difficult to write programs in low-level languages than in high-level languages programmer need to have a very good understanding of the hardware being used
  • Low-level languages are not portable because they are specific to a particular instruction set
  • Low-level languages do not have libraries of functions that can be imported and used by the programmer. This means the programmer has to write every process required for a programmer themselves
41
Q

What are high-level languages?

A

High-level languages are programming languages that are designed to allow human to write computer programs and interact with a computer system without having to have specific knowledge of the processor or hardware that the program will run on

42
Q

Classifications of high-level languages

A

Imperative, Declarative, Object-oriented

43
Q

What are imperative languages?

A

They are languages used to write a list of instructions to solve a problem, where the programmer defines how the problem should be solved. Procedural is also used to describe this subset, but it specifically describes to a language used to write programs that can be split into procedures.

44
Q

What are declarative languages?

A

These languages are used by the programmer to define the problem to be solved rather than how to solve the problem. Like SQL.

45
Q

What are object-oriented languages?

A

When programmers define objects and classes, which define the data and instructions to manipulate the data. Like Java.

46
Q

Advantages of high-level languages

A
  • Much easier and faster to write, debug and maintain programs
  • Different high-level languages have been written specifically for different types of problem
  • High-level language programs are portable- a program written for one type of computer can be recompiled for a different type of computer
47
Q

Disadvantages of high-level languages

A
  • The object code may run slower than assembly code or machine code
  • The object code may occupy more space in RAM- which can be a problem in embedded systems with a small amount of memory
  • Most high-level languages do not have statement to allow the programmer to manipulate individual bits which is essential in some applications such as device drivers
48
Q

Types of program translators

A

Assemblers, Interpreters, Compliers

49
Q

What are assemblers?

A

Assemblers translate assembly code programs into executable code

50
Q

What are interpreters?

A
  • Interpreters translate and execute each line of source code one by one. Each program line when run is first syntax-checked. If a syntax error is found the program halts and it is reported. Following the syntax check, each line of source code is converted into its machine code equivalent and executed. If a runtime error occurs the program crashes
  • This line-by-line approach allows the developer to test the program and to quickly identify and remedy each error as it occurs without having to go through the whole process of translating the entire program every time
  • Source code that is interpreted runs more slowly than compiled code, because each time the program is run, it must be translated all over again. In addition, the user must have the interpreter installed to be able to run the program. However, interpreted code can be advantageous if the programmer does not know which platform will be used to run the code.
51
Q

Advantages of interpreters

A
  • Errors will be reported as soon as they are encountered, which means that you don’t have to wait for the entire program to be complied
  • Errors are shown line by line as the interpreter reaches them
  • Debugging is quicker and easier as errors are reported in the console, which shows what and where the error is in the code
52
Q

Disadvantages of interpreters

A
  • The program requires an interpreter to be run
  • Translating the code line by line at execution time is slower than running complied machine code
  • The interpreter takes up space in memory
53
Q

What are compliers?

A
  • Compliers produce executable code in a form that cannot be read by a human
  • The complier takes the source code as its set of instructions, which it them puts through a series of processes to produce executable code
  • Any compilation errors are reported at the end of the compilation process
  • When the program has successfully complied, the executable file will not need to be translated again. This results in faster running times as no further translation is required
54
Q

Advantages of compliers

A
  • Code can be well optimised by the complier
  • Complied programs can distributed as machine code, meaning that the source is hidden and can be kept confidential for commercial reasons
  • No translation is required at execution time, as it has already been done
55
Q

Disadvantages of compliers

A
  • You have to wait until the entire program is compiled before receiving any errors, which for a large program may take some time
  • If you want to change something in the program, you have to recompile the entire program
  • The executable code produced is specific to the processor platform