Computer Systems

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/47

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

48 Terms

1
New cards

external hardware components

used to get data into/out of the system, peripherals, I/O devices

2
New cards

internal hardware components

processing and storage devices

3
New cards

hardware

physical components of the computer

4
New cards

software

all of the programs that run on the computer

5
New cards

types of software

application and system

6
New cards

application software

programs that perform specific tasks that would need completing even if computers didn’t exist

user-oriented tasks

7
New cards

system software

programs that are concerned with the more technical aspects of setting up and running the computer

machine-oriented tasks

8
New cards

types of system software

  • utility programs

  • library programs

  • operating system

  • translators

9
New cards

utility programs

  • designed to help configure/maintain/optimise the computer

  • compression software, anti-virus software, back-up software, registry cleaners

  • enhance the use of your computer though your computer will work without them

10
New cards

library programs

  • code, data and resources that can be called by other programs

  • include pre-written code and subroutines

  • tend to be critical for the application for which they were built

11
New cards

operating system software

  • collection of software designed to act as an interface between the user and the computer

  • manages the overall operation of the computer

12
New cards

resource management

how an OS manages hardware and software to optimise the performance of the computer

13
New cards

types of resource management done by OS

  • scheduling

  • managing I/O devices

  • memory management

  • file management

14
New cards

scheduling

a technique to ensure that different users or different programs are able to work on the same computer system at the same time

15
New cards

managing I/O devices

  • accessing some devices is a relatively slow process compared to the speed at which the processor can handle requests and there are likely to be competing requests where several processes are waiting for the same device

  • rather than wait for each process to end before it can continue, the OS can create a queue of commands that are waiting for the device and then handle each request in sequence or based on priority

16
New cards

memory map (created by OS)

  • shows which blocks of memory have been allocated to each task

  • means that OS can control more than one task in the RAM at any one time

17
New cards

memory management

  • stores details of all the unallocated locations in a section of memory known as the heap

  • when an application needs some memory, it is allocated from the heap

  • when an application has finished with the memory location, the now unneeded memory locations return to the heap

18
New cards

virtual memory

  • involves using secondary storage to store code or files that would normally be held in RAM

  • the OS then treats that part of the secondary storage as if it is part of the RAM

19
New cards

paging

  • involves holding a central block of code in RAM

  • other sections of code (’pages’) are loaded from the secondary storage as and when they are needed

  • this method allows very large applications to run in a small section of RAM, which frees up memory for other applications to use

20
New cards

file management

  • OS uses folders and directories- allows the user to group similar files together

  • folders are arranged in a hierarchical structure like a tree

21
New cards

source code

code that programmer creates, not yet been compiled into executable file

22
New cards

object code

compiled code that can be run as an executable on any computer

23
New cards

machine code

very similar to the instruction set of a computer, machine-oriented

24
New cards

advantages of machine code

  • instructions executed very quickly because they can be used directly by the processor

  • precise control over hardware

25
New cards

disadvantages of machine code

  • difficult to track down errors and bugs in long series of 1s and 0s

  • written for a specific processor, therefore unlikely to be very portable- it will only work on a computer with the same type of processor as it was written for

  • writing programs in machine code is a very time-consuming and tedious process

26
New cards

assembly code

a way of programming that involves writing mnemonics (short codes used as instructions), one-to-one relationship with machine code

27
New cards

advantages of assembly

  • direct manipulation of hardware

  • more concise than machine code

  • instructions are more closely tied to the machine's instruction set, allowing for highly optimised and faster execution

28
New cards

disadvantages of assembly

  • requires a deep understanding of the specific processor architecture and its instructions, making it more complex and difficult to learn

  • highly specific to a particular processor architecture so generally not portable

  • very time-consuming- requires the programmer to manage low-level details, such as memory addresses and register manipulation

29
New cards

main uses of assembly code

  • embedded systems - low level of interaction required with hardware, processor may be slow and have limited memory so efficiency of assembly is required

  • real-time applications- they need to respond quickly to inputs

30
New cards

high-level language

a programming language that allows programs to be written using English-like keywords and that is platform-independent, problem oriented

31
New cards

why are there so many different languages

different languages are used for specific problem types

some languages are developed for specific hardware devices

32
New cards

advantages of high-level languages

  • meaningful identifier names makes it easier to understand

  • use fewer lines of program code

  • often provide built-in functions and libraries that can simplify the programming process, leading to faster development

33
New cards

disadvantages of high-level languages

  • often involve translation or interpretation, adding layers of processing compared to low-level languages, which can lead to slower execution speeds

  • less control over hardware

  • may consume more system resources

34
New cards

imperative/ procedural language

  • based on giving the computer commands or procedures to follow

  • instructions executed in a programmer-defined order

  • useful for games programming

  • library of pre-written functions available

35
New cards

object-oriented language

  • encapsulates instructions and data together into objects

  • objects can be further grouped into classes

36
New cards

declarative/ logical/ functional language

  • declare or specify what properties a result should have

  • describe what the program should accomplish rather than how it should accomplish it

  • facts and rules rather than instructions

  • clear link to mathematical logic

  • useful for database query, creating a website

37
New cards

interpreter

  • translates high-level languages by reading each statement in the source code and immediately performing the action

  • errors are reported as soon as they are encountered

38
New cards

advantages of interpreter

  • you do not need to compile the whole program in order to run sections of code

  • code is platform independent and can be translated on any computer that has a suitable interpreter

  • easier to debug

39
New cards

disadvantages of interpreter

  • no matter how many times a section of code is revisited in the program, it will need translating every time

  • source code must be distributed to users

  • can only be translated and therefore executed on a computer that has the same interpreter installed

40
New cards

compiler

  • translates high-level languages by converting all of the source code into object code before the program is executed

  • errors reported in a batch

41
New cards

advantages of compiler

  • once the source code has been compiled, you no longer need the compiler or the source code

  • already in a format that the processor can directly execute so executes faster

  • source code not visible to user and difficult to reverse engineer

42
New cards

disadvantages of compiler

  • whole program has to be converted from source code to object code every time you make an alteration to your code- can take a long time to debug

  • object code is machine-dependent - the object code will only run on a computer that has the same processor

43
New cards

bytecode

an instruction set used for programming that can be executed on any computer using a virtual machine

44
New cards

how does a virtual machine work

  • can emulate the architecture of a computer, meaning that the source code written using bytecode can be translated into a format that can be executed on any platform

  • rather than translating source code into platform-specific machine code, it is translated into an intermediate code

  • intermediate code can then be executed by the virtual machine

45
New cards

why should you simplify boolean expressions

used to create logic gates, simplifying the expression also simplifies the actual circuit, reducing the number of components needed making it cheaper, more efficient and more reliable

46
New cards

advantage of using De Morgans law

  • simplifies statements so that only NAND or NOR gates are used

  • makes it simpler to create logic gates and circuits- easier to design and build microprocessors

47
New cards

edge-triggered d-type flip-flop

a memory unit / used to store data

48
New cards

how does an edge-triggered d-type flip-flop work

  • each pulse of the system clock has a rising edge and a falling edge

  • clock used to synchronise operation of a group of flip-flops

  • output is updated to reflect current status of input