Software (paper 1) Flashcards
Define application software
Application software runs on the operating system and provides the services that the user requires for example a word processing package
Define system software
System software programs are those that are needed to enable the computer to function including the operating system utilities and library routines
Define an operating system (OS)
-A group of programs that are essential for managing the computers resources. These are ran on the firmware
-Examples are Windows and Apple IOS
Describe how the OS multi tasks?
-The OS coordinates the CPU to schedule processes
-All processes currently in memory waiting to be executed are held in a circular queue
-The CPU allocates each process a time slice and switches to the next process very quickly
-Making it seem as though they run at the same time
-This is known as multi tasking
What is a driver
Software used to provide an interface for a hardware device
What is an interrupt?
-A signal from a software program or hardware device to the CPU
How does a software interrupt occur?
-It occurs when an application program terminates or requests certain services from the OS
-It also occurs with a program error such as when a division by 0 occurs or when 2 processes try to access the same memory location
How does a hardware interrupt occur?
-It may occur when an I/O operation is complete or when a new USB device is plugged in and detected
-It also may occur when a key is pressed in the keyboard and the mouse is moved
-Interrupts are also triggered regularly by the timer to indicate that it is the turn of the next process to have processor time. This is why multi-tasking can take place
What is the software called that determines how to handle each interrupt?
Interrupt service routine (ISR)
Describe how the OS helps manage memory
-Files and programs need to be in memory for the CPU to perform tasks which use them
-The OS moves programs and files between memory and storage (E.G hard drive) if virtual memory is required
What is the role of the bootloader?
-It is a small piece of software (firmware) that is responsible for starting up a computer
-The firmware is held in ROM and automatically starts up when the computer is switched on
-It loads the OS into RAM
Why is the bootloader stored in ROM and not RAM
As the contents of ROM are not lost when the computer is turned off
Define a high level language
-A high level language has a syntax and structure similar to English that is designed to be understood by humans
-These have to be compiled or interpreted before they’re ran
What are examples of high level languages?
Python, visual basic and C#
What does it mean for a programming language to be hardware independtant?
-They can run on any system
-The programmer therefore can focus on their own task rather than concerning themselves with the architecture of the computer
Define a low level language
A language closer to the machines language
What are some examples of a low level language?
-Binary code
-Assembly code
What are the advantages to a high level language?
-Easier for humans to read, write and understand
-Easier for humans to debug code
-Portable and machine independent
-One statement can represent many low level instructions
What are the disadvantages to a high level language?
-Cannot directly manipulate the software
-Must be converted into a low level language before it can be run
What are the advantages to a low level language?
-Machine code doesn’t need to be converted and assembly code needs to be assembled which is quicker than from a high level language
-Can directly manipulate the software which makes the program more efficient in terms of speed and memory usage
What are the disadvantages to a low level language?
-Not portable
-Machine dependent
-More difficult for users to understand, read and write
-Harder for users to debug code
-Several instructions are needed for each high level language statement
Define a translator
A type of software that converts code written in one programming language into another usually a high level into a low level language
What are the types of translator?
-Compiler
-Assembler
-Interpreter