3.4 Computer Systems CGP Guide Flashcards

1
Q

Computer

A

The purpose of a computer is to take data, process it, then output it. Computers were created to help process data and complete tasks more efficiently than humans.

A computer system consists of hardware and software that work together to process data/complete tasks.

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

Hardware

A

The physical stuff that makes up your computer system, like the CPU, motherboard, monitor and printer.

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

Software

A

The programs that a computer system runs.

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

Application software

A

Software that performs end-user tasks.
E.g. word processors, web browsers, database software, games.

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

System software

A

Manages the computer system resources and acts as a platform to run application software.
Operating systems, utilities.

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

Operating systems

A

Operating systems manage hardware and run software.
Complex piece of software on most computer systems. The main functions of the OS are:
- Input and output devices.
- Applications and a user interface.
- Memory management.
- Organise the CPU and it’s processing tasks.
- File management and disk management.
- Manage system security.

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

Input/output devices

A

Input/output devices allow computers to take inputs and give outputs.
• Operating systems use device drivers to communicate with input/output devices connected to the computer system:
- Every I/O device connected to the computer system requires a device driver. Drivers essentially act as a ‘translator’ for the signals between the OS and the device.
- When a computer is booted up, the OS will choose the correct device drivers for the device it detects. If new devices are connected to the computer, the system may automatically find and install a new, matching driver.
- Device manufacturers may release updates to device drivers in order to fix bugs, add features or improve the performance of the device. Updates may be installed automatically by the OS or manually by the user.

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

Application management

A

• Operating systems provide a platform for applications to run on, and manage system resources to allow computers to run multiple applications at once - known as multitasking.
• It also allows applications to access hardware and other peripheral devices as needed, including access to RAM and secondary storage.
• The OS also provides a user interface that applications are accessed through. Most desktop computers traditionally use graphical interfaces that are WIMP-based, where applications are displayed with windows, icons, menus and pointers.
• These interfaces are ideal for use with a mouse and keyboard, but devices with different input methods may have different interfaces.
• Applications are usually written for a particular OS and will take advantage of its features. E.g. allowing users to tap, pinch swipe on a touchscreen device.

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

Memory management

A

• When an application is opened the OS copies the necessary part of the application to memory, followed by any additional parts when they are required. The OS will decide if applications or features have been used recently if not they may be removed from the memory.
• The OS manages how much RAM a program has access to. This will depend on the program. Certain things, like having more documents open, can make a program require additional memory.
• When running multiple applications at once, the OS makes sure that they don’t overwrite or interfere with each other by allocating certain applications certain memory addresses, keeping their processes in separate locations.

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

Processor management

A

• When an application is launched, it creates one or more processes. Each process has instructions it needs the CPU to execute. However. CPUs can only carry out instructions one process at a time.
• Operating systems deal with this by scheduling to determine the most efficient order for the CPU to execute instructions.
• Each process is allocated a ‘priority’ by the OS. The CPU carries out the instructions from the highest-priority processes first, and other processes wait in a queue.
• The OS may interrupt the current CPU process if a higher priority process becomes available.
• In order to allow multitasking, the CPU swaps between different processes very rapidly.

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

File and disk management

A

• Computers store data as files. Images, music, videos and spreadsheets are just collections of data. File extensions tell the computer which software should be used to open the file.
• The OS is responsible for file management - the organisation of data into a usable hierarchical structure. It also deals with the movement, editing and deletion of data.
• The OS manages the hard disk. It splits the physical disk into storage sectors, decides which sectors to write data to, and keeps track of free space on the disk. Ideally, the data for a single file would be placed in adjacent sectors but this isn’t always possible.
• The OS also organises and maintains the hard disk utility programs like defragmentation software.

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

System security

A

• Most popular OSs include way of keeping data stored on a system secure. One common way in which they do this is through user account control. User accounts allow different users to be granted or denied access to specific data or resources on a computer system.
• On most desktop operating systems, each user has access to their own personal data and desktop, but cannot access other users’ personal data, unless they are a system administrator.
• Operating systems may have anti theft measures to prevent other users from accessing locked devices or accounts to steal information. User accounts may be password or pin protected. Some devices also require a user to draw a specific pattern on the screen, or have fingerprint or retina scans.

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

Utilities

A

Utilities help to maintain or configure a computer.
Examples:
• Disk defragmentation
• Auto backup and restore
• Anti-virus
• Firewall
• Compiler

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

Disk defragmentation

A

• Organises files on a disk to be located contiguously.
• Often after defragmentation performance is improved because a file can be accessed from one location on a disk.
• Files can become fragmented when the original file increases in size and no longer fit into a contiguous location and has to be split over multiple locations.

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

Auto backup and restore

A

Ability to automatically back-up files on the computer, either using cloud storage or another form of secondary storage.

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

Antivirus

A

Scans the computer to identify malicious code.

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

Firewall

A

Scans input and output packets and prevent malicious packets entering the computer.

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

Compiler

A

Converts high level computing code into low level.

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

High level languages

A

Most of the programming languages are high-level languages. The source code is easy for humans to write, but computers need to translate it before they can read and run it.

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

Low level languages

A

Tricky for humans to read and write but are easier for computers to run. They consist of machine code and assembly languages.

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

Machine code

A

Machine code is very tricky for humans to understand. Each processor will have its own specific machine code.

22
Q

Assembly languages

A

Assembly code is more readable for humans and easier to remember, so programmers are less likely to make mistakes writing assembly code than machine code. It’s often used when developing software for embedded systems and when programmers need more control over specific hardware.
1:1 correspondence with machine code.

23
Q

Differences between high and low level languages:
High level

A

• One instruction of high-level code represents many instructions of machine code.
• The same code will work for many different machines and processors.
• The programmer can easily store data in lots of different structures without knowing about the memory structure.
• Code is easy to read, understand and modify.
• Must be translated before a computer is able to understand it.
• You don’t have much control over what the CPU actually does so programs will be less memory efficient and slower.

24
Q

Differences between high and low level languages:
Low level

A

• One instruction of assembly code usually only represents one instruction of machine code.
• Usually written for one type of machine or processor and won’t work on any others.
• The programmer needs to know about the internal structure of the CPU and how it manages the memory.
• Code is very difficult to read, understand and modify.
• Commands in machine code can be executed directly without the need for a translator.
• You control exactly what the CPU does and how it uses memory so programs will be more memory efficient and faster.

25
Q

Interpreter

A

Interpreter converts high level languages into machine code one instruction at a time on-the-fly while the program is running. Each instruction is converted to machine code once the previous instruction has been executed.
• Interpreters are good for debugging code because the program stops as soon as the error has been found.
• However running code this way is much slower running compiled code.
• The machine code is not saved.
• Needed every time you run the program.

26
Q

Compiler

A

A program that converts high level languages into machine code before the program is run.
• Translates all of the source code at the same time and creates one executable file.
• Only needed once to create an executable file.
• Returns a list of errors for the entire program once compiling is complete.
• Once compiled the program runs quickly, but compiling can take a long time.
• Software is normally distributed as compiled machine code. For proprietary software this is good because other people cannot copy the code and use it for their own applications.

27
Q

Assembler

A

Assembler converts assembly language instructions into machine code.

28
Q

Program translators

A

Program translators allow programs to be translated into machine code so the than programs can be run on a computer.

• Interpreter
• Compiler
• Assembler

29
Q

Advantages and disadvantages of LLL versus HLL

A

+ Since they are nearer to machine code, they are faster to process.
+ Low level languages are appropriate for developing new operating systems, embedded systems and hardware device drivers
- They are specific to the piece of hardware they are written for, and cannot be run on any other hardware.
- Very challenging and requires a great deal of knowledge and experience.

30
Q

Advantages and disadvantages of HLLL versus LLLL

A

+ These can be easily moved across devices and platforms.
+ Relatively straightforward
+ Can be debugged in a much easier manner than in low-level languages.
- Slower processes as they have to be translated through several layers of code before reaching the hardware.
- Needs a translator.

31
Q

Von Neurmann’s architecture

A

The Von Neumann’s architecture describes a system where the CPU runs programs stored in memory.
Programs consist of instructions and data which are stored in memory addresses.
• He identified that data and programs could be stored in the same memory. This means that only one set of RAM is required for storing both data and programs rather than having two separate sets of memory.

• Arithmetic logic unit
• Control unit
• Clock
• Register
• Bus

32
Q

Arithmetic logic unit

A

The ALU gets data from the CU and registers, performs an operation on it, and sends the output back to the registers.

• Part of CPU
• Carries out arithmetic calculations: Addition, subtraction, shifts (multiplication and division).
• Carries out logical operations: AND, OR, NOT, Less than <, Greater than >.

33
Q

Control unit

A

The CU a controls the flow of data. It keeps track of the memory address of the instruction for each cycle.

• Part of CPU.
• Manages the execution of instructions.
• Ensures all components perform tasks at the correct time.
• Responsible for the fetch-execute cycle.
• Analogy: a conductor for an orchestra.

34
Q

Clock

A

• A signal to synchronise tasks.
• Clock cycle is known as a tick.
• Each cycle has: High state, Low state.

35
Q

Register

A

The registers hold any data, instructions and memory addresses that are about to be used by the CPU. There are specific registers for different tasks.

• A register is a store with its own identity used for storing a single number temporarily.
• It could represent an address, a value, an instruction, or the status of something.
• For example an 8 bit CPU has a number of 8 bit registers.
• Registers are used to hold temporary data while a software program is running. As the CPU, processes the data, the software program will shift the data in and out of registers.
• It is much faster to shift data to and from the registers rather than in and out of the CACHE or RAM and so this speeds up the processing time.

36
Q

Bus

A

A collection of wires through which data/signals are transmitted from one component to another.

37
Q

What does CPU performance depend on?

A

• Clock speed
• Number of processor cores
• Cache size

38
Q

Clock speed

A

• Clock speed is measured in Hertz (Hz)
• Hz is the number of clock cycles per second
• A 3 GHz processor ticks 3 billion times per second
• The higher the Hz the more instructions can be carried out per second

39
Q

Number of cores

A

• Processors can have more than one core
• The core receives instructions and performs calculations
• More cores contribute to an increase in performance because :
• Parallel processing – allows different instructions from the same program to be run at the same time
• Multi-tasking – allows instructions from more than one program to run at the same time.

• Dual-core does not mean that performance will double as not all instructions can be run in parallel
• It may need to wait for other instructions to finish first

40
Q

Cache

A

• Cache is super fast memory that is built into the CPU
• Recently used instructions are stored in cache so they can be used again quickly, without having to fetch them from main memory (RAM)
• This improves the performance of the CPU
• Instructions can be retrieved more quickly from the cache than from main memory

41
Q

Levels of cache

A

L1 cache - Part of the CPU. Fastest to access. Smallest size. Each core of a multi-core processor as its own L1 Cache. Stores the most frequently used instructions/data.
L2 cache - Can also be built into the CPU but will be slower. Further away from the processor. Larger so more memory available. After L1 is full, the most frequently used instructions/data are stored in L2.
L3 cache - Larger but slower. Not part of the processor and will be shared by multi-core processors. After L2 CACHE is full, the next most frequently used instructions/data are stored in L3.

42
Q

Fetch-execute cycle

A

• Fetch next instruction from main memory
- Control Unit (CU) sends signal to main memory to say it’s ready for next instruction
• Decode instruction
- translates the instruction to work out what it is
• Execute the instruction is executed (carried out)
- run the code
- may include reading, writing from/to main memory

43
Q

Types of memory within a computer

A

• Registers
• Random access memory (RAM)
• Cache
• Read only memory (ROM)

44
Q

Volatile memory

A

Temporary memory. It requires power to retain its data.

45
Q

Non-volatile memory

A

Permanent memory - it keeps its contents even when it has no power.

46
Q

RAM

A

• RAM is used as main memory in a computer. It can be read and written into. RAM is volatile.
• RAM is where all data, files and programs are stored while they’re being used.
• When a computer boots up, the operating system is copied from secondary storage to RAM.
• When software applications, documents and files or applications are opened, they are copied from secondary storage to RAM. They stay in RAM until the files or applications are closed.
• RAM is slower than CPU cache memory, but way faster than secondary storage.

47
Q

ROM

A

• ROM is also used as main memory, but is non-volatile. It can only be read not written into.
• ROM comes on a small, factory made chip built into the motherboard.
• It contains all the instructions a computer needs to properly boot up. These instructions are called the BIOS (Basic input output system).
• As soon as the computer is powered on, the CPU, reads the instructions from ROM. This tells the CPU to perform self checks and set up the computer.
• Although the CPU can only read ROM, it is possible to update the BIOS on a ROM chip.

48
Q

Main memory

A

Any form of memory that is directly accessible by the CPU (except for cache and registers)

49
Q

Secondary storage

A

Any non-volatile storage mechanism not directly accessible by the CPU.

It’s where all the data (applications, user files and the OS) are stored when not in use.

• Solid state
• Optical
• Magnetic

50
Q

Solid state

A

• SSDs have no moving parts so are less likely to suffer damage.
• SSDs don’t make any noise.
• Access to data on SSDs is much faster than HDDs.
• SSDs are smaller and use a lot less power than HDDs.
• This makes them suitable for portable computers eg phones, tablets and laptops.
• BUT they are more expensive than HDDs.
• SSDs use electrical circuits to store data in millions of transistors (tiny switches) which can be either on or off.

Solid State Drives (SSDs), USB sticks, SD cards and other flash memory

51
Q

Optical

A
52
Q

Magnetic storage

A