Our site uses cookies. Some of the cookies we use are essential for parts of the site to operate and have already been set. You may delete and block all cookies from this site, but parts of the site will not work. To find out more about cookies on this website, see our Cookie Policy
Accept
© eRevision.uk and ZigZag Education 2025
This test is run by .
Note that your final mark will not be saved in the system.

Classifying Software & Programming Languages GapFill

Target Level
4-5
Running Total
0
0%
Attempt
1 of 3

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   storageOperating System (OS)driverCPU, 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   compiledcompressedmade available to which processesquarantined.


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  driverfragmentregisterkey logger 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   passwordfirewallsdriversaccess rights 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  patchedcompressedjoined upencrypted.


In addition computers also use a wide variety of applications that maintain the computer and improve its performance or security, known as   application softwareembedded softwaregeneral purpose softwareutility software. These include:

  • encryption applications that   delete unused filesprevent data from being read by unauthorised usersrearrange programs in storage into sequence so that they can run fasterhide files marked as private
  • defragmentation applications that   rearrange programs in storage into sequence so that they can run fasterprevent data from being read by unauthorised usershide files marked as privatedelete unused files
  • compression applications that   prevent data from being read by unauthorised usersreduce the size of filesrearrange programs in storage into sequence so that they can run fasterback up files in storage
  • backup applications that  back up files in storagerearrange programs in storage into sequence so that they can run fasterreduce the size of filesdelete unused files


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   source codea translatormachine codean assembler.


This is an example of a   high-levellow-levelmid-levelprocedural language, a programming language   where each instruction matches an operation in the CPU's instruction setwhere each instruction is the equivalent of several operations in the CPU's instruction setthat is less efficient than high-level languagesthat uses an IDE. 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 code takes up a lot of memorydifferent processors have different clock speedsthey are complicated to programdifferent processors have different instruction sets.


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   using a compileron multi-core CPUsembedded systemsacross a network). 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   SQLC#PythonC, 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  A debuggerassemblerUtility softwareIDE 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   replace the keywords in the source code with instructions from the CPU's instruction setconvert and then run each line of code in sequenceconvert all of the source code into machine code at oncecorrect all errors before translating the source code. The translated code is known as   object codeIDEembedded codehexadecimal and this is what the computer is capable of executing. Interpreters   convert all of the source code into machine code at onceconvert and then run each line of code in sequencereplace the keywords in the source code with instructions from the CPU's instruction setcorrect all errors before translating the source code, 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.


This is your 1st attempt! You get 3 marks for each one you get right. Good luck!

Pass Mark
72%