Skip to main content
Humanities LibreTexts

18.2: Software

  • Page ID
    72863
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Software

    Computer software (often called just software) is

    A blank document is shown in the window
    A screenshot of the OpenOffice.org Writer software

    made of one or more computer programs. Sometimes it means one specific program, or it can mean all the software on a computer, including the applications and the operating system. Applications are programs that do a specific thing, such as a game or a word processor. The operating system (Mac OS, Microsoft Windows, Linux, etc.) is software that helps the applications run, and controls the display and the keyboard.

    The word software was first used in the late 1960s to show the difference from computer hardware, which are the parts of a machine that can be seen and touched. Software is the instructions that the computer follows. Before compact discs (CDs) or Internet downloads, software came on “soft media” like paper punch cards, magnetic discs or magnetic tape.

    If you compare computers to music and musical instruments you can think of hardware as being the instruments and software being the musical notes.

    The word firmware is sometimes used to describe a style of software that is made specially for a particular type of computer (or other electronic device) and is usually stored on a Flash memory or ROM chip in the computer. Firmware usually refers to a piece of software that directly controls a piece of hardware, for example the firmware for a CD drive or the firmware for a modem.

    Categories

    Computer software can be put into categories based on common function, type, or field of use. There are three broad classifications:

    1. Application software are the computer programs for performing user tasks such as word processing and web browsers.
    2. System software is used to start and run computer systems and networks. This includes operating systems.
    3. Computer programming tools (also known as Development Software) are used to create application and system software. This is done by translating and combining computer program source code and libraries into executable RAMs. These include compilers and linkers.

    Operating System

    An operating system (also called an OS) is a piece of software that is needed to run the programs on a computer or a mobile device. The programs that run on an operating system talk to the hardware.

    Common Families of Operating Systems

    • Linux
      • Debian (derivatives include Ubuntu, Mint, Trisquel)
      • Red Hat (derivatives include Fedora, CentOS, Blag)
      • Arch (derivatives include Parabola)
      • Gentoo (derivatives include Ututo XS)
      • Slackware
      • Android
    • BSD
      • FreeBSD
      • Mac OS X
      • OpenBSD
      • NetBSD
    • Microsoft Windows
      • Windows 1.0
      • Windows 3.x
      • Windows NT 4.0
      • Windows NT 5.0
      • Windows NT 6.0
      • Windows 95
      • Windows 98
      • Windows 2000
      • Windows ME
      • Windows XP
      • Windows Vista
      • Windows 7
      • Windows 8
      • Windows 8.1
      • Windows 10
    • iOS
      • iOS 4
      • iOS 5
      • iOS 6
      • iOS 7
      • IOS 8
    • Android
      • CyanogenMod
      • Replicant
    • Be Family
      • BeOS
      • Magnussoft ZETA
      • Haiku (operating system)

    An operating system must be made up of different parts: (these can change depending on the operating system)

    • kernel and drivers
    • computer programs and software

    Tasks Commonly Done by Operating Systems

    • Interaction with the user, and management of attached devices (such as USB flash drives)
    • Management of programs (things like starting and stopping them)
    • Management of resources like processor time: Making sure each program gets a fair amount of power.
    • The reading and writing of data
    • Memory management: virtual memory, paging, swapping

    What an Operating System Does

    Most ordinary computer users take their operating system for granted. The easiest way to understand what an operating system does is to take a close look at what computers were like before operating systems were invented.

    The earliest electronic computers did not have any operating system. If the user wanted to change what the computer was doing, the user had to open the back panel on the (then very large) computer, and change how the wires were connected. Changing what the computer did was very time consuming and required an expert.

    Later, computer scientists decided to have the wires stay as they were, and feed instructions to the computer with punched cards (cards with holes that represented instructions) or magnetic tape. The computer would store the instructions in some kind of memory. This way of operating a computer is called thevon Neumann architecture.

    Still, computers of the time generally only had enough memory to “remember” one program at a time. If the user wanted the computer to run a different program, the user had to wipe out the first program from memory and then load another program into memory.

    Computer operators and computer scientists grew tired of carrying around large stacks of punch cards. They also wanted computers to run more than one program at a time. As years of work changed or replaced computers to have more memory, computer operators and computer scientists decided that some computers could hold several programs in its memory. The computer user could then simply choose which program the user wanted to run. Running a computer this way requires a “boss” program that controls all the other programs, and asks the user what program the user wants to run. Such a boss program is called an operating system.

    Having several programs in memory that can be run at any time makes some new problems. The operating system itself has to remember where the programs are at in memory. The operating system also has to prevent two programs from fighting over which one gets to use the processor.

    Modern desktop or laptop computers need an operating system so that they can operate. They are usually sold with it already installed. Operating systems normally start up automatically when the user turns on the computer.

    Differences

    Operating systems can also have other differences:

    • Some are real-time systems.
    • Some are distributed systems.
    • Most use a GUI, some use a text-based interface.

    Utility Software

    In computing, a utility is a program or module which is used to give a general-purpose result, for many different uses. A utility is intended for a wide range of users, rather than an “app” (application program) which might be intended to serve a specific purpose for specific users.

    For example, a utility program may handle computer files or guard against computer viruses.

    The word “utility” has been used to mean a “general-purpose computing tool” for many decades, since at least 1960.[1][2][3]

    Booting

    Booting is what happens when a computer starts up. When you boot a computer, your processor looks in system ROM (the BIOS) for instructions and does them. They normally ‘wake up’ add-in cards and searches for the boot device. The boot device either loads the operating system or gets the operating systemfrom someplace else.

    People use the word “boot” to mean “to start a computer” or other device with electronics built in. For example, if a person wants to ask a friend to turn on a satellite phone, they would say “could you boot up the satellite phone?”.

    Most operating systems call the first device it uses a boot device. This is because the computer is making itself go, as in the idiom. When we start a computer, we can often see the simple instructions the computer uses to start, then more complicated pictures or software.

    The phrase “to boot” in this meaning is short for “to bootstrap”. This use is part of net jargon along with similar multi-use words like net or web. Often the computer is just called a box, so a phrase like “to boot the box” means “to start the computer”.

    The term “reboot” can also be used in a different context to mean a restarting of a storyline established in previous iterations of a series of fiction.

    To “reboot” is not only a computer reference, but is also sometime referenced in giving birth to cows.


    1. "What does utility program mean?", Definitions.net, June 2011 (notes "Etymology: 1960"), web: DN
    2. "Programmed Data Processor-1, 1960", ComputerHistory.org, archives, 1960, web (PDF file): CH-PDF
    3. "Catalog of Copyright Entries. Third Series: 1960", 1961, Library of Congress. Copyright Office, p.350, web: BG-AAJ, notes "IBM 705 III utility program: data file print... ©10May60".

    Contributors and Attribution

    CC licensed content, Shared previously

    This page titled 18.2: Software is shared under a not declared license and was authored, remixed, and/or curated by Lumen Learning.

    • Was this article helpful?