Gr 11 1.2 – SOFTWARE Flashcards
API
Application Programming Interface – an interface between
the operating system and the programming language / end
user.
Assembler
A program that translates assembler code to machine code.
Compilers
Software that translates programming instructions written in
a high-level language into standalone ‘executable files’ (with
an .exe extension) that can be run independently of the
programming language or compiler.
High level programming language
Programming languages that are easier for humans to write
and understand, that rely on extensive pre-written libraries
to execute complex instructions with just a few lines of code.
Interpreters
Software that translates programming instructions into
machine code one line at a time. Does not generate
executable files. Programs written for interpreters can only
run if the interpreter (or a special ‘runtime’ module of the
interpreter) is installed on the computer.
Low level programming language
Assembler type languages that typically use fewer
commands, but correspondingly more simple instructions, to
produce very fast and efficient code.
Machine code
Instructions in binary format (0’s and 1’s) that the CPU can
directly execute.
Multiprocessing
The type of processing that takes place when the operating
system divides the programs/threads/processes between
multiple CPUs (Physical chips or cores).
Multitasking
The operating system splits the CPU time between multiple
programs, and so the computer seems to be doing more
than one task at a time.
Multithreading
The ability of an operating system to allow programs to split
themselves into multiple tasks (or threads) that can be run
at the same time.
OS
Operating System. System software, which controls all the activities that take
place in a computer.
OS for computers
Windows, OS X, Linux
OS for mobile
iOS, Android, Windows RT, Windows Phone 8, Blackberry OS
10
Process
Any sequence of instructions that can be executed by a CPU.
Process management
The task of making sure that each process gets enough CPU
time and access to hardware resources so that it can work
without interfering with or being interfered with by other
processes.