プリンキピア

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

6.6 Reliability and Security6.6 信頼性とセキュリティー

• We consider an OS to be reliable if it delivers service without errors or interruptions.
• 誤りや中断なしにサービスを提供するOSを、信頼できるとみなす。
• Protection is a general mechanism used throughout the OS and for all resources needed to be protected such as memory, processes, files, devices, CPU time, and network bandwidth.
• 保護は、メモリ、プロセス、ファイル、デバイス、CPU時間、ネットワーク帯域幅など、保護が必要なすべてのリソースに対して、OS全体で使う一般的な仕組みである。
• There are three aspects to a protection mechanism: authentication, authorization, and access enforcement.
• 保護の仕組みには、認証、認可、アクセス制御の強制という三つの側面がある。
• The traditional way of authentication involves a password, which is a secret piece of information used to establish the identity of a user and should be relatively long and hard to guess. Another form of authentication is two-factor authentication, which 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.
• 従来の認証方法では、パスワードを使う。これは、利用者の身元を確かめるための秘密の情報であり、比較的長く、推測しにくいものにする必要がある。もう一つの認証方法は、二つの要素を使う二要素認証である。ログイン時に、従来のパスワードのため、システムが利用者の電話へ電話やテキストメッセージを送り、携帯電話を鍵として使う。
• The authorization determines the relationship between principals, operations, and objects by defining which principals can perform which operations on which objects.
• 認可は、どの主体がどの対象にどの操作を行えるかを定めることで、主体、操作、対象の関係を決める。
• An access control list (ACL) is a list of rules that specifies which users are granted access to a specific object or resource.
• アクセス制御リスト(ACL)は、どの利用者に特定の対象やリソースへのアクセスを認めるかを指定する、規則の一覧である。
• A capability list is a list of objects and operations for each user that defines the user rights and capabilities.
• ケイパビリティリストは、利用者ごとの対象と操作の一覧で、利用者の権利と権限を定める。
• To support access enforcement, one part of the OS must be responsible for enforcing access controls and protecting authentication and authorization information.
• アクセス制御を強制するため、OSの一部分が、アクセス制御の実施と、認証・認可情報の保護を担当する必要がある。
• There are many advantages to using logging: recovery is much faster; it eliminates inconsistencies; a log can be localized in one area of disk, which makes log writes faster; and it results in better performance. One of the disadvantages of logging is that synchronous disk write happens before every metadata operation.
英語のヒント
• ログの利用には多くの利点がある。回復がはるかに速くなり、不整合をなくせる。ログをディスクの一つの領域にまとめられるため、ログの書き込みが速くなり、性能が向上する。欠点の一つは、メタデータを操作するたびに、その前に同期的なディスク書き込みが行われることである。
• Virtual machines have become a fundamental component of cloud computing, as they allow cloud providers to offer scalable and flexible computing resources to users on a pay-as-you-go basis.
• 仮想マシンは、クラウド事業者が、規模を調整できる柔軟な計算資源を、使用量に応じた料金で利用者へ提供できるようにするため、クラウドコンピューティングの基本的な構成要素となっている。

Review Questions確認問題

Exercises 1–5練習問題 1–5
1. What is a privileged instruction that can only be executed by the kernel in Windows 10 or macOS operating systems? a. opening a text file b. modifying system clock settings c. printing a document d. creating a new user directory
1. Windows 10またはmacOSで、カーネルだけが実行できる特権命令はどれか。a. テキストファイルを開く。b. システムクロックの設定を変更する。c. 文書を印刷する。d. 新しいユーザーディレクトリーを作る。
2. You are building your own computer and have finished installing all hardware components. What should you install first? a. Microsoft Office b. Microsoft Windows OS c. external I/O device drivers d. antivirus software
2. コンピューターを自作し、ハードウェアの部品をすべて取り付け終えた。最初に何をインストールすべきか。a. Microsoft Officeb. Microsoft Windows OSc. 外部I/Oデバイスのドライバーd. ウイルス対策ソフトウェア
3. What process or component allows a system to run different types of applications used by multiple users at a time on the same computer?
3. 同じコンピューター上で、複数の利用者が使う異なる種類のアプリケーションを、システムが同時に動かせるようにする処理または構成要素は何か。
a. virtualization b. kernel c. operating system d. thread
a. 仮想化b. カーネルc. オペレーティングシステムd. スレッド
4. How is efficiency defined with regard to operating systems?
英語のヒント
4. OSに関して、効率はどのように定義されるか。
5. What is virtualization as it relates to OSs?
5. OSに関わる仮想化とは何か。
Exercises 6–10練習問題 6–10
6. Who sets policies in OSs?
6. OSの方針は誰が決めるか。
7. What is the difference between user mode and kernel mode?
7. ユーザーモードとカーネルモードは、何が違うか。
8. What component handles devices and provides buffering? a. device driver b. device register c. device manager d. I/O devices
8. デバイスを扱い、バッファリングを提供する構成要素はどれか。a. デバイスドライバーb. デバイスレジスタc. デバイスマネージャーd. I/Oデバイス
9. How can a monolithic OS design be described? a. an OS architecture where the entire OS is working in kernel space b. OS architecture where the functionality and capabilities are added to a minimal core OS as plug-ins c. an example of layering in modern operating systems d. a computer memory design where memory access time varies depending on the memory’s location relative to a processor
9. モノリシックOS設計の説明はどれか。a. OS全体がカーネル空間で動作するOSアーキテクチャー。b. 最小限の中核OSに、機能や能力をプラグインとして追加するOSアーキテクチャー。c. 現代のOSにおける階層化の一例。d. プロセッサに対するメモリの位置によって、メモリアクセス時間が変わるコンピューターのメモリ設計。
10. What type of memory access is described as computer memory architecture where access time to any memory location is the same across all processors.? a. cache-only memory architecture (COMA) b. non-uniform memory access (NUMA) c. uniform memory access (UMA) d. random access memory (RAM)
10. どのメモリ位置へのアクセス時間も、すべてのプロセッサで同じになるメモリアーキテクチャーは、どの種類のメモリアクセスか。a. キャッシュ専用メモリアーキテクチャー(COMA)b. 非均一メモリアクセス(NUMA)c. 均一メモリアクセス(UMA)d. ランダムアクセスメモリ(RAM)
Exercises 11–15練習問題 11–15
11. What are the main components of any operating system?
11. どのOSにもある主要な構成要素は何か。
12. What are the differences between thread and process?
12. スレッドとプロセスの違いは何か。
13. What does the hardware abstraction layer (HAL) refer to?
13. ハードウェア抽象化層(HAL)とは何を指すか。
14. What scheduling algorithm prioritizes processes based on the shortest amount of remaining execution time? a. first come, first served (FCFS) b. round-robin (RR) c. shortest remaining processing time (SRPT) d. priority scheduling
14. 実行完了までの残り時間が最も短いものを優先するスケジューリングアルゴリズムはどれか。a. 先着順(FCFS)b. ラウンドロビン(RR)c. 残り処理時間最短優先(SRPT)d. 優先度スケジューリング
15. What is synchronization? a. the way of coordinating multiple concurrent activities that are using a shared state b. computing model that improves the performance when multiple processors execute instructions simultaneously c. the memory that can be accessed by multiple processes and the processes that can communicate with each other without the middleman d. the data communication method between two processes, using a specific name and standard I/O operations, allowing for data transfer within a file system
15. 同期とは何か。a. 共有状態を使う、複数の並行した活動を調整する方法。b. 複数のプロセッサが同時に命令を実行することで、性能を高めるコンピューティングモデル。c. 複数のプロセスがアクセスでき、仲介を通さずにプロセス同士が通信できるメモリ。d. 特定の名前と標準I/O操作を使い、ファイルシステム内でデータを転送できるようにする、二つのプロセス間のデータ通信方式。
Exercises 16–20練習問題 16–20
16. What is an example of static data? a. a variable to keep track of the number of iterations in a loop in a program b. the date and time in the operating system c. the name of a file in a directory d. a hardcoded country code in a program that is created with the final keyword
英語のヒント
16. 静的データの例はどれか。a. プログラム内のループの反復回数を追跡する変数。b. OSの日付と時刻。c. ディレクトリー内のファイル名。d. finalキーワードで作り、プログラム内へ直接書き込んだ国コード。
17. How are processes managed by the OS conceptually?
英語のヒント
17. 概念上、OSはプロセスをどのように管理するか。
18. How are I/O devices managed by the OS conceptually?
18. 概念上、OSはI/Oデバイスをどのように管理するか。
19. Why is scheduling counted as an important operation in OSs?
19. スケジューリングがOSの重要な操作とされるのは、なぜか。
20. What is the term for a technique where a process's memory is divided into various segments or sections, each representing different types of data or code? a. time slicing b. paging c. isolation d. segmentation
20. プロセスのメモリを、それぞれ異なる種類のデータやコードを表す、さまざまなセグメントや区画へ分ける技法を何というか。a. タイムスライスb. ページングc. 分離d. セグメント化
Exercises 21–25練習問題 21–25
21. Stack allocation uses what data processing technique? a. last in/last out b. first in/first out c. first in/last out d. last in/first out
21. スタック割り当ては、どのデータ処理方式を使うか。a. 後入れ後出しb. 先入れ先出しc. 先入れ後出しd. 後入れ先出し
22. How does a linker work?
22. リンカーは、どのように動作するか。
23. What is the difference between static and dynamic linking?
23. 静的リンクと動的リンクは、何が違うか。
24. How does caching relate to virtual memory?
24. キャッシュは、仮想メモリとどのように関係するか。
25. What component is responsible for defining file names, storing files to a storage device, and retrieving files from a storage device? a. file system b. file versioning c. file d. file path
25. ファイル名を定め、記憶装置へファイルを保存し、記憶装置から取り出す構成要素はどれか。a. ファイルシステムb. ファイルの版管理c. ファイルd. ファイルパス
Exercises 26–30練習問題 26–30
26. What is a directory? a. persistent memory that survives power failures most of the time, such as spinning disks, SSDs, and USB drives b. a collection of related information that is stored on secondary/virtual storage and is the smallest storage unit from the user’s perspective c. a system that allows a file to exist in several versions at the same time, which gives the user complete control over file creation d. a set of files that contains all the required information about the files, such as attributes, location, and ownership, which is managed by the OS
26. ディレクトリーとは何か。a. 回転ディスク、SSD、USBドライブなど、多くの場合、電源断後も内容が残る持続的な記憶領域。b. 二次記憶・仮想記憶に保存された関連情報の集まりで、利用者の視点での最小の記憶単位。c. 一つのファイルを同時に複数の版で存在させ、利用者がファイル作成を完全に制御できるようにする仕組み。d. 属性、場所、所有者など、ファイルについて必要な情報をすべて含む、OSが管理するファイルの集合。
27. What is a distributed file system?
27. 分散ファイルシステムとは何か。
28. What is an inode?
28. inodeとは何か。
29. Define the file system interface.
29. ファイルシステムインターフェースを定義しよう。
30. What is the term for the operating system that is virtualized? a. guest operating system b. host operating system c. default operating system d. dual boot operating system
30. 仮想化されたOSを何というか。a. ゲストOSb. ホストOSc. デフォルトOSd. デュアルブートOS