Fundamentals of Computer Systems and Software

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

1/71

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.

72 Terms

1
New cards

Hardware

Physical components of a computer system.

2
New cards

Software

Programs enabling computer functionality. It runs on the hardware.

3
New cards

System Software and what's included (4)

Software required to operate hardware, so it works together for the computer to function. It includes the

-operating system

-utilities

-programme translators

-libraries

4
New cards

Application Software

Programs completing tasks for the user. It's what apps are used to make the computer useful, e.g. video editing or a web browser app

5
New cards

Operating System

Controls the operation of the hardware in the computer. It's the platform that other software runs on.

6
New cards

Utility Programs and 4 areas it overviews

Software optimizing computer performance and tasks. such as a disk defrag etc.

-maintenance

-optimisation

-configuration

-analysis

7
New cards

Disk Defragmenter

Reorganizes fragmented files for efficient storage.

8
New cards

Virus Checker

Scans for and removes computer viruses.

9
New cards

Libraries

Pre-compiled / prewritten programs and functions available for reuse.

10
New cards

Translators

Convert programming languages into executable code (To assembly code or straight to machine code)

11
New cards

Compilers

Translate high-level code into machine code, al

12
New cards

Interpreters

Execute code line-by-line at runtime.

13
New cards

Assemblers

Convert assembly language to machine code.

14
New cards

Special-Purpose Software

Designed for specific tasks or functions.

15
New cards

Bespoke Software

Custom software tailored to user requirements.

16
New cards

Virtual Machine

Emulates hardware to run software environments.

17
New cards

Memory Management - OS task

recording how memory in the computer is divided and identified so that memory is allocated efficiently between processes that are running

Controls computer memory allocation and usage.

18
New cards

Resource Management

Oversees hardware resources like CPU and memory. optimised the resourced available.

19
New cards

User Interface

Facilitates user interaction with the computer. In the interest of the person using the computer and their easy use.

20
New cards

Programming Language Translators

Convert code between programming languages.

21
New cards

RAM

Temporary storage for active programs and data. any current running programs grab from the pool of RAM

22
New cards

Virtual Memory

Hard disk space used as additional RAM. borrowing disk space for current running programs

23
New cards

Processor Scheduling - OS task

Allocating CPU time among multiple tasks.

24
New cards

Scheduler

Module that optimizes processor time usage.

25
New cards

Multi-user System

System allowing multiple users to operate simultaneously.

26
New cards

Response Time

Time taken to respond to user requests.

27
New cards

Interrupt handline - OS task

dealing with requests that disrupt the processor's work

28
New cards

Command Line Interface

Text-based interface for user commands.

29
New cards

Graphical User Interface

Visual interface with windows and icons.

30
New cards

Embedded Systems

OS designed for specific hardware applications.

31
New cards

Machine Code

Binary instructions directly executed by the CPU.

32
New cards

Opcode

Operation code indicating the instruction type.

33
New cards

Assembly Code

Low-level language using mnemonics for instructions.

34
New cards

High Level Programming Language

Code that abstracts machine instructions significantly.

35
New cards

Bletchley Park

Site of early computer development during WWII.

36
New cards

Enigma Code

Cipher used by Germans in WWII.

37
New cards

Memory Cell

Basic unit of storage in a computer.

38
New cards

Imperative Languages

High-level languages with command-based instructions.

39
New cards

FORTRAN

First high-level programming language for formulas.

40
New cards

Imperative Programming

Program structure as sequential instructions modifying memory.

41
New cards

Functional Programming

-Uses functions and mathematical operations to input and output data.

-There are no mutable variables, so it is good for process big data with no risk of changing it.

42
New cards

Assembler

Converts assembly code to machine code.

43
New cards

Compiler

Translates high-level code into machine code.

44
New cards

Interpreter

Translates and executes code line-by-line.

45
New cards

Bytecode

Intermediate code executed by a bytecode compiler.

46
New cards

Logic Gates

Devices that perform logical operations on inputs.

47
New cards

Boolean Algebra

Mathematical structure for binary variables and operations.

48
New cards

De Morgan's Laws

Rules relating conjunctions and disjunctions in logic.

49
New cards

X · 0 = 0

Multiplication with zero results in zero.

50
New cards

X · 1 = 1

Multiplication with one retains the value.

51
New cards

X + 0 = X

Addition with zero retains the value.

52
New cards

X + 1 = 1

Addition with one results in one.

53
New cards

X · X = X

A variable ANDed with itself equals itself.

54
New cards

X + X = X

A variable ORed with itself equals itself.

55
New cards

D-type Flip-Flops

Memory cells that store one bit, triggered by clock.

56
New cards

Concatenated Adder

Combines multiple adders for n-bit binary addition.

57
New cards

Positive Edge-Triggered

Changes state only at rising clock edges.

58
New cards

Characteristics of high-level programming languages (5)

- Syntax that is easy for humans to understand

- Syntax that uses command words similar to natural human language

- A single line of code can accomplish multiple tasks

- Allow the programmer to focus on what the program is trying to achieve rather than how the computer or specific hardware operates

- Source code is translated into machine code for the computer to process

59
New cards

Advantages of high-level languages

- Easier to write statements as they are closer to the human language

-it is Portable, so can compiled/translated to be run on different devices

- Libraries can be downloaded so coders can utilise pre-written code

60
New cards

what imperative and procedural refer to

procedural is a type of imperative language.

They both describe the function or method the computer should use to solve a problem.

It's code that runs one after another. procedural refers to the use of breaking it into functions/procedures.

61
New cards

Built-in functions

Used by high level languages. It's functions that are prewritten, so can be used repeatatively by programmers.

They don't need to know the complexity of the how the function operates, but just know that it does the job. For example, the 'Print' function in Python.

62
New cards

Object Oriented Pillars

Abstraction, Encapsulation, Polymorphism, Inheritance

63
New cards

Secondary Storage Management - OS task

tracking where files and programs are stored and which parts are available for storage, and managing files and folders based on user permissions

64
New cards

Input/Output device management - OS task

ensuring efficient communication with devices and managing functionality issues

65
New cards

Security - OS task

Levels of authority and access management. For example a computer user login, Admin locks, Limited file access.

66
New cards

Peripheral Devices

all the other external, physical components of the computer such as the input and output devices (mouse, keyboard, webcam etc)

67
New cards

a table of CRUD, HTML and SQL equivalents

CRUD

CREATE RETRIEVE UPDATE DELETE

SQL

CREATE SELECT UPDATE DELETE

HTML

POST GET PUT DELETE

68
New cards

REST

architecture that implements CRUD between apps.

It allows them to be programmed individually but have a successful interaction

69
New cards

Websockets

Provides a connection where clients and servers can send data bi-directionally at any given time. used for real-time applications.

70
New cards

Pushy Servers via Websockets

The websocket provides a connection where data can be sent without https. This means the heavy headers are not needed

- reduced latency and traffic

-no need for security checks

71
New cards

Websocket Protocol - how it functions

Uses the Transport layer of the TCP/IP stack

WebSocket use port numbers (80 or 443 is encrypted) to the firewall acts like its regular web traffic.

It transports messages made of one or more frames. these are reconstructed when recieved

72
New cards

Frames within a WebSocket message

Binary frames

text frames - images

Ping/Pong frames - check connection

Control Frames - end connection e.g.