Chapter 4: Software Flashcards
Define Software
Programs that help the user interact with a computer’s hardware.
What are the two main types of software?
Application Software
System Software
Name 3 (general) examples of Application Software
Word processor
Spreadsheet
Database
Browser
etc.
What are the two types of system software?
Operating System
Utility Programs
What is the function of the Operating System?
To provide an interface for the user and a platform for applications
Managing Files, Peripherals, Drivers, Memory, Multitasking, interrupts, and user accounts.
Name 2 examples of utility programs
Backup Software
File management software
Antivirus Software
etc.
What is loaded first when a computer is turned on?
The bootstrap, with the instructions on how to turn on the computer.
What is loaded after the bootstrap?
The Firmware
What is the function of firmware?
Giving instructions to the OS
What is a Graphical User Interface (GUI)
A screen that’s easy for users to interact with, including windows, icons, menus, and pointers.
i.e. Windows
What is a command line interface?
A more advanced way to interact with the computer, requiring a user to enter text as exact commands.
i.e. Linux
What is a natural language interface
A program that interprets typed or spoken words and executes them as programs
i.e. Alexa
What are peripherals
Separate input and output devices that can be connected to a computer
What are drivers
Devices used to connect peripherals and computers, such as a USB.
Which memory location does the OS most often interact with?
RAM
How does an OS keep the information of several users private?
By protecting them with a password.
What are interrupts?
Signals from the hardware or software telling the computer to switch tasks.
What happens if a computer receives an interrupt?
Processor finishes current FDE (fetch-decode-execute) cycle
IH checks interrupt queue seeing if there is an interrupt more important than the current task
If it is: Stores current process and fetches interrupt, checking its source
Calls the relevant Interrupt Service Routine (ISR) and executes interrupt
Returns to FDE cycle or another high-priority interrupt
If it isn’t: Continues FDE cycle
Name 2 types of software interrupts
Division by 0
Output required
Program request for input
etc.
Name 2 types of hardware interrupts
Data input i.e. key clicked on keyboard
Hardware failure
New Hardware device connected
etc.
What type of programming language is easy for the user to understand?
High-level
What type of programming language is hard for a user to debug?
Low-level
What type of programming language is portable?
High-level
Which language can be run directly without converting to another language?
Machine code
Which language uses mnemonics to represent functions?
Assembly Language
Which language can directly manipulate the hardware?
Machine code
What software is needed to convert a high-level language to machine code?
Translator
i.e. Interpreter, compiler
Which software is needed to convert assembly language to machine code?
Assembler
Which translator executes code one line at a time?
Interpreter
Which translator reports all syntax errors at once and can’t run until they are all fixed?
Compiler
Which translator is better for distributing a program?
Compiler
Which translator is better for writing/testing a program?
Interpreter
Which translator produces an executable file and doesn’t need additional software to run?
Compiler
Which translator allows part of a program to be tested without running it all?
Interpreter
What is the Integrated Development Environment (IDE)
A part of a translator that makes the programmer’s life easier when writing and testing code.
Name 3 accessibility (convenience) features of an IDE?
Auto-correction to match correct syntax
Auto-completion of code
Prettyprint
Run-time environment
What is prettyprint?
A function of IDEs to color code different parts of the code to make code easier to amend.
What is a run-time environment?
A window in an IDE to allow the user to run a program in the same place that they are making it.
What are 2 debugging features of an IDE?
Break points, ability to see variable values at any given point
Variable Watch Window, a place where variables are displayed in real time.
Stepping, allowing a user to go through code one line at a time