COMP SYSTEMS

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/113

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

114 Terms

1
New cards
examples of OS
Windows 7, Windows 8, OS X, iOS, Android, Linux
2
New cards
what types of user interface are there
CLI (command line interface) a shell that responds to text command (more direct and compact)

GUI (graphical user interface) using icons and other visual indicators to navigate commands
3
New cards
what types of software are there
system software
application software
4
New cards
what does system software do
software that is needed to manage and control the computer system and assists other software to run
5
New cards
examples of system software
operating systems
security software
file management software.
6
New cards
What does application software do?
allows user to complete a task
7
New cards
Examples of application software
Word processing, spreadsheet, presentation, database
8
New cards
how does a multi tasking operating system work
actually only one process at a time but switches rapidly so it appears to be multiple
9
New cards
What is a bootstrap loader?
small program stored on ROM to load up OS into RAM to continue the job
10
New cards
what does the CPU do overall
\[ fetches and excecutes instructions ] Fetches instructions & data (from memory) • Decodes the instructions • Executes (carries out) the instructions
11
New cards
Von Neumann Architecture
data and instructions are stored together in main memory in binary

instructions executed sequentially (one at a time it is fetched from memory and passed to CPU)
12
New cards
what is a general purpose computer
a computer designed to carry out multiple functions
13
New cards
What is an embedded system?
a special purpose computer built into another device. (washing machines, microwaves, heating) usually have one or two functions
14
New cards
how does the OS manage security
different users with secure passwords

different access rights for different users

automatically updating the OS to patch up security loopholes

encrypting files on hard disk
15
New cards
why do we need utility software
(type of system software)

anti-virus software to regularly check for malware so that you can delete or qurantine any harmful programs to prevent damage.

disk maintenance will help the computer run smoothly by defragmenting as it reorganises files so they can be organised quicker

disk cleanup deletes files no longer needed to free up storage

a firewall will control access to the cpmputer to prevent hackers
16
New cards
What is software?
The programs that run on a computer
17
New cards
What is utility software?
Utility software is system software which is designed to help analyze, configure, optimize or maintain a computer. (housekeeping functions)
eg
encryption software
data compression
data organisation utlitiyes
file backup utilities
18
New cards
Examples of maintenance utilities
Housekeeping functions like disk defragmentation and automatic updating
19
New cards
what is hardware
The physical components of a computer system
20
New cards
three box model
3 components (processor, main memory, input/output controllers) are linked by system bus

system bus is a high speed communication channel
21
New cards
classifying software
system software
application software
22
New cards
system software
responsible for the general operation of a computer system. provides a platform for application software and a means for it to interact with the hardware its running on
23
New cards
examples of system software
Operating system
Utilities
Drivers/ Libraries
translators
24
New cards
application software
computer software created to allow the user to perform a specific job or task

can be general or special purpose
25
New cards
Examples of application software
Word processing, spreadsheet, presentation, database, media player, calculator
26
New cards
utility software
allows user to configure, control, improve and maintain general operations of computer
27
New cards
examples of utility software
- Disk defragmenter
- Automatic backup software
- Automatic update
- Virus checker
- Compression software e.g. WinZip
28
New cards
libraries
A collection of resources used to develop software incl. pre written subroutines and code
29
New cards
DLL (Dynamic Link Library)
A file that includes reusable code within Windows-based systems.needed by web browser extensions and programs
30
New cards
programming languages
machine, assembly, high-level
31
New cards
translators
convert source cofe int

Assemblers, compilers and interpreters
32
New cards
assemblers
turn assembly language into machine code
33
New cards
compilers
translate high-level language programs into machine code
34
New cards
intepreters
translate high level programs into machine code
35
New cards
Off-the-shelf software
mass-produced by software vendors to address needs that are common across businesses, organizations, or individuals.
36
New cards
benefits of off the shelf software
readily available for anyone to use
cheaper as development costs are shared amongst buyers
likely to be well documented and tested
37
New cards
drawbacks of off the shelf software
have little or no control over what features there are
may not do exactly what you want
38
New cards
bespoke software
Software specially written for a particular user.
39
New cards
pros and cons of bespoke software
significantly increase the cost
may take years to develop
however you have complete control over the process which gives complete functionality
40
New cards
What does the operating system do?
Software that controls the hardware and software resources.
- resource management
- allows applications to interact with hardware

- memory management
- processor scheduling/management
- security
- peripheral management of IO devices
- backing store management
41
New cards
where is OS stored
Hard disk/drive (since its non-volatile it doesn't get deleted when comp turned off)

OS is copied into RAM from 2ndary by bootstrap loader since data access from 2ndary is so slow.
42
New cards
How are complexities hidden
The true complexities of operations are hidden from the end user via an Application Programming Interface
43
New cards
API
think of waiter metaphor

user look at menu and gives waiter (API) request

API takes to OS (the kitchen)

kitchen sends back prepared dish via waiter
44
New cards
memory management
OS

- Keeps track of what portions of memory have been allocated

- Maps memory to each process

- Determines how much memory to allocate to each process

- Determines when a portion of memory should be available for a process
45
New cards
virtual memory and when
If applications need more memory than a computer has, then the operating system will sometimes use a section of secondary storage to mimic RAM. This is called virtual memory.
46
New cards
adv of virtual memory
Allows you fit many large programs into relatively small RAM.

• You don't have to buy more RAM.

• Code can be placed anywhere in physical memory without relocation.

• More processes can be maintained in Main Memory which increases effective use of CPU.
47
New cards
diasdv of virtual memory
• Applications run slower if the system is using virtual memory.

• It takes more time to switch between applications

• Less hard drive space for your use.

• It reduces system stability.
48
New cards
processor/ scheduling manager
the OS will use a scheduler to swap tasks in and out of the processor so that it appears to the user that the computer is carrying out more than one task at the same time. this is called multi tasking
49
New cards
The scheduler
operating system module responsible for ensuring that processor time is used as efficiently as possible.

• maximise throughput

• be fair to all users on a multi-user system

• provide acceptable response time to all users

• ensure hardware resources are kept as busy as possible
50
New cards
scheduling
job of knowing when to swap processes
51
New cards
examples of scheduling algorithms
Round Robin - each process in turn has use of the processor for a given time slice

• Shortest job next

• Priority system
52
New cards
multi-processing
The simultaneous execution of two or more computer programs or sequences of instructions by a computer (parallel processing).

means more than one processor is being used EG QUAD CORE DUAL CORE
53
New cards
Backing store management
The OS keeps track of where all files are stored on hard disk or external drives, and where space is free to be used if the user performs a save operation
54
New cards
IO device management
Communicates with I/O devices via the I/O controller, part of the CPU.

Checks that a required output device is switched on and ready to receive data.

Deals with processor 'interrupts'
55
New cards
Interrupt
signal sent to the processor that interrupts the current process. It may be generated by a hardware device or a software program.

eg when printing could get a message saying printer ran out of paper
56
New cards
examples of interrupts (general)
hardware interrupt - often created by input device such as mouse or keyboard

disk controller will send one if it cant locate a file (eg typed wrong filename)

software interrupts - used to handle errors and exceptions whilst software is running
57
New cards
BIOS
Basic Input/Output System stored in non volatile mem and is available when computer starts.
58
New cards
what does the BIOS do
initialises and tests the hardware in a computer system so that it is ready for use by other software on the computer. HOLDS BOOTSTRAP LOADER
59
New cards
low-level language
defined by the processor they are designed to run on. Machine oriented. have no built in functions and can access specific registers in the processor.
60
New cards
different types of low level language
machine code
assembly language
61
New cards
high-level language
A programming language that is designed to be easy for humans to read and write. (close to natural spoken language)
62
New cards
Types of high level languages
imperative
declarative
object-oriented
63
New cards
Imperative language
A language based on giving the computer commands or procedures to follow.

GIVES INSTRUCTIONS designed to solve specific problem types

procedural and imperative are used to describe this subset.
64
New cards
procedural language
used to write programs that can be split into procedures or subroutines
65
New cards
Declarative Language
Programmer defines the problem to be solves rather than how to solve it. EG SQL
66
New cards
machine code
BINARY that represent simple instructions executed by a processor.

when necessary for humans to see and interact its usually repped as hexadecimal (easier to read and understand than binary)
67
New cards
assembly language
allow programmers to write machine code using a set of 'mnemonics' that represent the binary equivalent in machine code.

english language equivalent of the operation EG ADD
LDA
BRA
68
New cards
Assembler
translates the source code (which is in assembly language) into machine code equivalent so it can be run.
69
New cards
advantage of low level languages
- programmer is able to ensure the machine code is in its most efficient form.

- assembly corresponds to machine code more directly so programmer can optimise and have more say over how and what program does .

- possible optimisation is low level can make use of specific registers and more control over movement of data in and out of the processor

- suitable for low memory embedded systems and device drivers

- can ensure device resources are used efficiently eg if the device has limited storage or memory
70
New cards
disadvantage of low level languages
- more difficult to write programs as programmer needs to have a very good understanding of the hardware used

- not portable as they are specific to a particular instruction set. high level can be compiled for diff processors

- low level doesn't have library of functions unlike high level where they can be imported and used. AKA instructions have to be written by scratch.
71
New cards
Advantages of high level languages
- much easier to write and understand than low level. normal command words such as IF, DO , FOR are used so its much easier for humans to understand.

- portable (can be compiled or translated to run on a wide range of computer architectures as they are not specific to a particular instruction set.

- come with libraries of functions that can be imported and used so have the adv of pre-written code

- higher level of abstraction so one command equates to many machine code instructions (makes it faster and easier to write)
72
New cards
examples of imperative languages
PYTHON
C
FORTRAN
73
New cards
addressing modes in machine code
direct
immediate
74
New cards
direct addressing mode
operand specifies address of memory or register location (of the data to be used or stored).
75
New cards
Immediate Addressing Mode
operand is actual value of the data to be used (often denoted by \# in assembly language)
76
New cards
translator
system software that translates program written in source code into machine code

-interpreters
-compilers
-assemblers
77
New cards
source code
code written by a programmer specifying the actions to be performed by computer software
78
New cards
object code
Output of translator after turning source code into machine code.
79
New cards
main ways of high level into machine code
compilation
interpretation

determined by particular implementation of the language
80
New cards
low level into machine code
this code ie assembly language programs use

ASSEMBLERS to be translated
81
New cards
Compiler
translate source code into executable machine code that CANNOT be converted back into source code

is a program suite
82
New cards
interpreter
translate and execute each line of source code one by one
83
New cards
differences between compiler and interpreter
- compiler doesn't execute code unlike interpreter

- compilers compile the whole program whereas interpreter has a line by line approach to show errors
84
New cards
adv of compiler
- code can be well optimised by compiler

- compiled programs can be distributed as machine code so source code is hidden and can be kept secret for commercial reasons

- no translation needed at execution time as its already done when compiled.
85
New cards
diasdv of compiler
-have to wait until the entire program is compiled before receiving any errors, which for a large program may take some time

- If you want to change something in the program, you have to recompile the entire program

- The executable code produced is specific to the machine
86
New cards
adv of interpreter
- Errors will be reported as soon as they are encountered, which means that you don't have to wait for the entire program to be compiled

- Errors are shown line by line as the interpreter reaches them (identifies where the error acc is) hence --\>

- Debugging is quick and easy
87
New cards
Disadv of interpreter
- The program requires an interpreter to be run

- Translating the code line by line at execution time is slower than running compiled machine code (as each time program is run it has to be translated all over again)

- The interpreter takes up space in memory
88
New cards
assembler
translate assembly code programs into executable code.

assembly code is platform-specific so assemblers are similarly specific.
89
New cards
when to compile or interpret
depends on the programming language in use. For example, Java programs must be compiled, whereas PHP programs are interpreted.

programmer should considers benefits and drawbacks of each technique when choosing a language that needs to be compiled or interpreted
90
New cards
bytecode
Most interpreted languages now use bytecode as an intermediate stage to speed up the translation process.

The source code is compiled to produce bytecode, which is interpreted (ie translated and executed) by a virtual machine

eg java uses it to make their language portable
91
New cards
addressing mode
The way in which the operand is interpreted.
92
New cards
brief evolution of languages
ada lovelace - binary
assembly language

assembly language

autocode
algol
cobol
basic
c
93
New cards
When is assembly code preferred
If wanted more direct control over data manipulation

needs to be executed as fast as possible whilst occupying the littlest space as possible

eg embedded systems, sensors, device drivers, interrupt handlers
94
New cards
adv of bytecode
speeds up the translation process

portable as long as user has virtual machine

can act as extra security as you are running or sharing bytecode instead of source code itself which can be copied and sold etc
95
New cards
order of operations boolean algebra
1. brackets
2. NOT
3. XOR
3. AND, NAND
5. OR, NOR
96
New cards
advantages of NAND gates
can minimise cost of production

using as few gates as possible can speed up processing

less heat generated
97
New cards
operating system
role is to hide the complexities of the hardware
98
New cards
what is am equivalence tester and how to make one
checks if two bits are the same

use XOR then NOT gate
99
New cards
three basic operations of processors
adding, shifting and flipping bits
100
New cards
what does a binary half adder do
adds two single bit binary numbers together

outputs the result of calculation (S) and the value that is carried (C)