Chapter 4 - Software Flashcards
Compiler
program that translates high level language into machine code, to be read and executed by the computer
Linker
program that takes one or more object file and combines them into a program file
Device drivers
enables hardware to communicate with the operating system
Operating system
Makes sure device runs properly and lets user interact
Utilities
manage, control maintain computers resources
VIRUS CHECKERS
The anti-virus software will run constantly in the background
They check software or files before they are loaded and run
Compares the possible virus to an already existing database
Heuristic checking (checks software for types of behaviour that could lead to a virus, as sometimes the viruses are not on the database)
Files that are infected are put into a “quarantine”
They are either automatically deleted
Or the user can pick (maybe a false positive??)
Needs to be kept up to date
Full system checks happen once a week, since some viruses are dormant and can only be picked up through a full system check.
DEFRAGMENTATION SOFTWARE
Rearranges data to make sure it is stored next to eachother, and that files remain together
As the HDD becomes full, blocks used for files become scattered around the disk (differnet sectors, tracks and surfaces)
Files get deleted, partially deleted extended and so on
Slower data retrieval time
Would be better if data was contiguous (right next to eachother)
BACK-UP SOFTWARE:
Schedule for backing up, it is automatic
Only backs up files if changes have been made
There should be three versions of a file (the current working version stored in the HDD/SSD, locally backed up, remote version stored away from the computer)
Microsoft windows - restore, time machine, and options of where to store data
File history, which takes snapsahots of files and stores them at regular intervals
Mac OS uses time machine (erases contents of file and replaces them with new version) will back up every hour, do daily for the last month and weekly for all the months before
SECURITY SOFTWARE
Manages access control and user accounts
Protects network interfaces
Uses encryption and decryption to ensure intercepted data is meaningless
Oversees updating of software
SCREENSAVERS
Supply pictures on the monitor after a period of inactivity
Mostly used for aesthetic purposes, but can also help with security (eg. device will be logged out automatically after 5 minutes)
Originally made to protect CRT tubes
Can trigger virus checks and distributed computing applications
DEVICE DRIVERS
Communicate with the operating system and translate the language into something that can be understood by hardware.
When a device is plugged into the USB port, a device driver is looked for
They contain information about devices called descriptors, and it can ask what the device is.
Each device includes a vendor ID, product ID and serial number
Human computer interface
Either GUI (images and icons) or CLI( direct communication with written commands)
Memory Management (
(manages RAM, and transfer between RAM and HDD/SSD, also memory protection, and memory allocation for different applications. If more than one application is assigned to the same memory location, the computer could crash, security could be compromised, and wrong data)
Security Management (
(ensure the integrity, confidentiality and availability of all your data, carrying out operating system updates, virus updates, communicating w firewalls etc.
Hardware Peripheral Management
(communicates with all input and output devices using device drivers, ensures each hardware resource has a priority so that they can be used and released as required, manages input/output devices by controlling queues and buffers)
File Management (
( file naming conventions, specific tasks, access control)
Interrupts
Signal sent by a device or software to the microprocessor
Stops doing everything to service the interrupt
Timing signal, an input or output device needing more data, hardware fault, user control, software issue
When received, the microprocessor will either servie it or keep going → depends on interrupt priority
Basically, data is being passed in and out of the RAM very rapidly, so it seems like multiple tasks are happening simultaneously
Uses a BUFFER
Stores data temporarily
Platform to run apps
Multitasking
(so the computer can run more than one app at the same time , resources are allocated to a process for a specific time limit » the process can be interrupted while it is running » the process is given a priority so it can have resources according to its priority)
Management of user accounts
(Computers allow more than one user to log onto the system. It is therefore important that users’ data is stored in separate parts of the memory for security reasons, also, often an administrator who is in control)
RUNNING OF APPLICATIONS
When a computer starts up, part of the operating system needs to be loaded into RAM – this is known as booting up the computer
The start-up of the computer’s motherboard is handled by the basic input/output system (BIOS).
BIOS tells the computer where the storage device that holds the operating system can be found
The BIOS is often referred to as firmware. Firmware is defined as a program that provides low level control for devices.
BIOS stored in a special type of ROM, called EEPROM (Electrically Erasable Programmable ROM) (it is a flash memory chip, so works even if comp is powered down, but can still be changed or erased
BIOS settings are stored on a CMOS chip (Complementary Metal Oxide Semi-conductor) - powered up at all times
Settings would be reset if the battery was removed or disconnected, so the BIOS still works, just goes back to default settings
INTERRUPTS
Signal sent by a device or software to the microprocessor
Stops doing everything to service the interrupt
Timing signal, an input or output device needing more data, hardware fault, user control, software issue
When received, the microprocessor will either servie it or keep going → depends on interrupt priority
Basically, data is being passed in and out of the RAM very rapidly, so it seems like multiple tasks are happening simultaneously
Uses a BUFFER
Stores data temporarily
HIGH LEVEL LANGUAGE
Programmer focuses on task at hand
Does not need knowledge of system or hardware
Close to english, simple commands, automatic debugging
LOW LEVEL LANGUAGE:
specific architecture and hardware of a particular type of computer
Machine code or assembly language (needs to be translated)