プリンキピア

第6章インフラストラクチャーの抽象化層:オペレーティングシステム

Chapter Review章の復習

Key Terms重要用語

access control list (ACL)
アクセス制御リスト(ACL)
list of rules that specifies which users are granted the access to a specific object or resource
どの利用者に、特定の対象やリソースへのアクセスを認めるかを指定する規則の一覧。
access enforcement
アクセス制御の強制
part of the OS that is responsible for enforcing access controls and protecting authentication and authorization information
アクセス制御の実施と、認証・認可情報の保護を担当するOSの部分。
address space
アドレス空間
set of addresses generated by programs as they reference instructions and data
プログラムが命令やデータを参照するときに生成するアドレスの集合。
address translation
アドレス変換
stage of virtualization that occurs when the system needs to find a physical address in the memory that matches the virtual address
仮想アドレスに対応するメモリ内の物理アドレスを、システムが見つける必要があるときに行う、仮想化の段階。
allocation
割り当て
method that defines how data is stored in the memory by providing a set of requests for resources and identifying which processes should be given which resources to make the most efficient use of the resources
リソース要求の集合を与え、リソースを最も効率よく使うために、どのプロセスへどのリソースを与えるかを識別し、メモリ内のデータの保存方法を定める方法。
application programming interface (API)
アプリケーションプログラミングインターフェース(API)
set of rules and tools that allows different software applications to communicate with each other
異なるソフトウェアアプリケーションが互いに通信できるようにする、規則と道具の集合。
authentication
認証
process of checking to see if a user’s credentials match the credentials in a database of authorized users or in a data authentication server
利用者の認証情報が、認められた利用者のデータベースや、データ認証サーバーにある認証情報と一致するかを確認する処理。
authorization
認可
process of determining the relationship between principals, operations, and objects by defining which principals can perform which operations on which objects
どの主体が、どの対象に、どの操作を行えるかを定めることで、主体、操作、対象の関係を決める処理。
badge
バッジ
logical access system that serves as a form of authentication
認証方法として機能する、論理的なアクセスシステム。
blocked state
ブロック状態
when a process is waiting for an event to occur
プロセスが、ある事象の発生を待っている状態。
cache-only memory architecture (COMA)
キャッシュ専用メモリアーキテクチャー(COMA)
computer memory architecture where all memory is treated as cache, which allows for the dynamic allocation of data for optimized access and performance in multiprocessor environments
すべてのメモリをキャッシュとして扱うコンピューターのメモリアーキテクチャー。データを動的に割り当て、マルチプロセッサ環境でのアクセスと性能を最適化できる。
capability list
ケイパビリティリスト
list of objects and operations for each user that defines the user rights and capabilities
利用者ごとの対象と操作の一覧で、その利用者の権利と権限を定めるもの。
cloud infrastructure
クラウド基盤
virtualized and scalable hardware resources delivered over the Internet as a service
サービスとしてインターネット経由で提供される、仮想化され、規模を調整できるハードウェアリソース。
concurrency
並行性
multiple activities and processes happening at the same time—in other words, the OS handling multiple tasks at once
複数の活動やプロセスが同時期に進むこと。言い換えると、OSが一度に複数のタスクを扱うこと。
concurrent processing
並行処理
computing model that improves the performance when multiple processors execute instructions simultaneously
複数のプロセッサが同時に命令を実行することで、性能を高めるコンピューティングモデル。
condition variable
条件変数
synchronization mechanism that is used in conjunction with locks to allow threads to wait for certain conditions to become true
ロックと組み合わせて使い、特定の条件が真になるまでスレッドを待たせる同期の仕組み。
container
コンテナー
standardized unit of software that logically isolates an application enabling it to run independently of physical resources
アプリケーションを論理的に分離し、物理リソースから独立して動作できるようにする、標準化されたソフトウェアの単位。
context switch
コンテキストスイッチ
procedure that a computer’s CPU follows to change from one task to another while ensuring that the tasks do not conflict
タスク同士が競合しないことを確保しながら、コンピューターのCPUが一つのタスクから別のタスクへ移るための手順。
CPU state
CPUの状態
consists of the program counter (PC), the stack pointer (SP), and general-purpose registers
プログラムカウンター(PC)、スタックポインター(SP)、汎用レジスタから構成されるもの。
critical section
クリティカルセクション
piece of code that only one thread can execute at once; also, only one thread at a time will get into this section of code
一度に一つのスレッドだけが実行できるコードの部分。また、その部分へ入れるのも、一度に一つのスレッドだけである。
deadlock
デッドロック
synchronization challenge that occurs when a set of threads are blocked forever, waiting for each other to release resources
スレッド群が互いのリソース解放を待ち、永久にブロックされるときに起こる、同期上の問題。
demand paging
デマンドページング
storage mechanism in which pages should only allocate in the memory if it is required from the execution process
実行プロセスが必要とする場合にだけ、ページをメモリへ割り当てる記憶の仕組み。
device manager
デバイスマネージャー
layer in the layered OS architecture that handles devices and provides buffering
階層型OSアーキテクチャーで、デバイスを扱い、バッファリングを提供する層。
device register
デバイスレジスタ
interface view any device presents to a programmer where each I/O device appears in the physical address space of the machine as a few words
デバイスがプログラマーへ見せるインターフェース。各I/Oデバイスが、マシンの物理アドレス空間内に、数ワードとして現れる。
directory
ディレクトリー
set of files that contains all the required information about the files such as attributes, location, and ownership, which is managed by the OS
属性、場所、所有者など、ファイルについて必要な情報をすべて含む、OSが管理するファイルの集合。
distributed file system (DFS)
分散ファイルシステム(DFS)
file system that is distributed on multiple file servers or multiple locations that support network-wide sharing of files and devices
ネットワーク全体でファイルやデバイスを共有できるよう、複数のファイルサーバーや場所に分散したファイルシステム。
dual mode
デュアルモード
OS structure that is responsible for separating the user mode from the system mode
ユーザーモードとシステムモードの分離を担う、OSの構造。
dynamic linking
動的リンク
code is located and loaded when the program is first run
プログラムを初めて実行するときに、コードの場所を特定して読み込むこと。
encryption
暗号化
method that converts the data into secret code that hides the data’s true meaning
データの本当の意味を隠す秘密の符号へ、データを変換する方法。
exception
例外
error that occurs at runtime
実行時に起こるエラー。
exokernel
エクソカーネル
OS architecture that simplifies the operating system by making its core (kernel) really small and letting apps have more control over the computer’s hardware
中核となるカーネルを非常に小さくし、アプリケーションがコンピューターのハードウェアをより多く制御できるようにすることで、OSを単純化するアーキテクチャー。
fault containment
障害封じ込め
feature of an OS that prevents errors in one part of an application from affecting the whole system
アプリケーションの一部分の誤りが、システム全体へ影響するのを防ぐ、OSの機能。
fault recovery
障害回復
feature of an OS that helps the system to fix itself or revert to a previous state after an error
エラー後に、システムが自分自身を修復したり、以前の状態へ戻ったりするのを助ける、OSの機能。
fault tolerance
耐障害性
feature of an OS that allows the application to keep running even when errors occur
エラーが起きても、アプリケーションが動き続けられるようにする、OSの機能。
file
ファイル
collection of related information that is stored on secondary/virtual storage; it’s the smallest storage unit from the user’s perspective
二次記憶・仮想記憶に保存された、関連する情報の集まり。利用者の視点から見た、最小の記憶単位である。
file system
ファイルシステム
responsible for defining file names, storing files to a storage device, and retrieving files from storage devices
ファイル名を定め、記憶装置へファイルを保存し、記憶装置からファイルを取り出す役割を担うもの。
file versioning
ファイルの版管理
system that allows a file to exist in several versions at the same time, which gives the user complete control over file creation
一つのファイルを同時に複数の版で存在させ、利用者がファイル作成を完全に制御できるようにする仕組み。
first come, first served (FCFS)
先着順(FCFS)
scheduling algorithm that operates on a simple queue mechanism where the first process to request the CPU is the first to receive it (or the first element added to the queue is the first one to be removed); commonly used in resource scheduling and data buffering and also known as FIFO (first in, first out)
単純なキューの仕組みで動作するスケジューリングアルゴリズム。最初にCPUを要求したプロセスが最初にCPUを得る。つまり、キューに最初に加えた要素を最初に取り出す。リソースのスケジューリングやデータのバッファリングでよく使われ、FIFO(先入れ先出し)ともいう。
fragmentation
断片化
problem where the memory blocks cannot be allocated to the processes due to their small size and the blocks remain unused
メモリブロックが小さすぎてプロセスへ割り当てられず、未使用のまま残る問題。
frame buffer
フレームバッファー
portion of random access memory (RAM) containing a bitmap that drives a video display
画面表示を駆動するビットマップが入った、ランダムアクセスメモリ(RAM)の一部分。
full virtualization
完全仮想化
memory virtualization approach that allows multiple operating systems to run concurrently on a single physical machine, fully isolated from each other, by emulating hardware resources through a hypervisor
ハイパーバイザーを通してハードウェアリソースを模倣し、一台の物理マシン上で、互いに完全に分離された複数のOSを並行して動かせるようにする、メモリ仮想化の方法。
general-purpose register (GPR)
汎用レジスタ(GPR)
extra register that is used for storing operands and pointers
オペランドやポインターの保存に使う、追加のレジスタ。
graphical user interface (GUI)
グラフィカルユーザーインターフェース(GUI)
visual interface that allows users to interact with electronic devices through graphical icons and visual indicators
図形のアイコンや視覚的な表示を使って、利用者が電子機器を操作できるようにする、視覚的なインターフェース。
guest modification
ゲストの変更
in the context of virtualization, altering the guest operating system or its configuration to improve compatibility, performance, or integration with the virtualization environment or hypervisor
仮想化において、ゲストOSやその設定を変更し、仮想化環境やハイパーバイザーとの互換性、性能、統合を改善すること。
guest operating system
ゲストOS
complete operating system inside a virtual machine
仮想マシンの内部で動く、完全なOS。
hardware abstraction layer (HAL)
ハードウェア抽象化層(HAL)
example of layering in modern OS that allows an OS to interact with a hardware device at a general or abstract level rather than going deep into a detailed hardware level; this improves readability
現代のOSにおける階層化の一例。ハードウェアの詳細な水準へ立ち入らず、一般的・抽象的な水準で、OSがハードウェア装置とやり取りできるようにする。これにより、読みやすさが向上する。
heap allocation
ヒープ割り当て
dynamic storage management approach that allocates the data in a tree-based data structure
木に基づくデータ構造へデータを割り当てる、動的記憶管理の方法。
heap data
ヒープデータ
tree-based data in process management
プロセス管理における、木に基づくデータ。
hypervisor
ハイパーバイザー
software layer between machine hardware and the operating systems that run on it
マシンのハードウェアと、その上で動くOSの間にあるソフトウェア層。
i-number
i-number
unique number given to an inode whenever an OS that uses inodes creates a new file, which, in effect, functions as the file’s name
inodeを使うOSが新しいファイルを作るたびに、そのinodeへ与える一意の番号。実質的にファイル名として機能する。
inconsistency
不整合
situation that causes the system to produce errors or hardware failure
システムにエラーやハードウェア故障を生じさせる状況。
incremental backup
増分バックアップ
backup image containing the pages that have been updated from the time of the previous backup
前回のバックアップ以後に更新されたページを含む、バックアップイメージ。
inode
inode
structure used by file system that contains metadata about a file or directory but not its name
ファイルシステムが使う構造で、ファイルやディレクトリーのメタデータを含むが、名前は含まないもの。
inter-process communication (IPC)
プロセス間通信(IPC)
mechanism that enables processes to exchange data among different processes running on an operating system
OS上で動く異なるプロセスの間で、データを交換できるようにする仕組み。
interrupt
割り込み
signal to the processor from either software or hardware that indicate events that need immediate attention
直ちに注意を向ける必要がある事象を示す、ソフトウェアまたはハードウェアからプロセッサへの信号。
isolation
分離
ensures that the multiple programs that are running concurrently on the same CPU and memory operate independently without interfering with each other’s execution or data
同じCPUとメモリで並行して動く複数のプログラムが、互いの実行やデータを妨げずに、独立して動作することを確保すること。
layered OS architecture
階層型OSアーキテクチャー
OS architecture where the OS is implemented as a set of layers where each layer exposes an enhanced virtual machine to the layer above
OSを層の集合として実装し、各層がその上の層へ、機能を強化した仮想マシンを提供するアーキテクチャー。
lock
ロック
synchronization mechanism that is used to enforce mutual exclusion
相互排除を強制するための同期の仕組み。
mechanism
メカニズム
activities that enforce policies and often depend on the hardware on which the operating system runs
方針を実施する活動。OSが動くハードウェアに依存することが多い。
memory allocation
メモリ割り当て
process of setting aside sections of memory in a program to be used to store variables and instances of structures and classes
変数や、構造体・クラスのインスタンスを保存するために、プログラム内でメモリの領域を確保する処理。
memory deallocation
メモリ解放
process of freeing the space corresponding to finished processes when that space is needed by the rest of the system
終了したプロセスに対応する領域を、システムのほかの部分が必要とするときに解放する処理。
memory multiplexing
メモリの多重化
dividing the capacity of the communication channel into multiple logical channels
通信チャネルの容量を、複数の論理チャネルへ分けること。
microkernel
マイクロカーネル
OS architecture where the functionality and capabilities are added to a minimal core OS as plug-ins
最小限の中核OSに、機能や能力をプラグインとして追加するOSアーキテクチャー。
monolithic design
モノリシック設計
OS architecture where the entire OS is working in kernel space
OS全体がカーネル空間で動作するアーキテクチャー。
multitasking
マルチタスク
approach toward achieving concurrency that makes it possible for the OS to run multiple processes at the same time using time slicing
タイムスライスを使い、OSが複数のプロセスを同時期に動かせるようにして、並行性を実現する方法。
mutual exclusion
相互排除
program that prevents simultaneous access to a shared resource
共有リソースへの同時アクセスを防ぐプログラム。
non-privileged system program
非特権システムプログラム
program that can run only in the user mode
ユーザーモードでしか動作できないプログラム。
non-uniform memory access (NUMA)
非均一メモリアクセス(NUMA)
computer memory architecture where memory access time varies depending on the memory’s location relative to a processor
プロセッサに対するメモリの位置によって、メモリアクセス時間が変わるコンピューターのメモリアーキテクチャー。
operating system (OS)
オペレーティングシステム(OS)
core piece of software that typically manages the interconnection of hardware and software on a given computer
通常、コンピューター上のハードウェアとソフトウェアの相互接続を管理する、中核的なソフトウェア。
page fault
ページフォールト
when the CPU demands a page, and this page is not present in the main memory
CPUがページを要求したとき、そのページが主記憶にないこと。
page fetching
ページフェッチ
process of bringing pages into memory
ページをメモリへ持ってくる処理。
page manager
ページマネージャー
layer in the layered OS architecture that implements virtual memories for each process
階層型OSアーキテクチャーで、各プロセスの仮想メモリを実装する層。
page replacement
ページ置換
when one page in the DRAM is swapped to disk while the requested page is brought into DRAM
DRAM内の一つのページをディスクへ移すと同時に、要求されたページをDRAMへ持ってくること。
paging
ページング
storage mechanism that uses a page form in retrieving process from secondary or virtual memory to main memory
二次記憶や仮想メモリから主記憶へプロセスを取り出す際、ページという形式を使う記憶の仕組み。
pipe
パイプ
data communication method between two processes that uses a specific name and standard I/O operations, and thus allows for data transfer within a file system; sometimes called named pipe
特定の名前と標準I/O操作を使い、ファイルシステム内でデータを転送できるようにする、二つのプロセス間のデータ通信方式。名前付きパイプとも呼ぶ。
policy
方針
controls how to use a mechanism in specific situations, that is, choose what activities need to be done
特定の状況でメカニズムをどう使うかを制御するもの。つまり、どの活動を行う必要があるかを選ぶ。
primary memory
一次記憶
type of computer memory that is the initial point of access for a processor and serves as direct storage for the CPU
プロセッサが最初にアクセスする場所となり、CPUの直接の記憶領域として機能する、コンピューターのメモリの種類。
primary storage
一次記憶装置
holds data that can be directly accessed by the CPU with minimum or no delay and does not survive a power failure
CPUが遅延なし、または最小限の遅延で直接アクセスでき、電源断後には残らないデータを保持するもの。
privileged instruction
特権命令
instruction provided by the CPU that can be executed only by the OS
CPUが提供し、OSだけが実行できる命令。
privileged system program
特権システムプログラム
program that can run only in the system mode
システムモードでしか動作できないプログラム。
process
プロセス
any program that is running on top of the OS
OS上で動作しているプログラム。
process control block (PCB)
プロセス制御ブロック(PCB)
data structure used by the operating system to store information about a process, including its state, process ID, registers, scheduling information, memory management details, and I/O status
OSがプロセスの情報を保存するために使うデータ構造。状態、プロセスID、レジスタ、スケジューリング情報、メモリ管理の詳細、I/O状態などを含む。
process ID (PID)
プロセスID(PID)
unique identifier assigned by the operating system to each process running on a computer, used to track and manage process activities
OSがコンピューター上の各実行中プロセスへ割り当てる、一意の識別子。プロセスの活動を追跡・管理するために使う。
process synchronization
プロセス同期
when an OS manages the sharing of a system’s resources to avoid interference and errors
干渉やエラーを避けるために、OSがシステムのリソース共有を管理すること。
properties
性質
characteristics that are considered when designing an OS
OSの設計時に考慮する特徴。
protection
保護
general mechanism that is used throughout the OS for all resources that need to be protected, such as memory, processes, files, devices, CPU time, and network bandwidth
メモリ、プロセス、ファイル、デバイス、CPU時間、ネットワーク帯域幅など、保護が必要なすべてのリソースに対して、OS全体で使う一般的な仕組み。
quota
クォータ
amount of space to store files based on the available memory space
利用可能なメモリ領域に基づく、ファイル保存用の領域量。
ready state
実行可能状態
when a process is waiting for the CPU
プロセスがCPUを待っている状態。
recovery
回復
process of resolving or receiving treatment to solve OS faults or errors
OSの障害やエラーを解消する、またはその解消のための処置を受ける処理。
reliability
信頼性
system’s ability to reduce faults and ensure that the information in the system survives OS crashes and hardware failures
障害を減らし、OSのクラッシュやハードウェア故障が起きても、システム内の情報が残ることを確保する能力。
replication
レプリケーション
procedure that allows multiple copies of a file to exist in the network; this improves performance and availability
ネットワーク内に、同じファイルの複数のコピーを存在させる手続き。性能と可用性を向上させる。
round-robin scheduling (RR)
ラウンドロビンスケジューリング(RR)
scheduling algorithm that is widely used in time-sharing systems and is designed to ensure fairness among processes by giving each process an equal share of the CPU
タイムシェアリングシステムで広く使われるスケジューリングアルゴリズム。各プロセスへCPUを等しく配分し、プロセス間の公平性を確保するよう設計されている。
running state
実行中の状態
when a process is being executed by the CPU
プロセスがCPUによって実行されている状態。
secondary memory
二次記憶
type of computer memory that is nonvolatile and thus used for long-term storage, housing the operating system, applications, and data that need to persist even when the power is off
不揮発性で、長期保存に使うコンピューターのメモリの種類。電源が切れても残す必要のあるOS、アプリケーション、データを収める。
secondary storage
二次記憶装置
persistent memory that survives power failures most of the time such as spinning disks, SSDs, and USB drives
回転ディスク、SSD、USBドライブなど、多くの場合、電源断後も内容が残る持続的な記憶装置。
semaphore
セマフォ
data type that an OS uses to control access to a resource
OSがリソースへのアクセスを制御するために使うデータ型。
sharing
共有
multiple processes can use the same piece of data concurrently
複数のプロセスが、同じデータを並行して使えること。
shortest remaining processing time (SRPT)
残り処理時間最短優先(SRPT)
scheduling algorithm that prioritizes processes based on the shortest amount of time left to complete their execution
実行完了までの残り時間が最も短いものを基準に、プロセスを優先するスケジューリングアルゴリズム。
shortest time to completion first (STCF)
完了時間最短優先(STCF)
scheduling algorithm that takes the best approach to minimize the waiting time, but it requires that the processor knows the processing time in advance; also called shortest job first (SJF)
待ち時間を最小にする最良の方法を取るスケジューリングアルゴリズム。ただし、プロセッサが処理時間を事前に知っている必要がある。最短ジョブ優先(SJF)ともいう。
stack allocation
スタック割り当て
dynamic storage management approach that uses linear data structure that follows last in, first out (LIFO)
後入れ先出し(LIFO)に従う線形データ構造を使う、動的記憶管理の方法。
stack pointer (SP)
スタックポインター(SP)
register that indicates the location of the last item that was added to the stack
スタックへ最後に追加された項目の位置を示すレジスタ。
static data
静的データ
data that does not change within the program
プログラム内で変化しないデータ。
synchronization
同期
way of coordinating multiple concurrent activities that are using shared state
共有状態を使う、複数の並行した活動を調整する方法。
system call
システムコール
appears when the program requests a service from the kernel
プログラムがカーネルへサービスを要求するときに行うもの。
system interrupt
システム割り込み
manages the communication between the computer hardware and the system
コンピューターのハードウェアとシステムとの通信を管理するもの。
thrashing
スラッシング
when a computer’s operating system becomes overwhelmed by the number of processes requesting memory
メモリを要求するプロセスの多さに、コンピューターのOSが対応しきれなくなること。
thread
スレッド
smallest unit of execution within a process, allowing parallel tasks to run in the same memory space; it enables efficient and independent execution of sequences of instructions
プロセス内の最小の実行単位。同じメモリ空間で並列にタスクを実行でき、一連の命令を効率よく、独立して実行できるようにする。
time slice
タイムスライス
short time frame that gets assigned to a process for CPU execution and facilitates multitasking
CPUでの実行のためにプロセスへ割り当てる短い時間枠で、マルチタスクを可能にするもの。
translation lookaside buffer (TLB)
トランスレーション・ルックアサイド・バッファー(TLB)
small memory cache that speeds up the computer’s memory access by storing recent virtual-to-physical address translations; if the TLB has the address translation, it quickly retrieves data; if not, the computer must search more slowly through its memory
最近の仮想アドレスから物理アドレスへの変換を保存し、コンピューターのメモリアクセスを高速化する、小さなメモリキャッシュ。TLBにアドレス変換があれば、データを素早く取り出せる。なければ、コンピューターはメモリをより遅い方法で探さなければならない。
two-factor authentication
二要素認証
form of authentication that involves two factors: the system calls or texts a user’s phone for the traditional password during login, employing the cell phone as a key
二つの要素を使う認証方法。ログイン時に、従来のパスワードのため、システムが利用者の電話へ電話やテキストメッセージを送り、携帯電話を鍵として使う。
uniform memory access (UMA)
均一メモリアクセス(UMA)
computer memory architecture where access time to any memory location is the same across all processors
どのメモリ位置へのアクセス時間も、すべてのプロセッサで同じになる、コンピューターのメモリアーキテクチャー。
virtual machine (VM)
仮想マシン(VM)
software that is created to run like a physical computer and that operates its own operating system and applications like a separate physical server
物理コンピューターのように動くよう作られ、別の物理サーバーのように、独自のOSやアプリケーションを動かすソフトウェア。
virtualization
仮想化
allows a system to run different types of applications used by multiple users at a time on the same computer
同じコンピューター上で、複数の利用者が使う異なる種類のアプリケーションを、同時にシステムが動かせるようにすること。
working set size (WSS)
ワーキングセットサイズ(WSS)
total amount of memory a process requires during a specific period of activity; it is measured as the set of pages or data blocks the process accesses
プロセスが特定の活動期間に必要とするメモリの総量。プロセスがアクセスするページやデータブロックの集合として測る。