Note that your final mark will not be saved in the system.
Classifying Software & Programming Languages GapFill
You must fill all the gaps before clicking ‘Check Answers!’
Computers use a variety of programs to manage their resources and perform basic operations. The most important of these is the computer's , which is responsible for peripheral management, memory management, maintaining file systems, providing user profiles and creating a user interface. Memory management is used to determine when to load programs into memory, and which parts of memory should be .
The OS also manages input and output devices, known as peripherals, with so many different devices available; the computer uses a program known as a device which enable the computer to communicate with a particular peripheral. Each input/output device has its own driver and these are usually downloaded automatically when a device is added to the system.
An important role of the OS is security management which includes maintaining User profiles which allow multiple users to share a computer system while preventing them from accessing each other's private data. It also allows for to be set up, which can prevent certain users from making unwanted changes to the system. This also ensures that updates to the OS are automatically downloaded so that any security loopholes are quickly .
In addition computers also use a wide variety of applications that maintain the computer and improve its performance or security, known as . These include:
- encryption applications that
- defragmentation applications that
- compression applications that
- backup applications that
Another type of software used on a computer is application software, which allows users to perform tasks like word processing, image editing etc. Each application needs to communicate with the OS and uses the API (Application Program Interface)to ensure the processor allocates processor time and memory space which the application needs.
Computers represent instructions and data as binary information, sequences of 1s and 0s. When such a sequence instructs a computer to perform an operation, it is known as .
This is an example of a language, a programming language . Assembly language is a low-level language that can usually be directly translated to machine code, but is far easier to understand. Low-level languages tend to be non-portable, as .
Low-level languages can be difficult to use, as even simple operations can require many instructions to be carried out. As a result, they tend to be used only for parts of a program that need to be particularly efficient (which is often the case for programs running ). Instead, developers usually create programs in high-level languages, such as Java or Python. High-level languages are designed to be easy to use, and can be tailored to a specific task (such as , which was developed specifically for using databases).
As computers cannot directly execute assembly or high-level languages, the code created in these languages (known as source code) must be translated so that the computer can execute them.
An is a type of translation software that converts assembly language into machine code, which is relatively straightforward due to the similarity of the two. High-level languages are more complicated to translate, and there are two ways to translate high-level languages: with a compiler or with an interpreter.
Compilers . The translated code is known as and this is what the computer is capable of executing. Interpreters , which makes them useful for identifying where errors may be occurring in a program. While high-level languages are portable, and high-level source code can function even if it is moved to a computer with a different instruction set, the files that are created when source code is compiled are non-portable.