81 terms

Systems Architecture Ch 11/13

Command Layer
Called the shell, user interface to the OS. A user or system administrator can run application and OS utility programs and manage system resources.
Command Language
Called a job control language. A set of commands and syntax requirements. User must know the language's syntax and semantics to issue commands.
Service Layer
Contains thousands of reusable components that provide functions ranging from file and folder manipulation to accessing I/O devices, starting and stopping programs, and creating, moving, and resizing GUI windows.
Service Call
A request to execute a service-layer function. Application programs and utility programs perform most of their functions by executing service calls.
OS portion that manages resources and interacts directly with computer hardware. Includes resource allocation layer and interface programs called device drivers for each hardware device in the computer.
OS support for running multiple programs simultaneously. Uses elaborate procedures to share resources between processes and users and prevent them from interfering with one another.
Real Resources
A computer's physical devices and associated system software.
Virtual Resources
Resources that are apparent to a program or user as allocated by the OS.
An OS that enables dividing a single physical computer or cluster into multiple virtual machines.
Server Consolidation
Uses VMs as small virtual servers hosted by a hypervisor running on a larger machine.
Bare-metal Hypervisors
Are installed much like OSs but provide only minimal OS-type functions, such as the capability to start and stop VMs and manage physical resources on behalf of VMs.
Virtualization Environments
Are installed as an application in another OS.
Unit of executing software that's managed independently by the OS and can request and receive hardware resources and OS services.
Process Control Block
OS keeps track of each process by creating and updating a data structure for each active processes.
Process Queue
Called a process list. Often searched by OS components. A list of PCBs.
To create other processes and communicate with them.
Parent Process
Original process
Child Process
Newly created process
Sibling Processes
Child processes of a single parent are collectively called this.
Process Family
A group of processes descended from a common ancestor.
A portion of a process that can be schedules and executed independently. Can execute concurrently on a single processor or simultaneously on multiple processors.
Thread Control Block
The OS keeps track of thread-specific information in this.
Run Queue
Also called thread list. All active TCBs are organized into a data structure called this.
A process or program that divides itself into multiple threads.
Concurrent Execution
Also called interleaved execution. Threads sharing a single CPU by using small time slices.
Ready State
Idle, pending availability of a CPU.
Act of giving control of a CPU to a ready thread.
Running State
A thread retains control of a CPU until the thread or its parent process terminates normally or an interrupt occurs.
Blocked State
Suspended thread remains on the stack until interrupt processing is completed.
The decision-making process the OS uses to determine which ready thread moves to the running state.
OS portion that makes scheduling decisions.
Preemptive Scheduling
A thread can be removed involuntarily from the running state.
Timer Interrupt
Generated at regular intervals of between several dozen and several thousand CPU cycles.
Priority-based Scheduling
Determines which ready thread should be dispatched to the CPU according to one or more of the following methods: first come first served, explicit priority, or shortest time remaining.
First Come First Served
The scheduler always dispatches the ready thread that has been waiting the longest.
Explicit Priority
Assigns a priority level to each process or thread.
Shortest Time Remaining
Chooses the next thread to be dispatched based on the expected amount of CPU time needed to complete the process.
Real-time Scheduling
Guarantees a minimum amount of CPU time to a thread if the thread makes an explicit real-time scheduling request when it's created.
Thread Cycle
Execute instructions to process a single transaction, retrieve and store data from an I/O device, or retrieve and analyze one set of process variables.
Memory Allocation
The assignment of specific memory addresses to system software, application programs, and data.
Most Significant Byte
The leftmost byte in a byte sequence.
Least Significant Byte
The rightmost byte in a byte sequence.
Addressable Memory
Highest numbered storage byte that can be represented.
Physical Memory
The actual number of memory bytes that are physically installed in the machine. Can be smaller than addressable memory.
All portions of the program and OS are loaded into sequential locations in memory.
Process Offset
The difference between the first address in physical memory and the address of the first process instruction.
Absolute Addressing
Uses memory address operands that refer to actual physical memory locations.
Indirect Addressing
Also called relative addressing. Computing physical memory addresses automatically.
Offset Register
The register holding the offset value.
Address Mapping
Also called address resolution. The process of determining the physical memory address that corresponds to a memory reference.
Occurs when memory partitions allocated to a single process or purpose are scattered throughout physical memory.
Relocate all programs in memory periodically in a process called this.
Noncontiguous Memory Allocation
Uses small fixed-size partitions, usually no larger than 64KB to simplify the discussion and figures in this section.
Virtual Memory Management
Divides a program into partitions called pages.
A smaller fixed-size portion of a program, normally between 1 and 4KB.
Page Frame
Each memory page is called this.
Page Hit
A reference to a page held in a memory.
Page Fault
A reference to a page held in secondary storage.
Page Tables
Store information about page locations, allocated page frames, and secondary storage space.
Swap Space
Called Swap file or page file. A secondary storage region is reserved for the task of storing pages not held in memory.
A page currently in memory.
Memory Protection
Refers to protecting memory allocated to one program from unauthorized access by another program.
Distributed Computing
Also called distributed processing. Distributing parts of an information system across many computer systems and locations.
Client/Server Architecture
Method of organizing software to provide and access distributed information and computing resources.
Uses the communication interface to request resources, and the server responds to these requests.
Three-layer Architecture
Also called three-tier architecture. Divides application software into the data layer, business logic layer, and view layer.
Data Layer
Manages stored data, usually in databases.
Business Logic Layer
Carries out the rules and procedures of business processing.
View Layer
Accepts user input and formats and displays processing results.
N-layer Architectures
Also called n-tier architectures. Architectures having more than three layers.
Describes software that glues together parts of a client/server or multitier application.
Peer-to-peer Architecture
The roles of client and server are combined into a single application or group of related applications.
Protocol Stack
Software implementing the transport, internet, and network interface layers.
Static Connection
A user or system administrator must know the server and resource names to create this.
Location Transparency
Also called network transparency. A Web browser should access resources on remote machines in the same manner it accesses resources on the local machine.
Resource Registry
The resource locator maintains this, which contains the names and locations of known resources and services.
Dynamic Connections
A resource user asks for a resource, and it it isn't found in the local resource registry, the resource locator searches for it in external locations.
A region of shared memory through which multiple processes executing on the same machine can exchange data. Commonly used for communication between OS components, for queueing requests to an OS service, and for exchanging messages between components in a large program.
Named Pipe
A pipe with a name that's permanently placed in a file system directory and the capability to communicate between processes on different computers.
Remote Procedure Call
A protocol in which a process on one machine can call a process one another machine.
Distributed Computing Environment
Standard for distributed OS services defined by the Open Group. Covers network directory services, file sharing services, RPC, remote thread execution, system security, and distributed resource management.