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
Why do we need a translator when using a high level language?
A translator is needed to convert high level code into machine code or binary instructions which can then be executed by the CPU
What are the properties of a compiler?
-Translates a high level language program in one go to produce object code
-A compiled program executes faster than an interpreted one as it is already in machine code
-Produces an executable file so the original code does not need to be compiled again
-No need for the compiler to be present when the object code is run
-After compilation the compiler provides an error report for the whole code if any errors are detected
What are the properties of an interpreter?
-Translates and executes one line of a high level language at a time
-Takes more time to execute as each instruction is translated before executed
-Source code will be interpreted or translated every time it is run
-The interpreter must be installed to run the program
-An interpreter stops execution as soon as an error is found. This is useful when developing a program
Which languages use an interpreter?
-Python
-Java
Which languages use a compiler?
-C#
-VB
What is the function of an assembler?
-It converts assembly language into machine code
Define Integrated development environment (IDE)
-Software used to enter and edit source code
-It will also compile programs to machine code and have debugging features
Define firmware
Instructions that are stored in the ROM and loaded when a computer starts
Define peripheral
A hardware device used to input, store or output data from a computer that is not directly part of the computer itself
Define portable
A program that can be run on different types and manufactures of computers
Define non portable
A program that cannot be run of different types and manufactures of computers
What is a breakpoint?
-These can be set to pause the program at any point
-This enables the programmer to check the value of variables at specific points in the code to find errors
What debugging and error diagnostic features do IDE provide?
-Breakpoint
-Variable watch window
-Stepping
What is a watch window?
-A watch window is commonly used to display the value of specific variables as they change with each line of code
What is stepping?
Stepping enables the programmer to step through line by line as they monitor the change in values
What features do IDE provide?
-Error diagnostics
-Runtime environment
-Translators
-Code editors
What is runtime environment?
This enables a program to be run and let the user interact with the program
What does the editor in IDE include?
-Auto-correction
-Auto-completion
-Prettyprint
What is auto-completion?
A feature of an editor that gives the user options when they start typing a command
What is auto-correction?
A feature of an editor that identifies spelling errors and changes them
What is prettyprint?
A feature of an editor that changes the colour of text for example to highlight key words
What is an IDE?
Software that provides useful functions for a programmer writing a program
What is utility software?
Software that is designed to keep your computer safe and running efficiently. It provides useful tools to manage files and applications
What are the types of utility software?
-Compression
-File repair
-File management
-Defragmentation
-Backup
-Anti-malware
-Device drivers
What is file repair utility software?
-File repair restores file to its previous working state if a file becomes corrupted
What is full backup?
Takes a copy of everything and puts into different media or into a different location
What is incremental backup?
-Scans to see what has changed since last backup and only backs up the items that have changed
What is compression utility software?
Reduces the size of a file so it takes up less space and can be downloaded over the internet quicker
They must be extracted before they can be read
What is defragmentation utility software?
-Reorganises files onto a hard disk by putting fragments of files and free space back together
Why should SSD’s never be defragmented?
As they have no moving parts so defragmenting it will ruin the lifespan
What is anti-malware software?
-This keeps your computer and files safe from malware
What is software?
General term covering all computer programs
What is hardware?
All physical parts of a computer and its related devices internal and external
What is multitasking?
Where you have more than one program open and running at the same time
How does the OS multitask?
-The OS assigns each task a time slice
-Letting it process and move onto the next task so quickly it appears it’s happening at the same time