1.2- Software Flashcards
API
Application Programming Interface: Interface between 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 high level language into standalone ‘exe files’ 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. 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 exe files. Programs written for interpreters can only run if interpreter (or a ‘runtime’ module of interpreter) is installed on computer
Low level programming languages
Assembler type languages that typically use fewer commands, but more simple instructions to produce very fast and efficient code
Machine code
Instructions in binary format (0’s and 1’s) that CPU can directly execute
Multiprocessing
Type of processing that takes place when the operating system divides the programs/threads/processes between multiple CPUs (physical chips or cores)
Multitasking
OS splits CPU time between multiple programs, so computer seems to be doing more than one task at a time
Multithreading
Ability of OS to allow programs to split themselves into multiple tasks (or ‘threads’) that can be run at the same time
Operating system
System software which controls all the activities that take place in computer
Operating system for computers
Windows, OS X, Linux
Operating system for mobile devices
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