Software definitions

5.0(1)
studied byStudied by 18 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/31

flashcard set

Earn XP

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

32 Terms

1
New cards
Software
A set of programs/instructions written in a programming language performing 1 or more tasks to tell the computer what to do. It allows the computer to function.
2
New cards
Hardware
The physical and peripheral components of a computer.
3
New cards
Firmware
A software permanently stored on the hardware/ROM which contains instructions allowing the hardware to function and communicate with software.
4
New cards
Bootloader
A small piece of firmware containing the instructions to start up the operating system; it loads the OS onto the RAM upon startup.
5
New cards
How do applications access hardware resources?
Through making 'calls' to the OS and the device drivers.
6
New cards
System software
The manager: A variety of programs which are necessary for the computer to function and manages the operation of computer hardware and software.
7
New cards
Application software
The software which the user needs to perform specific tasks using the computer's resources.
8
New cards
Operating system
The platform in which other programs/applications are run on. Also provides the user with a human computer interface.
- Allocates the hardware's resources
9
New cards
Utility Software (MMC)
Manages, maintains, and controls the computer's resources. It makes sure everything runs smoothly.
10
New cards
Interrupts
A signal sent from a device or a software to the OS which causes a temporary stop in the current instruction being processed to service the interrupt.
11
New cards
What are interrupts sent through?
Interrupt Request Lines (IRQ)
12
New cards
What are interrupts sent to?
The interrupt handler in the OS to perform the Interrupt Service Routine (ISR)
13
New cards
Examples of Interrupts
- Dividing by 0
- Hardware faults like no paper in printer
- Hardware interrupts like keyboard presses
14
New cards
High Level Language (HLL)
Programming language written in a language (like English) that humans understand. It is a portable language which can be used on multiple platforms (machine independent).
15
New cards
Low-Level Language (LLL)
Programs written for a specific type of architecture and hardware. It is non-portable and machine dependent.
16
New cards
Advantages and Disadvantages
* Debug ease
* Hardware (directly manipulates or machine independent)
* Ease of writing/understanding
* Memory space taken up (1 line = 1 machine or many lines of abstraction?)
* Speed of execution
17
New cards
Assembly language
A low-level language, it uses mnemonics to specifically manipulate hardware. 1 line of assembly language translates to 1 line of machine code.

* Difficult to debug
* Mnemonics
* Directly manipulates hardware

Ex. Bootstrap in ROM
18
New cards
Assembler
Translates assembly language into machine code. Assembly language generally takes up less memory space than high level languages.
19
New cards
Advantages of Assembly language
* Uses less space in memory
* Faster processing speed
* Therefore is more efficient overall
* Directly manipulates hardware
20
New cards
What is a compiler?
A compiler is a software program that translates source code written in a high-level programming language into machine code that can be executed directly by a computer.

* Compiles and translates the entire file at once
* Produces an executable file specific to computer architecture
* If a syntax error is encountered, the compiler doesn’t produce an executable file, and sends out an error report
21
New cards
What is an interpreter?
A software program which translates high-level language into machine code line-by-line

* If a syntax error is encountered, it stops translating at that line and sends out an error report
* Code must be retranslated each time it is run
22
New cards
Advantages of a compiler
* Produces an executable file, so users can’t see or edit the source code for stealing
* Only needs to be translated once, so it’s faster to run
* User doesn’t need to have interpreter installed to execute the code
23
New cards
Advantages of an interpreter
* Faster and easier to debug during the development process, as users can clearly see where the error was made
24
New cards
Integrated development environment (IDE)
A program which allows users to write, debug, and translate code

Consists of: Prettyprint, Run-time environments, Code editors, Autocomplete and autocorrect, Translators, and Error Diagnostics
25
New cards
Code editors
Used to write and edit program code

* Makes the code clearer, to make editing easier for programmers
* Prettyprint, Syntax highlighting, Indentation, Line numbers, Autocorrect and complete
26
New cards
Run-time environments
The facility of the IDE which runs programs

* Allows users to test code
* Gives useful reports as to errors or program crashes
27
New cards
Prettyprint
Applying formatting and indentation to make the code easier to read
28
New cards
Error Diagnostics
A list of errors and their line numbers reported after testing

* Helps find mistakes made by the programmer. 
* Errors are identified along with the line number.
* The code may be underlined or highlighted.
29
New cards
Auto correct
Replaces/corrects any grammatical errors or variable names which have minor typing errors
30
New cards
Autocomplete
Provides a drop down list of variables/possible choices to complete keywords/variables
31
New cards
Translators
Allows the user to run the code using compilers and interpreters
32
New cards
What does the system software do?
* Helps maintain **good working order** of the computer so it runs **without problems**.
* Provides a platform to run other software. 
* Controls **allocation and usage of hardware resources**. 

Provides a **Human Computer interface (HCI)**