Chapter 4 Software Flashcards
What is software?
A series of instructions written in a programming language that tell the computer to do something
What is system software?
A type of software which manages hardware and other software and allows communication between them
What is the operating system (OS)?
A piece of system software which manages the computer, allows the user to communicate with the computer and lets software run
What are utility programs?
System software that maintains the computer system
What are some things utility programs do?
Performs system clean-up and defragmentation
What is system clean-up?
The process of finding and removing unused programs and data
What is defragmentation?
The process of rearranging so files are located together (contiguous) and free space is located together
What is application software?
Software which allows the user to perform a task
What are some examples of application software?
(generic names)
word processors, spreadsheet, database, web browser
What does a spreadsheet do?
Allows the user to perform calculations on data
What does a word processor do?
Allows the user to create text documents
What does a database do?
Allows the user to store, search and manipulate a data set
What does a web browser do?
Allows the user to view and navigate websites by retrieving and displaying them.
What is firmware?
Instructions that are stored in ROM and loaded when a computer starts
What is the bootstrap?
First commands loaded whenever a computer turns on, checking the hardware and loading firmware
How does application software run?
The Operating System (OS) lets application software run on it
How does the Operating System run?
The firmware provides instructions to the Operating System
How does the firmware run?
The bootstrap loads the firmware and tells it to run
How does the bootstrap run?
The bootstrap is loaded when a computer turns on as it is the first commands loaded when a computer starts
What are some types of Operating System (OS)?
Windows, Linux, macOS for PCs and laptops. Android OS and iOS for mobile phones
What is the overarching purpose of the OS?
Allow the user to interact with the hardware
What does the operating system do?
Provide an interface for the user, manages files, peripherals and drivers, memory, interrupts, user accounts, allows multitasking and application software to run
What is an interface?
The way a user can communicate with the computer, inputting data and getting it outputted to them
What are the types of interface?
Graphical User Interface (GUI), command line interface, natural language interface
What does WIMP stand for?
Windows, icons, menus, pointers
What is a GUI?
An interface which uses WIMP, useful for novices as it is easy to use. EG: Windows
What is a command line interface?
An interface requiring the user to input text as commands. Useful for expert users as commands must be exact. EG: Linux
What is a natural language interface?
An interface which lets the user input text or speak commands, the OS analysing them afterwards and executing the action. EG: Apple’s Siri
Does an OS let the user create files?
No, a user uses application software to make files
How does an OS manage files?
The OS lets the user move, copy, delete, name and rename files and create directories they will be stored in. Allows other actions too, like sorting by date
What is a peripheral?
A hardware device not part of the computer itself which inputs, stores or outputs data
What is a driver?
Software that controls a device, translating data to and from the device for the computer. Drivers can be used for peripherals
Why may drivers be needed?
A peripheral is programmed by the person making it, not the developer of the OS. It may not be compatible. EG: using a different binary interpretation
How does an OS manage peripherals and drivers?
The OS allows the installation of drivers and the sending of data to and from them
How does the OS manage memory?
The OS ensures the processes being executed have enough memory allocated, don’t try to access the same memory location and manages the movement of data to and from hardware
How does multitasking work?
A single processor can only execute 1 instruction at a time. However, it switches between tasks so fast it appears to be doing several at once
What are interrupts?
A signal sent to the processor telling it its attention is required
How does the OS manage multitasking?
The OS decides which processes should be executed next and how long they can be processed before switching to another process with interrupts
How does the OS manage interrupts?
The OS decides which interrupts to run and executed the actions required
What are the types of interrupts?
Interrupts can be software (EG: program request for input) or hardware based (EG: printer out of paper)
How is it decided which interrupts need immediate attention and which can wait?
An interrupt has a priority level, high-priority interrupts needing attention quickly (EG: hardware failure) and low-priority interrupts being able to wait (EG: data input). The Interrupt Handler manages this
What is the interrupt handler (IH)?
A program which organises interrupts in an order based on their priorities, placing them in a queue
When does the processor check the interrupt queue?
After it finishes its current fetch-decode-execute cycle (or before the next FDE cycle)
What happens to the current task of the processor if there is an interrupt with a higher priority?
The current process is stored
What is an interrupt service routine (ISR)?
A program which retrieves an interrupt and executed the required action(s)
How does the processor execute the needed actions for the interrupt?
The processor checks the interrupt’s source and calls the relevant interrupt service routine (ISR)
What happens after the processor is finished with the interrupt?
The stored process is returned to memory or another higher-priority interrupt is fetched
What if the interrupt isn’t of a higher priority than the current task of the processor?
The processor runs another FDE cycle
How does the OS provide a platform for applications to run on?
The OS fetches instructions from application software and executes them
How does the OS manage user accounts?
The OS allows a user to set up an account, separates data for multiple accounts and restricts access by using the password (text and/or biometric)
What are the 2 main types of programming languages?
High-level languages and low-level languages