Computer Systems Flashcards

1
Q

Application software

A

name given to programs that
complete a specific task for the user

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Operating system

A

The OS allows the user to control the computer white hiding its complexity
Manages memory, schedules and processes taska and handles errors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Utility programs

A

Utility programs performer housekeeping tasks like data backup or encryption or compression

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Library programs

A

These contain pre written code that programmers can use to perform common tasks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Translators

A

Translators convert code from one programming language into another so the procesor can excute the instruction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Main functions of an operating system

A

-hide hardware complexity from user
-to handle interupts
-allocate cores to proccessors
-determine what areas of memory are used for what purpose
-manages communication between processors and I/O devices
-manage power consumption
-Installation of new software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Memory management

A

Keep track of each byte in a computers memory and decides how much memory should be allocated

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Processor scheduling

A

Assigning proccesors to a cause

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

File management

A

Keeps track of all the files in the computer, maintaining their structure and organization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Resource management

A

Allocation of ram for a resource

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Security management

A

Ensuring OS integrity, confidentiality and availability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

User management

A

Keeps track of who is using the system and what resources they have access to

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Machine code

A

Uses binary digits to reprezentacji instructions. It directly controls the computer’s procesor, providing full control over the system but making it extremely diffucult to write and debug

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Assembly language

A

Uses short, human readable mnemonics to communicate instructions. These mnemonics are specific to the procesor and need to be translated into machine code to be executed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Advantage of assembly language

A

+more compact
+less error prone

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ad’s of machine code

A

+No translator needed
+Programmers arent restricted using machine code
+Makes fast and efficient use of the computer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Disad’s of machine code

A

-Extremely diffcult to work with and for humans to understand
-Very diffcult to amend, find errors
-Operation codes and memory addresses must be remembered

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Low level language- portability

A

Not portable. Programs are written for specifc hardware and cannot run on other types of processors without modification

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

High level language- portability

A

Portable. Programs are not specific to any processor and can be used across different types of hardware once compiled or interpreted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Low Level- Ease of use

A

Difficult for humans to understand. Requires knowledge of hardware and binary representation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

High Level - Ease of Use

A

Easy to use. Uses natural language elements and symbols familar to most users

22
Q

Low Level - Ease of Debugging

A

Errors are hard to spot and fix. Involves tracing each instruction in binary and mnemonics

23
Q

High Level - Ease of debugging

A

Easier to debug due to clear syntax, structured commands and helpful debugging tools built into high level language environments

24
Q

Low Level - Ease of execution

A

Executes quickly as instructions are directly processed by the CPU

25
Q

High Level - Ease of execution

A

Requires a compiler or translator to translate into machine code before execution, making it slower but easier to implement complex tasks

26
Q

Compiler

A

Translates the entire program code into machine code at once

27
Q

Compiler - Process

A
  • High level program is taken as source code
    -The source code is then checked for errors
    -The whole code is translated at once
    -Once compiled, the program can run without the need for any other software (unlike interpreters)
28
Q

Interpreter

A

Translates high level code line by line, checking for errors at each step and stopping when an error is found

29
Q

Interpreter - Process

A

-Translates code line by line
-Check for errors as its translated
-As soon as an error is found, the translation stops
-Both the program source code and interpreter must be present (making the source code vulnerable as it is easily accessible)

30
Q

Java program

A

A set of instructions written in high level language to perform a specific task

31
Q

Bytecode

A

A low level, platform independent code that is generated from the java program and is executed by the java virtual machine (JVM)

32
Q

imperative high level language / Procedural language

A

Focuses on describing how a program operates step by step

33
Q

Compiler + intermediate code

A

A compiler that uses an intermediate language will translate high-level code into an intermediate language such as bytecode and then use a virtual machine to execute the bytecode on different processors. Each different processor instruction set will have its own
virtual machine.

34
Q

entity

A

thing about which data is to be stored

35
Q

Attributes

A

characteristics or other information about entities

36
Q

Why are databases normalised?

A

so that they can be efficient without any compromise to the integrity of their data. Normalising databases involves ensuring that entities contain no redundant or repeated data.

37
Q

1NF

A

When a database conforms to first normal form, it contains no repeating attributes. The database’s data can be referred to as atomic (meaning that no single column contains more than one value).

38
Q

2NF

A

In order to meet second normal form, a database must also satisfy first normal form and have partial key dependencies removed

39
Q

Partial key dependency

A

occurs when one primary key determines some other attribute

40
Q

3NF

A

In order to meet third normal form, in addition to conforming to second normal form, a database must have no non-key dependencies

41
Q

A database that meets third normal form can be described as follows

A

All non-key attributes depend on the key, the whole key and nothing but the key

42
Q

SQL SELECT

A

SELECT_
FROM_
WHERE_
ORDER BY_(optional)

43
Q

SQL UPDATE

A

UPDATE_
SET_
WHERE_

44
Q

SQL DELETE

A

DELETE FROM_
WHERE_

45
Q

SQL INSERT

A

INSERT INTO_
VALUES_

INSERT INTO Cars (Model, Year, Manufacturer)
VALUES (“E-Type”, 1970, “Jaguar”)

46
Q

SQL *

A

EVERYTHING

47
Q

Relational databases

A

A database where seperate tables are made for each entity and relationships between entities are represented by foreign keys.

48
Q

Client server database

A

A system that provides simultaneous access to the database for multiple clients

49
Q

Commitment ordering

A

Type of timestamp ordering that also takes into consideration the precedence of each transaction over other simultaneous transactions

50
Q

Integrity

A

The idea of keeping a database consistent by ensuring that any changes made to data or relationships associated with a table are accounted for in all the linked tables

51
Q

Record Locks

A

Used to prevent simultaneous access to data in a database by locking a record when it is edited or updated

52
Q

Timestamp Ordering

A

A technique to handle concurrent accesss by executing transcations from multiple users based on the value of their associated timestamp. Each transcation receives a timestamp whenever it begins