15.2 Operating Systems, Software Components, and Resource Issues

Key Takeaways

  • An operating system manages hardware resources and provides services to applications: it schedules processes, manages memory, organizes files, controls devices through drivers, and enforces security.
  • System software (the operating system, device drivers, utilities, and language translators) supports the computer, while application software (browsers, word processors, games) performs tasks for users.
  • When running programs need more memory than the installed RAM, the operating system uses virtual memory on storage; too much swapping (thrashing) makes the system very slow.
  • A process is a running program; the scheduler shares CPU time among processes, for example in round-robin time slices, so many programs appear to run at once.
  • Deadlock can occur only when mutual exclusion, hold-and-wait, no preemption, and circular wait all hold, so preventing any one of these conditions prevents it.
Last updated: September 2026

What this competency asks

ETS asks you to know that operating systems are programs that control and coordinate interactions between hardware and software components:

  1. Identify hardware components and their functions (Section 15.1).
  2. Identify software components and their functions.
  3. Identify common operating-system tasks.
  4. Identify resource issues that have an impact on functionality.

Software components

CategoryExamplesFunction
Operating systemWindows, macOS, Linux, ChromeOS, iOS, AndroidManages hardware and provides services to other software
KernelThe core of the operating systemRuns with full hardware access; handles processes, memory, and devices
Device driversPrinter, graphics, and network driversTranslate operating-system requests into commands for specific hardware
Utility programsBackup, antivirus, disk cleanup, compression toolsMaintain and protect the system
Language translatorsCompilers, interpreters, assemblersTurn source code into runnable form (Section 12.1)
FirmwareBIOS/UEFIStarts the hardware and loads the operating system
Application softwareBrowsers, office suites, games, learning appsPerform tasks for the user

The first six are system software, which runs and supports the computer. Application software serves the user's goals.

Users
  ↓
Application software (browser, spreadsheet, IDE)
  ↓   system calls
Operating system (process, memory, file, device, and security management)
  ↓   drivers
Hardware (CPU, RAM, storage, network, I/O devices)

Common operating-system tasks

TaskWhat the operating system doesExample
Process managementStarts and stops programs, shares CPU time, handles multitaskingMusic keeps playing while you type
Memory managementGives each program its own memory space; provides virtual memoryPrograms cannot overwrite one another's data
File managementOrganizes files and folders; controls reading and writingSaving, renaming, and searching for files
Device managementCommunicates with hardware through drivers; handles interruptsPrinting; recognizing a USB drive
Security and access controlUser accounts, passwords, permissions, and updatesStudents cannot change system settings
User interfaceCommand-line or graphical interfaceDesktop, windows, and menus
NetworkingConnects to networks and manages connectionsWi-Fi setup
Error handling and loggingDetects and reports errors; keeps logsCrash reports

Processes and scheduling

A process is a program in execution, with its own memory and state. A thread is a sequence of execution within a process; threads share the process's memory. On a single core, the scheduler switches rapidly between processes (multitasking), often in round-robin time slices of a few milliseconds. The switching itself, called a context switch, costs time. On multicore processors, processes and threads can truly run in parallel.

A process moves through states: new → ready → running → (waiting for input or output → ready) → terminated. A running process goes back to ready when its time slice ends.

Memory management and virtual memory

The operating system gives each process the illusion of its own large memory space. With virtual memory, parts of a process's memory that are not currently needed are stored on disk and brought into RAM when they are needed, in fixed-size pages. If running programs together need much more than the installed RAM, the system spends most of its time moving pages between RAM and disk. This is thrashing: the disk is constantly busy while useful CPU work drops sharply.

File systems

A file system organizes storage into files within a hierarchy of folders, tracks where each file's data blocks are, and enforces permissions. Absolute paths start at the root (/home/lee/notes.txt), while relative paths start from the current folder (../notes.txt).

Resource issues that affect functionality

Resource problemSymptomRemedy
Not enough RAMSlowdown and thrashing when many programs or browser tabs are openClose programs; add RAM
Storage nearly fullCannot save files or install updates; slower performanceDelete or archive files; add storage
CPU overloadedLaggy interface; slow processingClose background tasks; faster or more cores
Too little network bandwidthBuffering video; slow downloadsReduce simultaneous use; upgrade the connection (Section 16.3)
Battery or power limitsMobile devices throttle performancePower-saving settings
Outdated or missing driversDevices stop workingInstall the correct drivers
Resource contentionPrograms wait for the same printer, file, or lockScheduling, queues, and locking

Deadlock

A deadlock occurs when processes wait on one another forever. For example, process A holds the printer and waits for the scanner, while process B holds the scanner and waits for the printer. Coffman and colleagues (1971) identified four conditions that must all hold for deadlock to occur:

  1. Mutual exclusion: a resource can be used by only one process at a time.
  2. Hold and wait: a process holds one resource while waiting for another.
  3. No preemption: resources cannot be taken away from a process by force.
  4. Circular wait: a cycle of processes, each waiting for the next.

Preventing any one condition prevents deadlock. A common method is to make every process request resources in the same fixed order, which breaks circular wait.

Operating systems on different devices

Desktop operating systems prioritize flexibility and multitasking. Mobile operating systems add strict app permissions, battery management, and touch interfaces. Embedded systems (Section 15.3) often use small real-time operating systems that guarantee responses within fixed time limits, which is essential for devices such as airbag controllers and pacemakers.

Test Your Knowledge

A computer with 4 GB of RAM becomes extremely slow when a student opens many large programs at once. The storage-activity light stays on constantly, while the programs barely respond. What is the most likely cause?

A
B
C
D
Test Your Knowledge

Which of the following is NOT one of the four conditions that must all hold for deadlock to occur?

A
B
C
D
Test Your Knowledge

Which task is performed by an operating system rather than by an application program?

A
B
C
D
Test Your Knowledge

A new printer does not work until a small program from the manufacturer is installed that lets the operating system send it commands. What type of software is this?

A
B
C
D