4. Software Flashcards

1
Q

Managing Security

who does and how do they

A

OS organises user logins and passwords which may include password protection and control access rights

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

Access rights

A

If a computer is used by more than one user, each user should only be able to see their own files. Users and system admin have different levels of access rights. Some users may be allowed to access files but not edit them.

May include encryption of some files

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

Machine code

A

Computers represent everything in binary

Program instructions once converted to binary are known as machine code, eg.
1001 1100 0000 1110 1101 1010 1101 1011 0101 1001

Each different type of processor has its own set of machine code instructions, a typical instruction in a simple processor may look like:
Opcode: 6 digits, 010110
Register: 2 digits, 01
Operand: 8 digits, 0011 1010

The Opcode is basic machine instruction like ADD, SUBTRACT, LOAD, STORE and the operand is the value or location of the value to be operated on.
All arithmetic is carried out in the register.

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

High level code

A

High level codes typical instructions look like math or english and are easy to guess or understand the meaning. Python, Delphi and Java are known as high level codes

High level languages have complex statements and program structures can not easily be translated into machine code. Each statement in high level code represent several machine code statements

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

Assembly language

A

Going from machine to assembly code was very time consuming, and is sometimes called a “first generation language”.
Assembly is the “second generation” eg.
LDA 1 Mark1 ; Load contents of Location17 into Register 1

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

Instruction Set in terms of processor handling

A

Processors vary in the number and type of instructions they can process.
They cannot deal with WHILE, THEN etc.
Compare and Branch instructions are used test conditions and jump to another if true

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

Assembler

A

A computer can not process assembly language instructions directly
The assembler is a program which translates assembly code into machine language

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

Compiler

A

A program the translates high level language program (source code) into machine code

A compiler translates every statement in the program into machine code, called object code.

If the compiler hits a syntax error it will not translate the statement and no code is produced

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

Interpreter

A

A type of program which translates high level program into machine code

It works by translating line by line. It translates one line and if it has no syntax errors it executes it it moves on to the next line.

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

Compiler vs. Interpreter

A

Compiler:
- Has to correct all syntax errors before running
- Fast execution of object code
- Once object code is produced it can be run and
installed on any computers
- A user can not see source code after purchase

Interpreter:
- Good for program development as parts of the program
can be executed despite having errors
- Slow execution as every line must be translated before
execution
- A user must have the programming language and
interpreter on their computer
- A user can make changes and sell your program after
purchase

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

Advantages and Uses of Assembly code

A

Advantages:
- Manipulation of individual bits and bytes
- Runs very fast
- Occupies less memory than code compiled from a high
level language

Uses:
- Hardware specific code like driver devices telling the
computer how to communicate with eg. boot code in
ROM, printer, scanner etc.
- Control programs in embedded systems in washing
machines, modems, routers, cars, digital watches etc.
- Real time applications requiring instant response,
network software, medical equipment

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

Importance of data

A

Millions of organisations keep data about their customers, members and products.

Banks, governments, health departments, shops, schools and and exam boards all keep data on computers

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

Some threats to data

A

Accidental damage:

Data entry errors
Program errors
Errors in procedure
Accidental loss or deletion
Hardware failure, damage or crash
Natural disaster:
- Fires, floods etc.

Malicious actions

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

Backups and archives

A

Backups are made regularly so lost or corrupt data can be restored.

Backups should be stored in a secure location offsite. Employees taking home a backup tape or mirroring all transactions on a second remote computer.

Archived data is data that is no longer needed for immediate processing but needs to be kept

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

Cloud storage

A

Holding all company data in “the cloud” is becoming more and more popular and considered safer than data stored in an office.

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

Physical security

A

Data needs to be kept physically safe from intruders, in large companies by…
Issuing staff with ID
Having all visitors sign in on arrival and having escorts around the office
Keeping sensitive areas locked
Security cameras
Security guards

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

Physical Security and Biometrics

A

Locks on doors
Security Guards
Biometrics:
- Fingerprint recognition
- Retina scanner
- Iris recognition
- Voice recognition

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

Audit trails and logs

A

Audit trail maintains a record of all activity on a computer system
The time and date a user accesses the system will be logged as well as their activity
Assists in detecting security violations
Help system admin ensure the system has not been harmed by hackers, insiders or technical problems

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

Acceptable use policies (AUP)

A

Many businesses and educational facilities require employees or students to sign an AUP before being given a network ID

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

Secure passwords

A

Minimum of 8 characters
Mixture of numbers, lowercase and uppercase characters
Include symbols
Do not include name, DOB or personal details

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

Phishing

A

A phishing email is one that tricks you into handing over your personal or sensitive information
You receive an email leading you to a bogus site to enter your details from where they are captured by phishers

What to look out for:
Generalised impersonal greeting
Sender’s address, variation from original
Forged link, roll mouse over link to check
Request personal information, legit sites do not do this
Sense of urgency
Poor spelling and grammar

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

High level languages(4)

A

Close to human language
Independent of platform (works on different machines)
E.g. JAVA, Python, VB
Easier to correct errors

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

Low level languages(4)

A

Assembly
Machine Code
Works directly on the CPU
Can use machine specific functions

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

Low level language advantage(3)

A

Direct access to the processor
Uses less memory
Executes instructions faster

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Translators(3)
Compilers Accumulators Assemblers
26
Compilers(6)
Translates whole program at once Creates an exe file No need to recompile Therefore allows faster execution List of errors created Optimizes source code
27
Interpreters(5)
Translates one line of code at a time Machine code directly executed Identifies error as soon as it finds one and stops Error must be fixed to continue Easier to debug
28
Assemblers(2)
Translates low level language into machine code - Only option for low level language programs
29
Errors(2)
Syntax - Logic
30
What is a computer program?
a list of instructions that enable a computer to perform a specific task
31
What is a translator?
convert a program into binary instructions that a computer can understand
32
What do high-level languages allow a programmer to do?
focus on the problem to be sold with no knowledge of the hardware and the instruction set of the computer that will use the program
33
What type of language is portable and can be used on different types of computer?
high-level languages
34
What do low-level languages relate to?
the specific architecture and hardware of a particular type of computer
35
What are assembly languages?
low-level programming language needs to be translated into machine code by an assembler
36
What is machine code?
binary instructions that a computer understands - no translation is required
37
What are the three types of translators?
compilers interpreters assemblers
38
What are compilers?
a computer program that translates a program written in high-level language into machine code so it can be directly used by a computer to perform a required task
39
What are interpreters?
a computer program that reads a statement from a program written in a high-level language, performs the action specified and then does the same with the next statement
40
What are assemblers?
a computer programs that translates a program written in an assembly language into machine code so that it can be directly used by a computer to perform a required task
41
What do compilers do?
translates a high level language program into machine code executable file of machine code produced one HLL statement –> several machine code statements compiled programs used without compilers distributed for general use
42
What do interpreters do?
executes a HLL one statement at a time no executable file of machine code produced one HLL statement –> needs several machine code instructions interpreted programs need interpreters used when a program is being developed
43
What do assemblers do?
translates a low level language into machine code executable file of machine code produced one low level language statement –> one machine code instruction assembled programs used without assemblers distributed for general purpose
44
What is software, and the two kinds of it?
Software is the programs running on a computer system, the two kinds are: Application Softwares For User Benefits System Softwares For Hardware and other software to operate. Game Engines; Utility Programs
44
What is the Operating System?
It is the essential software that links hardware and other software together and manages the computer system. Manages Hardware Manages Applications Creates a user Interface Provides a layer of security
45
What does the OS do?
User Management Peripheral Management File Management Memory Management Process Management
46
What is the User Interface, and the two kinds?
Command-Line Interface A shell responding to successive text commands More direct and compact Graphical User Interface uses Icons and other Visual Indicators
47
What is Process Management?
A single-tasking Operating System can only execute 1 process at a time, which means it needs to know when it must switch. Process Management includes interrupts. A multi-tasking OS still executes only 1 process but allows multiple apps to run by rapidly switching. An OS uses CPU time for the processes, and prioritizes them.
48
What is Memory Management?
When a program is opened, it needs to be copied into the RAM. The OS oversees the allocation and management of RAM space, and decides when virtual memory is needed.
49
What is Peripheral Management?
Peripheral Devices are supplementary hardware, like keyboards, printers and cameras. The OS uses device drivers, which convert the signals from the peripheral signals into a signal the OS can understand. A driver is an interface, which hides the complexities of the hardware.
50
What is User Management?
It is the management of usernames; passwords, and account creation. In multi-user OSs, there are user account controls.
51
What is File Management?
The OS manages records of all files and their location, and allows what each user can access.
52
What is Utility Software?
Utility Software analyses, configures, optimises or maintains a system.
53
What are the kinds of Utility Software?
Encryption Software Encrypts and Decrypts Files Data Compression Software Reduces File Sizes Backup Software Defragmentation Software File Converters Repairing Files Anti-Viruses Anti-Spyware
54
What is Backup Software?
Full-Backup: Creates copies of all files slower to backup, faster to restore Incremental Backup: Data created after previous backup is copied
55
What is Defragmentation?
Data is stored in hard disks wherever there is space, this can scatter the data. Defragging reorganizes related data, so they can be accessed faster - it makes the data continuous again.
56
What is Defragmentation Software?
Data in hard disks are written in whichever part is empty, this causes the data to be fragmented. Defragmentation rearranges the data so it becomes continuous again.
57
What are File Converters?
They change data from one format to another.
58
What is an Anti-Virus?
Anti-Virses detect and remove malware and prevent them from being installed as well as giving real-time protection. It doesn’t only protect from viruses.
59
What is Anti-Spyware?
Anti-Spyware may contain databases of known spywares.
60
What is a software model?
Software models are used to simulate aspects of the real world. It can be like weather forecasting, nuclear physics, economical forecasts.
61
How do you build a software model?
Work out what connects aspects of the real problem Make assumptions and simplify the problem
62
What are the two kinds of Programming Languages, and what is their main difference?
High-Level Programming Languages Low-Level Programming Languages High-Level Programming Languages are made to resemble human language, whilst Low-Level Languages are closer to what a computer might understand.
63
What are the Low-Level Programming Languages?
Machine Code Assembly Language
64
What are the High-Level Programming Languages?
Python Java C C++ Ruby
65
What are the Advantages and Disadvantages of a High-Level Programming Language?
Advantages: Similar to Human Language Easier to Understand Easier to spot errors Portable Disadvantages: They have to be translated into machine code They tend to be slower They can be inefficient
66
What are the Advantages and Disadvantages of a Low-Level Programming Language?
Advantages: Efficient Quick to run Uses less memory Can directly change a computer’s hardware Disadvantages: Difficult to understand More specific to a processor harder to spot errors
67
What is Assembly Language?
Assembly Language uses Mnemonics, although it is Low-Level, it still needs to be translated. it is also specific to hardware.
68
What is a Translator and the three kinds?
A translator converts code from one language into the equivalent code for another language. The kinds are: Assemblers Compilers Interpreters
69
What are Assemblers? And what do they do?
Assemblers convert assembly code into machine code. It turns assembly language into object code then into machine code It detects errors in the first phase It is Fast but slower than a compiler
70
What are Compilers? And what do they do?
Scans the whole code Has an executable file Can be distributed, but code is hidden Faster Errors are shown after scanning the whole code
71
Operating systems
An operating system is a collection of programs that form the basis of the main system software found in a computer system. An operating system provides a platform for application software to be installed.
72
Interrupts
An interrupt is an electronic signal from hardware or software that requests the processor’s attention. An operating system contains a program called an interrupt handler. The role of the interrupt handler is to prioritise the interrupt signals as it receives them and places them in a queue to be handled. Interrupts can be hard or software based, are handled by the operating system, allow a computer to multitask, does not work out priority and a computer cannot function without interrupts. ––––––––––––––––––––––––– Interrupts are signals sent to the CPU by external devices to indicate that an event needs immediate attention They tell the CPU to stop what it is currently doing and give priority to the interrupt Hardware interrupts are generated by hardware devices eg. printer out of paper Software interrupts generated by programs eg. divide by zero
73
Software Software Categories Software types
Categories: System software, Application software System software: Programs that are needed to run the computer eg. windows Application software: Programs that are needed to perform tasks for the user Free software, freeware, shareware: Most commercial software has to be paid for Using an unlicensed copy of software is a copyright infringement and is illegal Some software is free of charge and allows users to study, modify and distribute it
74
Free software
Free software is software that comes with permission to use, copy and distribute it with modification either gratis or for a fee
75
Open source software
Open source software is free of charge and the source code is given to a user to use in any way they like
76
Freeware
Freeware may be used without payment it may permit redistribution but not modification as the source code is not available. Examples: Google chrome Skype Adobe reader
77
Shareware
A software that is initially free on a trial basis The software is copyright and after trial must be paid for, the source code is not available and it can not be modified but is often encouraged to be made copies of and shared to help distribute it.
78
Operating Systems System software types Examples of OS Definition and function
System software: Operating systems Utility programs Program translators Examples: IOS Android OS X Windows Google chrome Linux Definition and function: Software that manages a computer’s hardware and provides a user interface Also provides security
79
User interface mini def Types x 6
Without user interface we would communicate in binary Types: GUI , graphical user interface; most commonly associated Menu-driven interface; music players and ATM machines CLI, command line interface; all user commands types in as text and no graphics, uses less space on disk and RAM Voice activated Real-time Windows; WIMP - Windows, Icons, Menus and Pointers; user can click on icons using a pointer or cursor and right click to display a menu
80
How computers handle Memory Management
Data used by the computer is copied into main memory The operating systems keeps a record of where each program and its data are located It must not overwrite pre-existing programs
81
Multi-Tasking
When running multiple programs on a computer, the programs in the background running are taking turns to get processor time to execute instructions The OS Manages how the programs share the processor Task manager
82
Peripheral management
Peripherals are all the devices outside of the CPU, input/output devices and secondary storage, access speed of these is relatively slow
83
Print buffer
Status of each job on a printer screen displaying whether it is printing or waiting to print
84
Storage device and disk file management who manages and what they do def
OS manages: Copying files from disk to main memory Copying data files back to secondary storage Hard disk in computer is a storage peripheral: OS manages where on disk files are written, keep track of their location to be fetched, making sure no file overwrites another file
85
Managing Security who does and how do they
OS organises user logins and passwords which may include password protection and control access rights
86
Access rights
If a computer is used by more than one user, each user should only be able to see their own files. Users and system admin have different levels of access rights. Some users may be allowed to access files but not edit them. May include encryption of some files
87
Machine code
Computers represent everything in binary Program instructions once converted to binary are known as machine code, eg. 1001 1100 0000 1110 1101 1010 1101 1011 0101 1001 Each different type of processor has its own set of machine code instructions, a typical instruction in a simple processor may look like: Opcode: 6 digits, 010110 Register: 2 digits, 01 Operand: 8 digits, 0011 1010 The Opcode is basic machine instruction like ADD, SUBTRACT, LOAD, STORE and the operand is the value or location of the value to be operated on. All arithmetic is carried out in the register.
88
High level code
High level codes typical instructions look like math or english and are easy to guess or understand the meaning. Python, Delphi and Java are known as high level codes High level languages have complex statements and program structures can not easily be translated into machine code. Each statement in high level code represent several machine code statements
89
Assembly language
Going from machine to assembly code was very time consuming, and is sometimes called a “first generation language”. Assembly is the “second generation” eg. LDA 1 Mark1 ; Load contents of Location17 into Register 1
90
Instruction Set in terms of processor handling
Processors vary in the number and type of instructions they can process. They cannot deal with WHILE, THEN etc. Compare and Branch instructions are used test conditions and jump to another if true
91
Assembler
A computer can not process assembly language instructions directly The assembler is a program which translates assembly code into machine language
92
Compiler
A program the translates high level language program (source code) into machine code A compiler translates every statement in the program into machine code, called object code. If the compiler hits a syntax error it will not translate the statement and no code is produced
93
Interpreter
A type of program which translates high level program into machine code It works by translating line by line. It translates one line and if it has no syntax errors it executes it it moves on to the next line.
94
Compiler vs. Interpreter
Compiler: - Has to correct all syntax errors before running - Fast execution of object code - Once object code is produced it can be run and installed on any computers - A user can not see source code after purchase Interpreter: - Good for program development as parts of the program can be executed despite having errors - Slow execution as every line must be translated before execution - A user must have the programming language and interpreter on their computer - A user can make changes and sell your program after purchase
95
Advantages and Uses of Assembly code
Advantages: - Manipulation of individual bits and bytes - Runs very fast - Occupies less memory than code compiled from a high level language Uses: - Hardware specific code like driver devices telling the computer how to communicate with eg. boot code in ROM, printer, scanner etc. - Control programs in embedded systems in washing machines, modems, routers, cars, digital watches etc. - Real time applications requiring instant response, network software, medical equipment
96
Importance of data
Millions of organisations keep data about their customers, members and products. Banks, governments, health departments, shops, schools and and exam boards all keep data on computers
97
Some threats to data
Accidental damage: Data entry errors Program errors Errors in procedure Accidental loss or deletion Hardware failure, damage or crash Natural disaster: - Fires, floods etc. Malicious actions
98
Backups and archives
Backups are made regularly so lost or corrupt data can be restored. Backups should be stored in a secure location offsite. Employees taking home a backup tape or mirroring all transactions on a second remote computer. Archived data is data that is no longer needed for immediate processing but needs to be kept
99
Cloud storage
Holding all company data in “the cloud” is becoming more and more popular and considered safer than data stored in an office.
100
Describe features of an operating system
− Manage input output − Multi-tasking − Loading and running of apps − Manage security − Memory management − Error handling − Human computer interface
101
Describe High level language
High-level − Makes use of words close to human language − Machine independent and portable − Problem and logic focussed − Needs to be translated/interpreter/compiled (to low-level for processing by computer) // needs converting to machine code − Hardware of computer does not matter Benefits − Easy to understand as its similar to human language − Easy to debug, less likely to make mistakes − Less time to write − Has a great range of languages
102
Describe Low level language
Low level − Closer to/is machine code − May use mnemonics − May need an assembler to be translated − One line of code represents a single instruction Benefits − Machine dependent − Have direct access to memory locations/registers − May require use of special hardware − Code runs fast Disadvantage −Easy to make errors and hard to understand Examples − Machine code − Assembly
103
Statement summing up them
− The structure of language statements in a computer program is called the syntax − A programming language that uses natural language statements is called a High level language − When programs are written in this type of language they need a translator to convert them into machine code − A programming language that is written using mnemonic codes is called assembly language. − This is an example of a low level language
104
Describe Translators
− Programs need to be translated to machine code so we have 3 types of translators − Compiler, interpreter, assembler −Compiler translates high level to machine code − Interpreter translates high level to machine code − Assembler translates low level to machine code
105
Describe compiler
− Translates a whole program in one go − Produces an executable file − All error list produced at the end − Once program is compiled, doesn’t need to be recompiled − One high level statement can be translated into many machine codes − Executable file usually distributed for general use − Executable file does not require to be re-translated
106
Describe Interpreter
− Translates code line by line − No executable file produced, interpreter required every time − Stops translation when error found, then allows you to continue from where u started − Errors shown in real time, when found, easy to debug − Used in developments of a program or game
107
Difference between DVD and Blu-ray
− DVD uses red laser/light whereas blu-ray uses blue/violet laser/light − DVD has a smaller (storage) capacity // Blu-ray has a larger (storage) capacity − DVD has two layers (of polycarbonate) whereas Blu-ray disks have a single layer (of polycarbonate) − DVD has a slower transfer rate (of approximately 10 mbps) // Blu-ray has a faster transfer rate (approximately 36 mbps)
108
Describe how an infra-red screen detects a users touch
Infra red rays are sent across the screen from the edges Sensors are around the edges and capture beams Infra red is broken by a finger blocking it Calculation is made to locate the touch based on where the beam was broken
109
what does an operating system do? (6)
loads software Manages hardware Manages error handling Manages user accounts Allows multitasking Provides an interface
110
What is a high level language
portable languages that need to be converted into machine code to run on a computer e.g C++, Python, Java
111
What is a low-level language
language that relates to the specific architecture and hardware of computer
112
Advantages of High Level Language
easier/faster to write code as uses English-like statements easier to modify as uses English-like statements easier to debug as uses English-like statements portable language code - because it is written in source code Only need to learn a single language - as this can be used on many different computers
113
Advantages of low level language
can work directly on memory locations can be executed faster translated program requires less memory no need for compilers/interpreters
114
features of a compiler
A report of errors is produced at the end of translation Translates high-level language into machine code An executable file is produced The program will not run at all if an error is detected Can be used without compiler
115
features of a interpreter
Translates from high-level language into machine code Cannot be used without translator Executes a high-level language program one instruction at a time Produces error message each time an error encountered
116
features of assembler
low-level programming language uses mnemonic codes specific to the computer hardware. used to create drivers for hardware
117
features of assembler
low-level programming language uses mnemonic codes specific to the computer hardware. used to create drivers for hardware
118
Features of interpreter
Translates from high-level language into machine code Cannot be used without translator Executes a high-level language program one instruction at a time Produces error message each time an error encountered
119
features of assembly code
low-level programming language uses mnemonic codes specific to the computer hardware. used to create drivers for hardware
120
whats a syntax
The structure of language statements in a computer program is called the syntax
121
Differences between compilers and interpreter
compiler produces executable code / interpreter doesn’t produce executable code compiler translates program in one go / interpreter translates and executes line at a time compiler produces list of all errors / interpreter produces error message each time an error encountered compiler produces “stand alone code” / interpreter doesn’t produce “stand alone code”
122
functions of operating system
Provides a user interface Memory management File management Manages inputs/outputs security methods multitasking batch processing Manages software installation / removal
123
define operating sytem with examples
An operating system can be defined as a software program that is responsible for managing and controlling the operations of the computer, programs, and hardware. e.g windows, mac os, linux
124
What is application software?
Provides the services that the user requires and runs on the operating system
125
What is application software?
Provides the services that the user requires and runs on the operating system
126
What are some examples of application software?
Word processing packages Stock control software In-car navigation system
127
What are the two types of software?
Application and System Software categories * Software is categorised into system software and application software * System software is further categorised into operating systems and utility software
128
What is system software?
Programs that provide the services that are needed to enable the computer to function Consists of the operating system and utility software
129
What are some examples of system software?
The operating system Utilities Programming language translators
130
What are the major operating systems?
Windows Linux MacOS Apple iOS Android
131
What is an operating system?
A group of programs that is essential for managing the computer’s resources. Handles several crucial tasks
132
What is the operating system responsible for? (9 things)
Managing multitasking Managing peripherals and drivers Managing files Managing accounts Handling interrupts Providing system security Providing an interface Running applications Managing memory (Magical Dolphins Fly After Impish Skeletons, Insulting Amoebas Merrily)
133
What are the main types of user interfaces?
GUI - Graphical User CLI - Command Line Voice activated Real-time
134
What does GUI stand for?
Graphical User interface
135
What is an example of a GUI?
WIMP Windows, Icons, Menus, Pointers
136
What does CLI stand for?
Command Line interface
137
What format is used in CLI?
Text Commands are typed and all output is in text
138
Where is CLI most commonly used?
Windows command prompt
139
What is an interface?
The OS provides a means of interacting with the computer through buttons, keyboards, touchscreen or mice
140
What is the operating system responsible for?
It is responsible for important functions such as how a file is written to a hard drive or how a program is run in RAM
141
What is a peripheral device?
Software used to provide an interface for a hardware device Contain instructions on how to control a device
142
What are the advantages of device drivers?
Any device can be used with the operating system, as long as a driver is compatible with it Drivers can be updated, usually to give better performance or to remove a bug
143
What language would a driver be written in and why?
Assembly language (low-level language) Needs to be able to precisely control the hardware devices
144
What does multitasking mean?
Multitasking means to be able to run more than one program simultaneously.
145
How does an operating system multitask?
It coordinates the CPU to schedule processes All processes in the memory that are waiting to be executed are held in a circular queue The CPU allocates each process a time slice It then switches to the next process very quickly, making it seem like it is running at the same time
146
How does the operating system manage files?
It allows users to create, delete, move, save and copy/allocate files to folders Manages access rights to individual files
147
How does the operating system manage user accounts?
Different users will each be provided with an account with their own username and password It can monitor login activity Each account can be granted different levels of access depending on their needs and levels of security
148
How does the operating system provide a platform for running applications?
The OS will allocate memory space for the application and control the application’s access to data and devices
149
How does the operating system manage memory?
The OS moves programs and files between memory and storage (e.g. hard drive) if virtual memory is required
150
How does the operating system provide system security?
It controls user access to prevent users from accessing files/folders they shouldn’t have access to Security updates are downloaded to help fix bugs and improve security against malware
151
What is an interrupt?
A signal from a software program or hardware device to the CPU
152
When does a software interrupt occur?
When an application program terminates or requests services from the OS When two processes try to access the same memory location When a program error (e.g. divide by zero) occurs
153
When does a hardware interrupt occur?
When an input/output operation is complete When a new USB device is plugged in and detected When a key is pressed on the keyboard or the mouse is moved Used in multitasking; triggered by a timer to indicate that the next process should have processor time
154
What does utility software do for the computer?
Helps configure and maintain the device
155
What are some examples of utility software?
Encryption Defragmentation Data compression Backup Disk clean-up
156
What does utility software do?
Helps in configuring and maintaining the computer or device
157
What does encryption software do?
Disguises the contents of files so they can only be understood by authorised users
158
How does encryption software work?
The software uses an algorithm to scramble the content so that it is unreadable
159
Why is defragmentation software needed?
When files are saved to a magnetic hard disk, they are stored in the next available space. This leads to files being split into fragments which takes longer to access as the drive head has to move more.
160
What does defragmentation software do?
Defragmentation software takes the fragmented files and rearranges the segments so that they run contiguosly.
161
Why is defragmentation helpful?
It decreases the read/write time, therefore speeding up computer performance
162
What does compression software do?
Reduces the size of a file stored on secondary storage
163
Why can’t defragmentation be used on solid-state drives (SSDs)?
No performance benefit. No additional time cost in fetching pieces of data from different places Solid-state drives wear out. Writing to SSDs causes it to degrade slightly, unlike reading. So the more you write to an SSD, the shorter its lifespan will be.
164
Why does data need to be compressed?
Smaller files are easier to transmit across a network because they require fewer packets to be sent. A reduced size means that more files can be stored in a given area of storage
165
What happens if files are not backed up?
A user could accidentally delete/overwrite a file A hard disk could fail and prevent access to files stored on it A hacker could deliberately delete/overwrite data
166
What are the two types of backup?
Full backup Incremental backup
167
What is a full backup?
Involves making a copy of every file on the computer/network
168
What are the disadvantages of a full backup?
Require a lot of storage space Can be time consuming to make
169
What is an incremental backup?
Takes a copy of any new files created since the last backup, or any files that have been recently edited
170
What is a high-level language?
A language that is programmer friendly. It is easy for humans to understand, debug and maintain
171
What type of translator does a HL language need?
Needs a compiler or interpreter to translate into machine code
172
What are some examples of HL languages?
Python JavaScript C# C++ Ruby
173
What are the advantages of HL languages?
Hardware independent; can run on any system and are easily portable from one device to another Little to no hardware knowledge is required to write programs Syntax very similar to English language, therefore easier to write, understand and debug
174
What are the disadvantages of HL languages?
Not memory efficient -> consumes more memory than LL languages Must be compiled/interpreted before it can be run
175
What is a low-level language?
A language that is machine-friendly. It is difficult for humans to understand, but easy for a machine to interpret
176
What type of translator do LL languages require?
Needs an assembler for direct translation of the language instructions
177
What are the examples of LL languages?
Machine language Assembly language
178
What are the advantages of LL languages?
Memory efficient Execute very quickly
179
What are the disadvantages of LL languages?
Hard for humans to read and knowledge of hardware is a prerequisite to write programs Very machine-dependent and not portable between different devices
180
What is machine code?
Binary representation of instructions in a format that the CPU can decode and execute
181
What are the three types of translators?
Compiler Interpreter Assembler
182
What does an Assembler do?
Translates assembly language into machine code Converts basic commands and operations into binary code that can be understood by a specific type of processor
183
What are the advantages of Assemblers?
Programs written in machine language can be replaced with mnemonics Memory efficient Speed of execution is faster Hardware-oriented
184
What are the disadvantages of Assemblers?
Takes a long time to write the program and it is difficult to remember syntax Lack of portability between computers of different makes can not have the same assembler
185
What does a compiler do?
Translates source code from HL languages into object code and then machine code The whole program is translated into machine code before it is run After compilation, the compiler provides an error report for the whole code
186
What are the advantages of Compilers?
No need for translation when running Speed of execution is faster than interpreted code Provides an executable file so that the original code doesn’t need to be compiled again
187
What are the disadvantages of Compilers?
The program will not run with syntax error, which makes it more difficult to write long code Code needs to be recompiled when it is changed
188
What is an Interpreter?
Translates source code from HL languages into machine code The program is translated line by line as it runs Stops execution as soon as an error is found
189
What are the advantages of Interpreters?
Easy to write source code, as the program will always stop when it finds a syntax error Code does not need to be recompiled when code is changed Easier for beginner programmers to learn to code
190
What are the disadvantages of Interpreters?
The interpreter must be installed to run the program Takes longer to execute as the instruction is translated before it is executed Source code will be interpreted every time it is run
191
Which HL languages are interpreted?
Python and JavaScript
192
Which HL languages are compiled?
C# and VB
193
What is a low-level programming language?
A programming language that is easier for the processor to interpret but harder for humans to understand. Two low-level languages: machine language/object code assembly language
194
What is machine language?
lowest level of language consists of binary and/or hexadecimal raw instructions that the CPU carries out (processor reads machine code directly, no need to translate it) each CPU family has a different set of machine code
195
What is assembly language?
uses abbreviations or mnemonics for each operation code easier to read and write than machine language must be translated into machine code by an assembler before it can be run by a processor
196
What is an assembler?
translation program that translates processor-specific assembly code (source code) into machine code (object code) for a specific processor translates an entire program but does not run it it is rapid and reliable
197
List some advantages of using low-level languages
complete freedom of choice of instructions direct control over the processor’s communication with its input, output and storage devices efficient programs can be written that: fir into limited storage space require limited RAM run rapidly
198
List some disadvantages of using low-level languages
lack of relation to a human language makes it difficult for programmers to read machine-oriented nature makes it hard for a programmer to learn, as each operation code must be memorised or looked up processor-specific nature of the instruction set means that programs are not transferrable or portable between families of processor programs are relatively hard to test, debug and maintain
199
What is a high-level programming language?
A programming language that looks more similar to a human language or mathematical notation and is therefore easier for programmers to use. However, a program must be used to translate the language for the processor. They are intended to help programmers solve problems rather than to micro-manage the computer’s hardware.
200
What is a compiler?
a program that translates all the high-level source code by compilation compilation must be completed before the program can be run, i.e. the entire program must be translated before the processor can execute the instructions if there are errors in the source code, the compiler produces an error report, the programmer corrects the errors and compiles the whole program again therefore, the debugging of a large program before it can be run can be a slow, iterative process
201
What is an interpreter?
program that translates high-level language statements and executes them on a specific processor and operating system does not create machine code analyses one source code statement at a time and runs appropiate subroutines to execute it if the interpreter finds an error in the source code, it produces an error report and stops the execution the process of translation slow the execution, but debugging a large program is faster as the program does not need to be re-compiled after every edit
202
List 5 differences between a compiler and an interpreter
compiler produces object code; interpreter doesn’t produce object code compiler translates whole program in one go; interpreter translates and executes line at a time compiler produces list of all errors; interpreter produces error message each time an error is encountered compiler produces “stand alone code”; interpreter doesnt produce “stand alone code” compilation process is slow but resultant code runs very quickly; interpreted code runs slowly
203
What is an operating system?
An operating system (OS) is a type of system software that acts as a layer of software between application programs and the computer’s hardware and provides an interface through which a user can run an application program.
204
How is an operating system loaded on a computer?
Computers cannot run without software, but it must be running before it can load an OS. There must be a small program to start the process of loading the OS. A small firmware program runs to start the loading process, stored in flash memory in PCs and laptops. 1st program – performs ‘power-on-self-test’ (POST) to prevent the computer from starting to run in an unstable state. Checks the integrity of firmware, externals devices and size of internal memory. Identifies the most promising disk drive from which to load an operating system. 2nd program – ‘boot loader’ loads first part of OS into RAM. The process in which the operating system loads itself then takes control of the computer is called ‘bootstrapping’.
205
List the functions of an operating system
To manage the users, hardware, software and peripherals (input and output devices that are not integral or necessary to the system) To manage user accounts and security. To provide a user interface through which a user can run application programs and perform housekeeping tasks such as defragmenting or file indexing. To manage the allocation of internal memory and processor time, as well as interrupt signals to the processor Provide ‘spooling’ – temporary storage of input or output data in a queue to allow application programs to proceed with other tasks while peripherals operate relatively slowly.
206
What is a batch operating system?
Dedicated to managing a succession of batch ‘jobs’ or packages of work, each consisting of a program and a batch of data A batch of data is prepared, validates, often verified by double entry, and entered into a transaction file before any processing takes place. The processing runs to completion without any intervention from an operator unless an error occurs. Output received in the form of updated files or printer output Allows the operator to specify: The owner of the particular job Programs Data files Priority (position in queuing) Max processor time allowance, memory and printing lines Actions to be taken in case of program error
207
List the advantages and disadvantages of a batch operating system
Advantages: Quick processing as no delays by waiting for user to enter data Especially useful when the program and data are reliable and accurate Disadvantages: Less useful when data is unreliable, as it cannot be modified while the program is running
208
What is a multi-tasking operating system?
Typical modern operating system for any sort of general-purpose computer Simultaneously runs several processes and services and more than one application program On any computer with only a single processor, only one program can run at any instant, but there is an illusion of simultaneous running by sharing processing time between programs
209
What is a multi-access operating system?
Allows more than one user to use the computer at the same time (multiple log-ins) Each user interacts with the computer through a ‘terminal’ consisting of a keyboard and display screen. The terminals do not have their own processors and are not computers. The OS shares processing time between the users, who each have all the computer’s resources available to them.
210
What is a real-time transaction processing operating system?
A real-time OS supports application programs that can process input within a guaranteed maximum time to produce the output required to keep pace with the user’s needs for information or control. A real-time transaction processing OS supports application software for processing transactions e.g. bookings as they occur, with a maximum response time within the range of seconds.
211
What is a real-time process control operating system?
Controls a physical or chemical process by continuously monitoring conditions, set-point data and sensor feedback data. Data is processed to calculate and make decisions of the output required to the actuators. Frequent sampling and rapid processing is necessary, with a max. response time within the range of microseconds to milliseconds.
212
What is a network operating system?
Manages communication between computers and peripherals equipped with a ‘network interface card’ (NIC) and connected to a network. Most OSs for laptops and PCs for small office and home use have built-in support for ‘peer-to-peer’ networking for sharing resources, peripherals and internet access. Other OSs support server-based networks, which have a ‘server’ computer running a ‘server operating system’ which controls access for the ‘client’ computers which run ‘client operating systems’.
213
What is a user interface?
A user interface consists of all the hardware and software through which a user provides input to a computer or receives information from it. Two types of user interface: command line interface (CLI) graphical user interface (GUI)
214
Describe the command line interface (CLI)
User relies on keyboard for input, having to remember the available commands and their syntax, and type commands accurately. Output restricted to text only Useful for experts as it enables them to work quickly and access a wide range of commands
215
Describe the graphical user interface (GUI)
A GUI often features: Windows each task displayed in separate window each window is a rectangular region of the screen through which a running program, document or dialogue box can be viewed Icons small pictorial symbol representing a command, file or shortcut Menus Pointing devices OSs with GUIs support folders and sub-folders to represent directory contents. The hierarchical structure of folders can often be viewed in a navigational file manager
216
How does file management work?
Folders are used as virtual containers to store files in so they are easier to organise and find. The OS stores an index of the contents of each storage drive, known as the drive’s root directory, which lists the files and folders within the drive. Each folder has its own file directory, and each sub-folder has its own sub-directory
217
What user commands for file management are there?
User commands for file management include listing directory contents by opening a folder, moving and copying files and folders, and printing files List Opening a storage device lists the folders, files and subfolders it contains. Files and folders can be sorted, renamed, searched and created. Move Moving files and folders to different places Copy Useful for making backups Print
218
What is polling?
When the operating system periodically interrogates each peripheral device in turn to discover its status, as peripheral devices cannot control the transmission of data to and from the computer. Disadvantage of significant processing time being used in polling all devices, even when inactive.
219
What is an interrupt?
A signal sent to the processor from a peripheral device (hardware) or program (software) to indicate that the sender needs attention; this cuts off the current thread of processing so the processor can resolve the needs of the device or program One way of responding to an interrupt when multiple peripherals are in use is by polling the devices, so polling only occurs when a peripheral is known to need attention. Another system of response is known as ‘vectored interrupt’, in which a device supplies an internal memory address called a ‘vector’, which contains the start address of the appropriate interrupt handler program. An application program can use a software interrupt to request a service from the OS, such as opening a file or exiting the application. This is known as a ‘system call’. Since the OS passed control to the application in the first place, the application has, in effect, interrupted itself to fulfil the user’s request.
220
What is handshaking?
The computers’ way of indicating the start and end of communication (e.g. indicating whether or not the other device has been acknowledged), as well as negotiating protocol for communication in a session. (e.g. data transfer rate, odd/even parity, flow control) May involve sending electronic signals as special codes down the normal data channel or sending extra signals down a short separate hardware wire cable.
221
Describe the steps in the process for transmitting one data packet from a computer to a printer
(repeated possibly 1000s of times until the printer sends an interrupt signalling the data transfer is complete): The computer’s printer driver program fills the print buffer and requests the host controller to send the data to the printer. The host controller sends an OUT token packet immediately followed by a data packet to the printer. Although the OUT packet is not technically a handshake packet, it marks the beginning of a handshaking flow control process. The printer’s USB hardware sends an ACK handshake packet to inform the host controller that it has successfully received the data packet in its input buffer. The printer’s USB hardware generates an interrupt signal to the printer’s microcontroller. The printer’s firmware handles the interrupt by reading and processing the contents of its input buffer.
222
What is a checksum?
An arithmetic summarisation of a block of data that is sent with the data along with the calculation performed to reach the checksum – the receiving device performs the same calculation on the data and compares the result with the checksum that was sent to confirm its integrity. If the checksums do not match, the data is rejected; else, the integrity of the data has been proven to be maintained.
223
Describe what is meant by a ‘low-level language’ using examples.
Machine code and assembly language are low-level languages that work directly with a computer’s hardware
224
What is machine code?
Written in binary, made up of thousands of 1s and 0s This makes it very difficult for programmers to write and debug
225
What is assembly language?
Only a bit easier to work with Uses mnemonics to represent instructions
226
Give some advantages and disadvantages of using low-level languages.
Advantages: Interact directly with the hardware, enabling memory to be used efficiently - allows for faster execution of a program Disadvantages: Difficult and time-consuming to use Have few tools that help with debugging and maintenance They are machine-specific
227
Describe what is meant by a ‘high-level language’ using examples.
High-level languages, such as Java and Python, are programming languages closer to human languages than low-level languages (use keywords like ‘print’, ‘if’ and ‘return’)
228
Describe some features of high-level languages.
They are problem-oriented - enable programmers to focus on a program’s logic, rather than on how it will be implemented on a computer’s hardware Come with libraries of ready-made functions and editing tools to make it easier to write code
229
Describe some features of high-level languages.
They are problem-oriented - enable programmers to focus on a program’s logic, rather than on how it will be implemented on a computer’s hardware Come with libraries of ready-made functions and editing tools to make it easier to write code
230
Give some advantages and disadvantages of using high-level languages.
Advantages: Programmer-friendly Have tools that help with debugging and maintenance They are machine-dependent (portable) - will run on computers with different types of CPU Disadvantages: Generally less memory efficient
231
(Exam-style question) A program written in a high-level language will run on computers with different types of CPU, whereas one written in a low-level language is machine-specific. Explain this difference. (3)
Programs written in a high-level language focus on the program logic and do not concern themselves with how it will be implemented on particular computer architecture Programs written in a low-level language use the instruction set of a specific CPU
232
(Exam-style question) A program is needed to control an embedded system with very limited on-chip memory. Explain one reason why a programmer may decide to write the program in a low-level language. (2)
Using a low-level language ensures that the system’s memory is used efficiently This is because it enables the programmer to select the most appropriate instructions to use and to directly control the hardware to be used
233
What is the condition for programs to be executed by the CPU?
Programs have to be translated into machine code before they can be executed by the CPU
234
(Exam-style question) Explain one reason why program code developed using a high-level language must be translated. (2)
Instructions must be translated into machine code because that is the only language the CPU can execute
235
Give three examples of translators.
Compiler Interpreter Assembler
236
State the purpose of a compiler.
To translate a high-level language’s source code into machine code (object code)
237
State the purpose of an interpreter.
To translate high-level code line by line into machine code
238
State the purpose of an assembler.
To translate assembly language into machine code
239
Give some advantages of using a compiler to translate a programming language.
Translates all program code into machine code at same time Program only has to be translated once - allows for faster execution of program Protects software from competitors as source code is not available to them
240
Give some disadvantages of using a compiler to translate a programming language.
Reports list of errors after having compiled whole program if it encounters any, making debugging harder You cannot change the program without going back to, editing and recompiling the original source code Compiled programs can only be ran on specific systems
241
Give some advantages of using an interpreter to translate a programming language.
Stops translating program when an error is found and reports it - lets programmer know where it occurred, making debugging easier Program code can run on any system that has the interpreter Program can be easily edited as it always exists as source code
242
Give some disadvantages of using an interpreter to translate a programming language.
Each line of code has to be translated every time program is executed, therefore it is slower to run
243
Address bus
Carries the address of the memory location. Unidirectional, only the CPU can put an address on this bus.
244
Data bus
Holds the value being read from or written to memory. Bidirectional.
245
Control bus
Carries command signal from the control unit to other components. The status signal is sent back to the CPU. Bidirectional.
246
Clock
A tiny quarts crystal that vibrates and sends out electronic signals to synchronise the actions of the hardware components. Measured in hertz, 1 hertz = 1 “tick” per second.
247
Fetch/Decode/Execute cycle
Program instructions and data are stored in main memory and transferred/fetched one data at a time to the CPU, where they are decoded and executed. Fetch: The control unit sends a read signal to main memory along the control bus. It also places the memroy address of the next instruction on the address bus. The RAM copies the content of the memory location indicated by the address bus on the the data bus. Decode: The control unit decodes the instructions. Execute: The control unit sends signal to the other components of the CPU instructing them what to do.
248
Secondary Storage
Non-volatile Allows the system to store data and programs permanently. Cheaper and slower than main memory. Types: - SSD(Solid State Drives): USB drive - Magnetic storage: HDD(Hard Disc Drive) - Optical Storage: DVD/CD
249
Magnetic Storage
A head reads & writes to spinning discs. An area that is magnetised represents a 1. An area that is not magnetised represents a 0.
250
Solid State Drive
Represents bits by little pools of trapped electrons on a microchip. No flow(trapped) represents a 0. Electron flow represents a 1.
251
Optical storage
Laser beam reads and writes data(Pits and land) Pit represents a 0 Land represents a 1
252
Operating system (OS)
A program that controls and manages the hardware and all other software on a computer and provides an interface for users
253
Application software
Programs or apps deigned for end users. Such as: - Web browser - Spreadsheet - Game
254
Utility software
Programs that functionality to a computer system or improve its performance in some way. Such as: - Disk repair - Compression - Anti-malware
255
Why is robust software made
To produce software that is capable of handling the unexpected without crashing, not generating incorrect output, or not revealing sensitive data
256
Bad programming practices
Not having a well-thought design Not following coding standards Using a temporary fix Writing unstructured code Not testing
257
Scheduling
All processes are held in a queue Some processes are prioritised Processes are allocated time slides, length of time slices depends on priority. Processes are switched at the end of their time slice Unfinished processes are put to the back of the queue During the time slice, the process has exclusive use of the processor
258
Types of operators
Relational Arithmetic Logical
259
Relational
<, >, !=, ==
260
Arithmetic
+, -, *, /
261
Logical
AND, OR, NOT
262
Write data in SSD
Current applied to a transistor Forces electrons through a barrier, trapping them in pools Full pool (0), Empty pool (1)
263
Disk fragmentation
Files are written to a disk in blocks Blocks can be dispersed through the disk
264
Disk defragmentation
When file blocks are rearranged in the disk To place free space together / file blocks together
265
Audit trails
Keeps track of who made what changes Allows to track back problems Enables program to be rolled back Help produce robust software
266
Code reviews
Check that software adheres to agreed standards Find instances of inefficient code Identify potential vulnerabilities Done by programmer
267
Compiler
Translates the source code into a stand-alone machine code program that can be executed by the processor
268
Interpreter
Translates a high-level code line by line into machine code. It is needed each time the program is run
269
Cache
Store frequently used instructions (act as a buffer)
270
High-level languages
Most programming languages (Python, C++, etc.) Human-readable states that make it easier for us to program Portable, able to run on many different types of hardware
271
Low-level languages
Close to machine code compared to HLL Harder to be read by humans, easier to be read by computers They need less translation which leads to faster code Not portable
272
What does ‘IPO’ stand for?
Input –> Process –> Output
273
What does ‘IPO’ stand for?
Input –> Process –> Output
274
What model does all hardware and software use?
The IPO model
275
How does the IPO model work?
Receives inputs from user or other source –> does some computation on the inputs –> returns results of these computations
276
What are the different software types?
Security software Application software System software
277
What is the definition of ‘Security Software’?
Any software that procides security for a computer or network
278
What is the definition of ‘Application Software’?
Software created for a specific purpose. It is generally a program or collection of programs used by end users. It can be called an ‘application’ or simply an ‘app’.
279
What is the definition of ‘System Software’?
A type of computer program that is designed to run a computer’s hardware and application programs. The interface between the hardware and the software.
280
Definition of ‘hardware’?
any physical device used in or with your machine
281
Definition of ‘software’?
collection of codes installed onto your computer’s hard drive
282
Give an example of Security Software:
Anti-vurs, Firewall..
283
Give an example of Application Software:
Database/ Word.. Processors/ Web browsers..
284
what is application software?
Computer programs written for specific purpose
285
what is system software?
Programs that manage the operation of the computer e.g. windows
286
What does IDE stand for?
Integrated Development Environment
287
What is an IDE?
Software used to enter and edit source code. It will also compile programs to machine code and have debugging features
288
What are the facilities of an IDE that would be useful to programmers?
Error diagnostics (debugging and error detection) Runtime environment Translators Code editors
289
What is a runtime environment?
Enables a program to be run. It checks for runtime errors and other testing can be carried out.
290
What is prettyprint?
Alters indentation and formatting to make code easier to read
291
What are error diagnostics?
A list of errors along with the line number in which they were detected
292
What are breakpoints?
Lines of code in the program that enables the programmer to pause the program at certain points to check the values of variables