Computer Systems 1 Flashcards
Define the term ROM.
ROM stands for read-only memory which is a permanent storage of memory located on the motherboard of a computer. ROM contains the very first instructions when the computer is first switched on, and is involved in the computer’s bootstrap. ROM is non-volatile therefore memory is not lost once the computer is switched off.
Define the term RAM.
RAM stands for random-access memory which is a temporary storage of instructions and data. RAM is used in order to hold data and instructions that are currently being executed by the processor. RAM is volatile therefore memory is lost once the computer is switched off. RAM is a form of primary memory, therefore accessing memory from RAM is much faster than accessing memory from the hard disk.
List 10 uses of GPUs.
- Render graphics.
- Run simple, repetitive calculations.
- Oil exploration.
- Weather modelling.
- Architecture and design modelling.
- Machine learning.
- Linear algebra.
- Statistical analysis.
- Stock option predictions.
- Gravitational field theory.
List 4 characteristics of high performance CPUs.
- A high performance CPU can contain multiple cores where each core can fetch, decode and execute its own instructions.
- A high performance CPU can have a fast clock speed.
- A high performance CPU can have the ability to use pipelining.
- A high performance CPU can have a large cache.
Explain the term paging.
Paging is a form of memory management where memory is divided into fixed size pages. Pages are physical divisions and they are made to fit sections of memory. Programs are split into fixed, equal sizes in order to fit into available pages in memory.
Explain the term segmentation.
Segmentation is a form of memory management where memory is divided into segments of variable size. Segments are logical divisions where programs are divided into complete sections. Segmentation places sections of programs into available free spaces in memory, leaving small areas of free space.
Why would segmentation be recommended over paging?
Paging takes no account of the contents of the program and splits the program into fixed sizes. Therefore it is possible for it to separate the instructions inside of a looping conditioning place them into different pages which wouldn’t be efficient. It is better to keep those instructions together in memory which is why segmentation can be considered a better choice.
Explain two advantages of memory management.
- Memory management allows programs to run despite insufficient memory.
- Pages and segments are stored on the hard disk and are transferred into memory when needed.
Explain the purpose of a multi-tasking operating system.
A multi-tasking operating system allows the user to have more than one application or program running at the same time.
Explain the purpose of a multi-user operating system.
A multi-user operating system allows more than one person to use a computer at the same time. The computer will manage the user’s various permissions and access rights when they log on. The server operating system software will handle the requests of multiple people using different computers on a network at the same time.
Explain the purpose of a distributed operating system.
A distributed operating system combines the processing power of multiple computers across a network for a single task. The operating system controls and coordinates the computers, presenting them to the user as if they were a single system.
Explain the purpose of an embedded operating system.
An embedded operating system is a computer system that exists in a number of commonly used devices.
Explain the purpose of a real-time operating system.
A real-time operating system is used in safety-critical environments where processes are guaranteed to execute within a known time frame.
List 3 advantages of a client-server model.
- It is easy to manage file security in one location.
- It is easy to back up shared data in one location.
- It is easy to install software updates to all computers in one location.
List 3 disadvantages of a client-server model.
- It can be expensive to set up and maintain.
- IT specialists are required for maintenance which can be expensive.
- Users will lose access if the server fails, therefore the server is a central point of failure.
List 3 advantages of a peer-to-peer model.
- It is very easy to set up and maintain.
- Specialist staff aren’t required for installation and maintenance.
- It is cheaper to set up than a client-server model, since there are no expensive hardware involved.
List 3 disadvantages of a peer-to-peer model.
- The network is less secure.
- Users will need to manage their own backups.
- It can be difficult to maintain a well-ordered file store.
Define the term firewall.
A firewall is a piece of hardware or software, or both, configured to monitor, filter and block traffic travelling to and from a network.
List 3 purposes of a firewall.
- A firewall may prevent unauthorised traffic from outside a LAN.
- A firewall may prevent users in a LAN from accessing parts of the internet prohibited by the company they work for.
- A firewall can also inspect data travelling across it to see if it looks suspicious, therefore protecting the company’s data and intellectual property.
Define the term linked list.
A linked list is a dynamic data structure constructed from nodes and pointers. Each node consists of data and a pointer, and the pointer gives the location of the next node. A linked list provides a foundation upon which other data structures can be built, such as stacks, queues, graphs and trees.
Explain how to remove an item from a linked list.
In order to remove [name], you first need to check if the linked list is empty. If there is no start node, then output and report an error. The start node is [name1] and the linked list is not empty. The first item [name1] is not the item to be deleted, so the start pointer stays pointing at the first node.
You proceed through the linked list from [name1], comparing each subsequent item until the item to be deleted is found. [name] is found at the [position_node], so the previous node’s pointer [name2] is updated to bypass [name] and point to the next node [name4]. [name] is now ignored and now the linked list follows the order [name1], [name2], [name3].
Explain how to add an item to a linked list.
In order to add [name], you first need to check if there is free memory for a new node to hold [name]. If there is no free space, then output and report an error. The new node [name] is created and is placed into the next free space. You then need to check if the linked list is empty. The linked list is not empty so [name] doesn’t become the first node. You then need to check if the new node should be placed before the first node. [name] comes after [name1] so you proceed through the linked list from [name1], comparing each subsequent item, until the position where [name] will be added is found, after [name4]. The last node [name4] remains in its original position and now points to the new node [name], and the new node’s pointer [name] now points to null since it doesn’t point to another item.
List 6 uses of link lists.
- Linked lists can be used by operating systems managing a processor to store process block in a ready state.
- Linked lists can be used for image applications to switch between previous and next images.
- Linked lists can be used for music applications when a listener stores tracks in a playlist.
- Linked lists can be used for web browsers to navigate between previous and recently visited web pages.
- Linked lists can be used for hash table collision resolutions as an overflow.
- Linked lists can be used to maintain a file allocation table of linked clusters on secondary storage.
List 2 uses of hash tables.
- Hash tables can be used by file systems, linking a file name to the path of the file.
- Hash tables can be used for identifying the keywords in a programming language during compilation.
Explain the reason why a hash table may be better suited than a linked list.
Hash tables can be used in situations where items in a large data set need to be found and accessed quickly. Hash tables have a constant time complexity O(1) whereas linked lists have a linear time complexity O(n). This is because a linked list requires every node to be checked until the desired item is found, whereas a hash table enables direct access to the location of the item. Therefore, a linked list will take longer to search through as more nodes are added, whereas the time it takes to search through a hash table won’t change as more nodes are added.
List 4 purposes of file compression.
- Reduce the size of files.
- Reduce download times.
- Reduce storage requirements.
- Make best use of bandwidth when transmitting data, therefore data usage for the person on the receiving end is less expensive.
List 2 uses of lossless compression.
- Lossless compression is used for text documents.
- Lossless compression is used for executable programs.