Reference: Operating System Concepts, 10th Edidtion
1.1 What Operating Systems Do
- operating system. An operating system (OS) is software that manages a computer's hardware. It also provides a basis for application programs and acts as an intermediary between the computer user and the computer hardware.
- users' view of OS: pay attention to mostly ease of use, partly performance, and none resource utilization
- computer's view of OS: resource allocator / control program
- kernel. A common definition of OS is that the operating system is the one program running at all times on the computer -- usually called the kernel.
- system programs and application programs. Along with the kernel, there are two types of programs: system programs, which are associated with the operating system but are not necessarily part of the kernel, and application programs, which include all programs not associated with the operation of the system.
- middleware: a set of software frameworks that provide additional services to application developers.
- In summary, the operating system includes the always running kernel, middleware frameworks that ease application development and provide features, and system programs that aid in managing the system while it is running.
1.2 Computer System Organization
- device controller. Each device controller is in charge of a specific type of device. Depending on the controller, more than one device may be attached. All device controllers are interconnected through a common bus.
- device driver. Typically, operating systems have a device driver for each device controller. This device driver understands the device controller and provides the rest of the operating system with a uniform interface to the device. The CPU and the device controllers can execute in parallel, competing for memory cycles.
- interrupt. The interrupt must transfer control to the appropriate interrupt service routine. The interrupt architecture must also save the state information of whatever was interrupted, including the processor state, so that it can restore the state information after servicing the interrupt.
- interrupt vector. A table of pointers to interrupt routines are stored in low memory ( the first hundred or so locations).
- interrupt-request line: the line that the CPU senses after executing every instruction.
- interrupt-handler routine. By using the interrupt number as an index into the interrupt vector, the CPU jumps to the interrupt-handler routine.
- interrupt-controller hardware.
- nonmaskable interrupt.
- maskable interrupt.
- interrupt chaining.
- interrupt priority levels.
- random-access memory (RAM).
- dynamic random-access memory (DRAM).
- bootstrap program: the first program to run on computer power-up.
- volatile memory: memory that loses its content when power is turned off or otherwise lost.
- firmware.
- secondary storage: able to hold large quantities of data permanently.
- hard-disk drives (HDD)
- nonvolatile memory (NVM) devices.
- tertiary storage
- direct memory access (DMA). The device controller transfers an entire block of data directly to or from the device and main memory, with no intervention by the CPU. Only one interrupt is generated per block, to tell the device driver that the operation has completed, rather than that the one interrupt per byte generated for low-speed devices.
1.3 Computer-System Architecture
- core: the component that executes instructions and registers for storing data locally.
- multiprocessor systems: multiple processors, each with single core.
- symmetric multiprocessing (SMP): each peer CPU processor performs all tasks, including operating-system functions and user processes.
- multicore systems: multiple computing cores reside on a single chip. Multicore systems can be more efficient than multiple chips with single cores because on-chip communication is faster that between-chip communication.
- shared system interconnect: so that all CPUs in a multiprocessor system share one physical address space.
- non-uniform memory access (NUMA).
- blade servers.
- clustered system.
- graceful degradation.
- fault tolerant: ability to suffer a failure of any single component and still continue operation.
- asymmetric clustering.
- hot-standby mode: do nothing but monitor the active server.
- symmetric clustering: two or more hosts run applications and monitor each other.
- distributed lock manager (DLM).
- storage-are networks (SANs).
1.4 Operating-System Operations
- system daemons.
- trap / exception: a software-generated interrupt caused either by an error or by a specific request from a user program that an operating-system service be performed by executing a special operation called system call.
- multiprogramming.
- process: a program in execution.
- multitasking
- CPU scheduling.
- user mode.
- kernel mode (also called supervisor mode, system mode, or privileged mode).
- mode bit.
- privileged instructions: designate some of the machine instructions that may cause harm as privileged instructions. The hardware allows privileged instructions to be executed only in kernel mode.
- protection rings.
- timer. A timer can be set to interrupt the computer after a specified period.
- variable timer. A variable timer is generally implemented by a fixed-rate clock and a counter.
1.5 Resource Management
The operating system is responsible for the following activities in connection with process management:
- Creating and deleting both user and system processes
- Scheduling processes and threads on the CPUs
- Suspending and resuming processes
- Providing mechanisms for process synchronization
- Providing mechanisms for process communication
The operating system is responsible for the following activities in connection with memory management:
- Keeping track of which parts of memory are currently being used and which process is using them
- Allocating and deallocating memory space as needed
- Deciding which processes (or parts of processes) and data to move into and out of memory
The operating system is responsible for the following activities in connection with file management:
- Creating and deleting files
- Creating and deleting directories to organize files
- Supporting primitives for manipulating files and directories
- Mapping files onto mass storage
- Backing up files on stable (nonvolatile) storage media
The operating system is responsible for the following activities in connection with secondary management:
- Mounting and unmounting
- Free-space management
- Storage allocation
- Disk scheduling
- Partitioning
- Protection
The I/O subsystem consists of several components:
- A memory-management component that includes buffering, caching, and spooling
- A general device-driver interface
- Drives for specific hardware devices
网友评论