プリンキピア

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

Exercises 31練習問題 31
31. What is the term for checking to see if a user's credentials match the credentials in a database of authorized users or in a data authentication server? a. authorization b. access enforcement c. authentication d. badge
31. 利用者の認証情報が、認められた利用者のデータベースや、データ認証サーバーの認証情報と一致するかを調べることを何というか。a. 認可b. アクセス制御の強制c. 認証d. バッジ

Conceptual Questions概念を考える問題

1. What is the difference between a policy and a mechanism? Please give examples to illustrate your explanation.
1. 方針とメカニズムは、何が違うか。説明を具体的に示す例を挙げよう。
2. How are the compiler, OS, and CPU ISA coordinated? What are all the code modules, where do they exist, and how do they cooperate?
英語のヒント
2. コンパイラー、OS、CPUのISAは、どのように連携するか。コードモジュールにはどのようなものがすべてあり、どこに存在し、どのように協力するか。
3. Give an example of an OS that uses a layered design.
3. 階層型の設計を使うOSの例を挙げよう。
4. What alternatives to monolithic OS design have been tried?
4. モノリシックOS設計の代わりに、どのような方法が試されてきたか。
5. Explain in detail how caching relates to the use of virtual memory.
5. キャッシュと仮想メモリの利用の関係を、詳しく説明しよう。
6. Explain how virtual memory became a key component of the operating system.
6. 仮想メモリが、どのようにOSの主要な構成要素となったかを説明しよう。
7. Explain in detail the file system’s higher-level services.
7. ファイルシステムの高い水準のサービスを、詳しく説明しよう。
8. Explain how the file versioning will help the user and the system.
8. ファイルの版管理が、利用者とシステムにどう役立つかを説明しよう。
9. Explain the difference between authentication, authorization, and access control. Are there any other types of security protections you would want an OS to provide when using software applications?
9. 認証、認可、アクセス制御の違いを説明しよう。ソフトウェアアプリケーションを使うとき、OSに提供してほしい、ほかの種類のセキュリティー保護はあるだろうか。

Practice Exercises練習問題

Exercises 1–5練習問題 1–5
1. Search on the Web for “Windows system structure” and compare it with “UNIX/Linux system structure.”
1. ウェブで「Windows system structure」を検索し、「UNIX/Linux system structure」と比較しよう。
2. Draw a high-level diagram that illustrates the flow of control for an application of your choice that leverages an OS. Make sure that you identify the various components and layers as well as the users involved, if any.
英語のヒント
2. OSを利用するアプリケーションを自分で選び、その制御の流れを示す概略図を描こう。さまざまな構成要素と層、そして利用者が関わる場合はその利用者も、必ず明示しよう。
3. Based on the operating system you are using, search on the Web for your operating system architecture.
3. 自分が使っているOSについて、そのアーキテクチャーをウェブで調べよう。
4. Draw the architecture of your operating system.
4. 自分のOSのアーキテクチャーを描こう。
5. Give an example of a scenario that requires synchronization.
5. 同期が必要になる状況の例を挙げよう。
Exercises 6–10練習問題 6–10
6. Search on the Web for the most used allocation mechanism.
6. 最もよく使われている割り当ての仕組みを、ウェブで調べよう。
7. Explain how segments and pages are used to support virtual memory.
7. 仮想メモリを実現するために、セグメントとページをどのように使うか説明しよう。
8. Search the Web for how to find the total number of inodes using your operating system.
8. 自分のOSでinodeの総数を調べる方法を、ウェブで探そう。
9. Explain the relative merits of various recovery approaches. Start with the ones mentioned in the book and explore more on the Internet as needed.
英語のヒント
9. さまざまな回復方法の長所を比較して説明しよう。本書で挙げた方法から始め、必要に応じてインターネットでさらに調べよう。
10. Research various encryption algorithms and provide a summary of the results found.
10. さまざまな暗号化アルゴリズムを調べ、分かった結果をまとめよう。

Problem Set A問題集A

Exercises 1–5練習問題 1–5
1. You have a Windows computer and need to test software that you developed in a Linux environment. How can you test your software with one machine?
1. Windowsコンピューターを持っており、自分が開発したソフトウェアをLinux環境でテストする必要がある。一台のマシンで、どのようにテストできるだろうか。
2. Explain why we need to study OS architecture.
2. OSアーキテクチャーを学ぶ必要がある理由を説明しよう。
3. Explain how an OS decides how much physical memory to allocate to each process and decides when to remove a process from memory.
3. OSが、各プロセスへ割り当てる物理メモリの量と、メモリからプロセスを取り除く時点を、どのように決めるか説明しよう。
4. Explain why we need to study OS allocation methods.
4. OSの割り当て方法を学ぶ必要がある理由を説明しよう。
5. Explain how an OS decides how much physical memory to allocate to each process and decides when to remove a process from memory.
5. OSが、各プロセスへ割り当てる物理メモリの量と、メモリからプロセスを取り除く時点を、どのように決めるか説明しよう。
Exercises 6–10練習問題 6–10
6. Explain how the memory is divided.
6. メモリをどのように分割するか説明しよう。
7. Explain fragmentation.
7. 断片化を説明しよう。
8. Imagine you’re tasked with creating a new file system that will only be utilized to store videos on YouTube. Describe the kind of access patterns you anticipate occurring most frequently in that specific file system.
英語のヒント
8. YouTubeの動画を保存するためだけに使う、新しいファイルシステムを作る仕事を任されたとしよう。そのファイルシステムで最も頻繁に生じると予想するアクセスパターンを述べよう。
9. Suppose you are asked by a company to select a new authentication method. If the company is not using multi-factor authentication, how could you argue the need for this method?
英語のヒント
9. ある会社から、新しい認証方法を選ぶよう頼まれたとしよう。その会社が多要素認証を使っていないなら、その方法の必要性をどのように論じるだろうか。
10. How can you use badging in the authentication process?
10. 認証の手順で、バッジをどのように使えるか。

Problem Set B問題集B

Exercises 1–5練習問題 1–5
1. Write a simple piece of code on an OS of your choice that calls a function in a programming language of your choice and explain how your program uses the stack.
1. 自分で選んだOS上で、自分で選んだプログラミング言語を使い、関数を呼び出す簡単なコードを書こう。そして、そのプログラムがスタックをどう使うか説明しよう。
2. Write a simple piece of code on an OS of your choice using a programming language of your choice that makes use of the heap.
2. 自分で選んだOS上で、自分で選んだプログラミング言語を使い、ヒープを利用する簡単なコードを書こう。
3. Outline the fundamental differences between two of the most popular mainstream operating systems (e.g., Max OS X, Windows 10, Linux) from an OS architecture and OS components standpoint. Do some research on the Internet to obtain architectural diagram and component descriptions from a trustworthy source and show all your work.
英語のヒント
3. 広く普及している主要なOS、たとえばMax OS X、Windows 10、Linuxから二つを選び、OSのアーキテクチャーと構成要素の観点で、基本的な違いを概説しよう。インターネットで調べ、信頼できる情報源から構成図と構成要素の説明を得て、調べた内容をすべて示そう。
4. Most of the OSs now are moving to multiprocessing. Explain how multiprocessing reduces the latency and increases the overall performance.
4. 現在、OSの大半はマルチプロセッシングへ移行している。マルチプロセッシングが、どのように遅延を減らし、全体の性能を高めるか説明しよう。
5. Discuss the benefits of memory sharing for the user and OS perspective.
5. 利用者とOSの視点から、メモリ共有の利点を論じよう。
Exercises 6–7練習問題 6–7
6. How and why might a file system created specifically for storing movies on YouTube’s website differ from the businesses outlined in this book?
6. YouTubeのウェブサイトで動画を保存するために専用に作ったファイルシステムは、本書で概説したビジネスと、どのように、またなぜ異なる可能性があるだろうか。
7. What are the advantages and disadvantages of using logging in your OS?
7. 自分のOSでログを使うことの利点と欠点は何か。