Software definitions

studied byStudied by 17 people
5.0(1)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 31

flashcard set

Earn XP

32 Terms

1
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.
New cards
2
Hardware
The physical and peripheral components of a computer.
New cards
3
Firmware
A software permanently stored on the hardware/ROM which contains instructions allowing the hardware to function and communicate with software.
New cards
4
Bootloader
A small piece of firmware containing the instructions to start up the operating system; it loads the OS onto the RAM upon startup.
New cards
5
How do applications access hardware resources?
Through making 'calls' to the OS and the device drivers.
New cards
6
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.
New cards
7
Application software
The software which the user needs to perform specific tasks using the computer's resources.
New cards
8
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
New cards
9
Utility Software (MMC)
Manages, maintains, and controls the computer's resources. It makes sure everything runs smoothly.
New cards
10
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.
New cards
11
What are interrupts sent through?
Interrupt Request Lines (IRQ)
New cards
12
What are interrupts sent to?
The interrupt handler in the OS to perform the Interrupt Service Routine (ISR)
New cards
13
Examples of Interrupts
  • Dividing by 0

  • Hardware faults like no paper in printer

  • Hardware interrupts like keyboard presses

New cards
14
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).
New cards
15
Low-Level Language (LLL)
Programs written for a specific type of architecture and hardware. It is non-portable and machine dependent.
New cards
16
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

New cards
17
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

New cards
18
Assembler
Translates assembly language into machine code. Assembly language generally takes up less memory space than high level languages.
New cards
19
Advantages of Assembly language
  • Uses less space in memory

  • Faster processing speed

  • Therefore is more efficient overall

  • Directly manipulates hardware

New cards
20
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

New cards
21
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

New cards
22
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

New cards
23
Advantages of an interpreter
* Faster and easier to debug during the development process, as users can clearly see where the error was made
New cards
24
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
New cards
25
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

New cards
26
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

New cards
27
Prettyprint
Applying formatting and indentation to make the code easier to read
New cards
28
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.

New cards
29
Auto correct
Replaces/corrects any grammatical errors or variable names which have minor typing errors
New cards
30
Autocomplete
Provides a drop down list of variables/possible choices to complete keywords/variables
New cards
31
Translators
Allows the user to run the code using compilers and interpreters
New cards
32
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)

New cards
robot