Looks like no one added any tags here yet for you.
Hardware
Physical components of a computer system.
Software
Programs enabling computer functionality. It runs on the hardware.
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
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
Operating System
Controls the operation of the hardware in the computer. It's the platform that other software runs on.
Utility Programs and 4 areas it overviews
Software optimizing computer performance and tasks. such as a disk defrag etc.
-maintenance
-optimisation
-configuration
-analysis
Disk Defragmenter
Reorganizes fragmented files for efficient storage.
Virus Checker
Scans for and removes computer viruses.
Libraries
Pre-compiled / prewritten programs and functions available for reuse.
Translators
Convert programming languages into executable code (To assembly code or straight to machine code)
Compilers
Translate high-level code into machine code, al
Interpreters
Execute code line-by-line at runtime.
Assemblers
Convert assembly language to machine code.
Special-Purpose Software
Designed for specific tasks or functions.
Bespoke Software
Custom software tailored to user requirements.
Virtual Machine
Emulates hardware to run software environments.
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.
Resource Management
Oversees hardware resources like CPU and memory. optimised the resourced available.
User Interface
Facilitates user interaction with the computer. In the interest of the person using the computer and their easy use.
Programming Language Translators
Convert code between programming languages.
RAM
Temporary storage for active programs and data. any current running programs grab from the pool of RAM
Virtual Memory
Hard disk space used as additional RAM. borrowing disk space for current running programs
Processor Scheduling - OS task
Allocating CPU time among multiple tasks.
Scheduler
Module that optimizes processor time usage.
Multi-user System
System allowing multiple users to operate simultaneously.
Response Time
Time taken to respond to user requests.
Interrupt handline - OS task
dealing with requests that disrupt the processor's work
Command Line Interface
Text-based interface for user commands.
Graphical User Interface
Visual interface with windows and icons.
Embedded Systems
OS designed for specific hardware applications.
Machine Code
Binary instructions directly executed by the CPU.
Opcode
Operation code indicating the instruction type.
Assembly Code
Low-level language using mnemonics for instructions.
High Level Programming Language
Code that abstracts machine instructions significantly.
Bletchley Park
Site of early computer development during WWII.
Enigma Code
Cipher used by Germans in WWII.
Memory Cell
Basic unit of storage in a computer.
Imperative Languages
High-level languages with command-based instructions.
FORTRAN
First high-level programming language for formulas.
Imperative Programming
Program structure as sequential instructions modifying memory.
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.
Assembler
Converts assembly code to machine code.
Compiler
Translates high-level code into machine code.
Interpreter
Translates and executes code line-by-line.
Bytecode
Intermediate code executed by a bytecode compiler.
Logic Gates
Devices that perform logical operations on inputs.
Boolean Algebra
Mathematical structure for binary variables and operations.
De Morgan's Laws
Rules relating conjunctions and disjunctions in logic.
X · 0 = 0
Multiplication with zero results in zero.
X · 1 = 1
Multiplication with one retains the value.
X + 0 = X
Addition with zero retains the value.
X + 1 = 1
Addition with one results in one.
X · X = X
A variable ANDed with itself equals itself.
X + X = X
A variable ORed with itself equals itself.
D-type Flip-Flops
Memory cells that store one bit, triggered by clock.
Concatenated Adder
Combines multiple adders for n-bit binary addition.
Positive Edge-Triggered
Changes state only at rising clock edges.
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
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
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.
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.
Object Oriented Pillars
Abstraction, Encapsulation, Polymorphism, Inheritance
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
Input/Output device management - OS task
ensuring efficient communication with devices and managing functionality issues
Security - OS task
Levels of authority and access management. For example a computer user login, Admin locks, Limited file access.
Peripheral Devices
all the other external, physical components of the computer such as the input and output devices (mouse, keyboard, webcam etc)
a table of CRUD, HTML and SQL equivalents
CRUD
CREATE RETRIEVE UPDATE DELETE
SQL
CREATE SELECT UPDATE DELETE
HTML
POST GET PUT DELETE
REST
architecture that implements CRUD between apps.
It allows them to be programmed individually but have a successful interaction
Websockets
Provides a connection where clients and servers can send data bi-directionally at any given time. used for real-time applications.
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
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
Frames within a WebSocket message
Binary frames
text frames - images
Ping/Pong frames - check connection
Control Frames - end connection e.g.