This website houses notes from my studies at the University of Liverpool. If you see any errors or issues, please do open an issue on this site's GitHub.
Overview of the internet There are several different types of devices that make up the internet. Hosts - Devices/end systems that are at the edge of the network. Packet switches - Routers/switches that forward packets to other devices. Communication links - Fibre/copper/radio transmission links between devices. Networks - A collection...
Relational Databases Data is organised into tables. Tables have a table name. Tables have attributes (columns). All elements in a column are of the same datatype. Tables have tuples (rows). Each table has a schema. This lists the attributes of a table e.g: Items(name,price,number) Tables Tables typically have: Few columns...
This lecture is targeted at coursework 1.1. Requirements Requirements can be functional: What the system should do. Provide a login facility that uses a username and password. They can also be non-functional: Constrains on how the functions are provided. Username must be longer than six characters. Non-functional requirements don’t concern...
Running Example - Supermarket The example for the course is a fake supermarket called CS Store. It is initially based in Liverpool but will become a national company. Relational DBMS Components A DBMS is a database management system. flowchart TD QC <-.-> B ua[User/Application] --> QC[Query Compiler] --> EE[Execution Engine]...
Question 1 - Memory Management Unit Which component of the CPU manages the storage and retrieval of data from main memory? Base register Cache ALU MMU Accumulator Look here for more information about memory management. Question 2 - Principle Components of an Operating System Which of these is not one...
The Compilation Process The compilation process is normally broken down into the following major steps: Lexical Analysis Syntax Analysis (Parsing) Semantic Analysis Code Generation Code Optimisation Lexical Analysis The text of the program is converted into a sequence of tokens, representing distinct elements of the program: Numbers Letters Symbols Variable...
A grammar is a set of syntactic rules. Syntactic rules define syntactic constructions in terms of other syntactic constructions: Some of which need to be defined themselves. Some of which are already defined. Constructions can be terminal (self-contained), or non-terminal (depend on other constructions). Hierarchy A grammar defined correct sentences...
Each HLL has three components: Lexical Components (tokens) Syntactical Components (structure) Semantic Components (meaning) Lexicon The lexical component is a list of all the legal words (elementary expressions) in the language, together with information about each word. Example In Java import, public and else are legal words. They go together...
Compilers Take a source program and translates it as a whole into machine code. The process of translation and execution are separate. Interpreters Take one instruction at a time, determine its function and then carries out those instructions. Source program analysis and execution are interlaced. No binary is generated. Compilers...
Frame Allocation There is a fixed amount of free memory that must be allocated among all processes. We needed to determine how many frames each process should get. Each process will need a minimum number of pages. This is dependant on the architecture and its supported features. Frames contain a...