Please enable JavaScript.
Coggle requires JavaScript to display documents.
A Level Computing - Section 4 (Chapter 19 (System Software (Examples…
A Level Computing - Section 4
Chapter 20
Functions of an Operating System
Backing Store Management
OS also needs to know which areas of storage are free so that new files or applications can be saved
The operating system is required to keep a directory of where files are stored so that they can be quickly accessed
Peripheral Management
The operating system communicates with different devices to allow different applications to use them
The OS also ensures that peripherals are allocated to processes without causing conflicts
Processor Scheduling
The operating system is responsible for allocating processor time to each application as they compete for CPU
Multi-tasking is when the processor can give the appearance of carrying out several tasks simultaneously by carrying out small parts of multiple larger tasks in turn
The scheduler is the operating system module responsible for making sure that processor time is used as efficiently as possible
Objectives of the Scheduler
Be fair to all users on a multi-user system
Ensure hardware resources are kept as busy as possible
Provide acceptable response time to all users
Maximise throughput
Interrupt Handling
Should an error occur, the OS is responsible for detecting the interrupt signal and displaying an appropriate message
It is because a processor can be interrupted that multi-tasking can take place
An interrupt is a signal from a peripheral or software program that causes the operating system to stop processing its current list of instructions and think what to do next
Memory Management
The allocation and management of space is controlled by the operating system
If the computer's RAM is not large enough to store all the programs simultaneously, so the hard disk is used as an extension of memory - called virtual memory
Chapter 19
System Software
Software needed to run the computer's hardware and application programs
Examples
Operating System
Utility Programs
Libraries
Translators
Application Software
General-purpose Software
Special-purpose Software
Hardware
The term used to describe the electric or electro-mechanical parts of a computer and its input, output and storage devices
Software
Comprises of all the programs that are written to make computers function
Chapter 23
Simple Logic Gates
AND
OR
NOT
More Complex Logic Gates
NAND
XOR
NOR
Chapter 21
Assembly Lanuage
Improvements on Machine Code
Each opcode was replaced by a mnemonic which gave a good clue to what the operator was actually doing
The operand was replaced by a decimal (or hexadecimal) number
High-level Programming Languages
Improvements
Relatively easy to learn
Much easier and faster to write a program in a high level langauge
Much easier to understand, debug and maintain
Not dependent on the architecture of a particular machine
Many built-in library functions available in most high-level languages
Different high-level languages are often written specifically for a particular class of problem
High-level as they enable programmers to think and code in terms of algorithms, without worrying about how each tiny stop will be executed in machine code and where each item of data will be stored
Machine Code
In machine code, a typical instruction holds an operation code in the first few bits and an operand in the rest of the memory cells
Called a low-level programming language because the code reflects how the computer actually carries out the instruction
Chapter 24
Chaper 22
Compiler
The source code is input as data to the compiler which scans through it several times, each time performing different checks and building up tables of information needed to produce the final object code
The object code can then be saved and run whenever needed without the presence of the compiler
Advantages over Interpreter
The object code can be saved on a disk and run without the need to recompile
Object code executes faster than interpreted code
Object code produced by a compiler can be distributed or executed without having t have the compiler present
Object code is more secure
A program that translates a high-level language into machine code
Interpreter
Contains subroutines to carry out each high-level instruction
The interpreter looks at each line of the source code, analyses it and, if it contains no syntax errors, calls the appropriate subroutine within its own program code to execute the command.
Advantages over Compiler
Useful for program development as there is no need for lengthy recompilation each time an error is discovered
Easier to partially test and debug programs
Assembler
The assembler program takes each assembly language instruction and converts it to the corresponding machine code instruction
The input to the assembler is called the source code and the output is called the object code
Before an assembly language program can be executed, it must be translated into the equivalent machine code which is done by the assembler
Bytecode
Most interpreted languages use an intermediate representation which combines compiling and interpreting
The bytecode may be compiled once and for all or each time a change in the source code is detected before execution
Advantages
Achieve platform independence
Acts as an extra security layer