The general term applied to the instructions that direct the computer's hardware to perform work
Software is distinguished from hardware by its conceptual rather than physical nature
Purposes of software
Translate instructions created in human language into machine language
Make the computer an economical work tool
At the machine level, computers can understand only binary numbers, not English or any other human language
Writing software instructions (programming) is extremely difficult, and time-consuming
Programs
Software supplied as organized instruction sets that translate operations the user needs into language and instructions the computer can understand
By itself, computer hardware is merely a collection of printed circuits, plastic, metal, and wires. Without software, hardware performs no functions
Categories of software
System software
Utility programs
Applications software
System software
Boots up the computer system
Controls input, output, and storage
Controls the operations of the application software
Basic Input/Output System (BIOS)
The first level of system control, a combination of hardware and software that is the first part of the computer to function when the system is turned on
Firmware
Programs on chips that straddle the line between hardware and software
Operating System (OS)
The overall controller of the computer's work
Manages all the computer's activities after the BIOS has finished its startup routine
Can be upgraded or entirely changed through software
In the early computers, there were no OSs, so every programmer had to include explicit instructions in every program to tell the CPU exactly where-in RAM to locate the lines of program code and data to be used during processing
OSs allowed not only more complex programs and systems, but without them, there could be no home computers, except for skilled programmers
Microsoft Windows
A popular operating system type preloaded on most new PC hardware
Windows 11
A major version of the Microsoft Windows operating system released in 2021, with a similar user interface to Windows 10 but some minor changes
macOS
The operating system that powers every Mac, designed specifically for the hardware it runs on
Linux
A family of open source operating systems, where the kernel, utilities and libraries are entirely free and open source
Chrome OS
The operating system that powers Chromebooks, a budget-friendly alternative to Windows laptops or MacBooks
Types of utility software
Security programs
Disk management utilities
Backup utilities
Screen savers
Archival software
Programming environment support programs
Security software
Includes antivirus, firewall, and encryption programs
Firewalls monitor port usage and prevent unused ports from being used by hackers
Encryption software
Encodes data so it cannot be read until decoded, such as the HTTPS protocol
BitLocker
Microsoft's proprietary encryption program for Windows that can encrypt entire drives and help protect against firmware-level malware
Disk management utilities
Analyze disk space usage, defragment drives, delete duplicate files, compress data, partition disks, and diagnose problems
Backup utilities
Help users back up their data, usually to an external hard drive or online backup location
Screen savers
Blank the monitor screen or fill it with moving images when the user is away, to prevent damage to old screens
Provide some privacy but not security
Archival software
Compresses files into a compressed form for long-term storage, using techniques like packing, zipping, compressing, and archiving
Compression can sharply reduce the size of a large file such that it can be made small enough to email to another person or location
They don't provide security because a passing person could also tap a key to get back to the regular screen
Screen savers
Sometimes require users to log back into their computer to turn off the screen saver, and those do have a security function
Archival software
Compresses information in files to be archived, and then stores them in a compressed form in some long term storage device
Archival utilities for Windows
WinZip
WinRar
Unpacking (or decompressing)
Software must be used to unpack the data so that it can be read
Terms used to describe data compression
Packing
Zipping
Compressing
Archiving
Unpacking
Unzipping
Dearchiving
Extraction
Programming environment support programs
Used by program developers to support their programming work or to run their programs
Computers cannot read or understand English or any other human language
Compilers and interpreters
Programs that translate the language in which developers write programs (the source code) into a machine language the computer can understand
Decompiler
Program used by a programmer to translate a machine language program into a higher level language a human can understand
Programming is difficult; not only does the programmer have to detail complex logic, but the commands that comprise the program must be written in a specific syntax
Syntax
A set of very specific rules about words, punctuation, word usage, and word order in a particular computer language