10 Matching Annotations
  1. Aug 2025
    1. The most common secondary-storage devices are hard-disk drives (HDDs) and nonvolatile memory (NVM) devices, which provide storage for both programs and data. Most programs (system and application) are stored in secondary storage until they are loaded into memory. Many programs then use secondary storage as both the source and the destination of their processing. Secondary storage is also much slower than main memory. Hence, the proper management of secondary storage is of central importance to a computer system, as we discuss in Chapter 11.

      HDDs and NVM devices store programs permanently, but their slower speed compared to RAM makes careful OS management important.

    2. The CPU can load instructions only from memory, so any programs must first be loaded into memory to run. General-purpose computers run most of their programs from rewritable memory, called main memory (also called random-access memory, or RAM). Main memory commonly is implemented in a semiconductor technology called dynamic random-access memory (DRAM).

      Programs can only run after being placed into RAM, which serves as the CPU’s immediate workspace.

    3. Most CPUs have two interrupt request lines. One is the nonmaskable interrupt, which is reserved for events such as unrecoverable memory errors. The second interrupt line is maskable: it can be turned off by the CPU before the execution of critical instruction sequences that must not be interrupted. The maskable interrupt is used by device controllers to request service.

      Modern CPUs use advanced mechanisms like maskable/nonmaskable interrupts and vectored interrupts with chaining to manage many devices efficiently and safely.

    4. Hardware may trigger an interrupt at any time by sending a signal to the CPU, usually by way of the system bus. (There may be many buses within a computer system, but the system bus is the main communications path between the major components.) Interrupts are used for many other purposes as well and are a key part of how operating systems and hardware interact. When the CPU is interrupted, it stops what it is doing and immediately transfers execution to a fixed location. The fixed location usually contains the starting address where the service routine for the interrupt is located. The interrupt service routine executes; on completion, the CPU resumes the interrupted computation. A timeline of this operation is shown in Figure 1.3.

      Interrupts allow hardware and the OS to communicate efficiently, ensuring that urgent tasks are handled immediately without losing ongoing work.

    5. Defining Operating Systems

      I know it’s tricky to even pin down the definition of an operating system (OS), because computers themselves can be used in so many ways, from small devices such as toasters to massive server machines. So it goes way way back to a time when hardware was practically unusable unless you wrapped up the same few common things like I/O control and resource allocation together in a piece of (software) system.

      A major point of confusion is there is no one definition Some people think the OS is everything that is shipped with the computer, whereas others only consider the kernel which is the thing that’s always running.

    6. What Operating Systems Do We begin our discussion by looking at the operating system's role in the overall computer system. A computer system can be divided roughly into four components: the hardware, the operating system, the application programs, and a user (Figure 1.1). Figure 1.1 Abstract view of the components of a computer system. The hardware—the central processing unit (CPU), the memory, and the input/output (I/O) devices—provides the basic computing resources for the system. The application programs—such as word processors, spreadsheets, compilers, and web browsers—define the ways in which these resources are used to solve users' computing problems. The operating system controls the hardware and coordinates its use among the various application programs for the various users. We can also view a computer system as consisting of hardware, software, and data. The operating system provides the means for proper use of these resources in the operation of the computer system. An operating system is similar to a government. Like a government, it performs no useful function by itself. It simply provides an environment within which other programs can do useful work. To understand more fully the operating system's role, we next explore operating systems from two viewpoints: that of the user and that of the system.

      Hardware provides resources, applications use them to solve problems, and the OS ensures everything runs smoothly between them and the users.