プリンキピア

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

Thought Provokers考えてみよう

Exercises 1–5練習問題 1–5
1. Consider our start-up company that is 100% committed to leveraging innovative technologies as a business growth facilitator. Describe how it can best use an operating system to create products or services that can generate business (e.g., mobile health application that detects elevated levels of stress and suggests playing games, listening to songs, or watching videos to reduce stress). Give precise examples and explain how the start-up would be able to scale the resulting business (i.e., keep sustaining the cost of doing business while increasing its number of customers).
英語のヒント
1. 革新的な技術を事業成長の推進力として活用することに、100%取り組む、本書のスタートアップ企業を考えよう。OSを最もよく活用し、収益につながる製品やサービスを作る方法を述べよう。例として、ストレスの高まりを検出し、ストレスを減らすためにゲーム、音楽、動画を勧める、モバイル健康アプリケーションが考えられる。具体的で正確な例を挙げ、その結果生まれる事業を、スタートアップがどのように拡大できるか説明しよう。つまり、顧客数を増やしながら、事業にかかる費用を負担し続ける方法を考える。
2. Consider our start-up company that is 100% committed to leveraging innovative technologies as a business growth facilitator. Describe how it could leverage a new operating system design to support an innovative application that leverages the use of various sensors located at the edge of the network. Give some precise examples and explain how the start-up would be able to scale this approach.
英語のヒント
2. 革新的な技術を事業成長の推進力として活用することに、100%取り組む、本書のスタートアップ企業を考えよう。ネットワークの端にあるさまざまなセンサーを活用する革新的なアプリケーションを支えるため、新しいOS設計をどう活用できるか述べよう。具体的で正確な例を挙げ、この方法をどのように規模拡大できるか説明しよう。
3. Consider our start-up company that is 100% committed to leveraging innovative technologies as a business growth facilitator. Describe how it could leverage IPC and concurrency control to support an application that makes it possible to collect data at the edge of the network from a large variety of sensors and enable processing of that data in real time. Give some precise examples and explain how the start-up would be able to scale this approach in the context of an epidemic such as COVID-19.
英語のヒント
3. 革新的な技術を事業成長の推進力として活用することに、100%取り組む、本書のスタートアップ企業を考えよう。ネットワークの端で多種多様なセンサーからデータを収集し、そのデータをリアルタイム処理できるアプリケーションを支えるために、IPCと並行性制御をどう活用できるか述べよう。具体的で正確な例を挙げ、COVID-19のような感染症流行の状況で、この方法をどのように規模拡大できるか説明しよう。
4. Consider our start-up company that is 100% committed to leveraging innovative technologies as a business growth facilitator. Describe how it could leverage memory management to support very memory-demanding applications, making it possible to perform all computations on data in memory. Are there some examples of similar technologies that already exist today? Give some precise examples and explain how the start-up would be able to scale this approach.
英語のヒント
4. 革新的な技術を事業成長の推進力として活用することに、100%取り組む、本書のスタートアップ企業を考えよう。非常に多くのメモリを必要とするアプリケーションを支え、データに対するすべての計算をメモリ内で行えるようにするため、メモリ管理をどう活用できるか述べよう。今日すでに存在する類似技術の例はあるだろうか。具体的で正確な例を挙げ、この方法をどのように規模拡大できるか説明しよう。
5. Consider our start-up company that is 100% committed to leveraging innovative technologies as a business growth facilitator. Describe how it could leverage a distributed file system to make it possible to gather mission-critical data in real time from various users located at the edge of the network. Give some precise examples and explain how the start-up would be able to scale this approach.
英語のヒント
5. 革新的な技術を事業成長の推進力として活用することに、100%取り組む、本書のスタートアップ企業を考えよう。ネットワークの端にいるさまざまな利用者から、業務上極めて重要なデータをリアルタイムで集められるよう、分散ファイルシステムをどう活用できるか述べよう。具体的で正確な例を挙げ、この方法をどのように規模拡大できるか説明しよう。
Exercises 6練習問題 6
6. Consider our startup company that is 100% committed to leveraging innovative technologies as a business growth facilitator. Describe how it could leverage OS technology obsolescence. Give some precise examples and explain how the startup would be able to scale this approach.
英語のヒント
6. 革新的な技術を事業成長の推進力として活用することに、100%取り組む、本書のスタートアップ企業を考えよう。OS技術が陳腐化することを、どのように活用できるか述べよう。具体的で正確な例を挙げ、この方法をどのように規模拡大できるか説明しよう。

Labs実習

1. Install Oracle Virtual Box on your laptop and deploy an image of an operating system in Virtual Box that makes it possible to use a different operating system on your laptop.
英語のヒント
1. ノートパソコンにOracle Virtual Boxをインストールし、Virtual BoxにOSのイメージを配置して、そのノートパソコンで別のOSを使えるようにしよう。
2. Create a Linux virtual machine on a cloud of your choice and install X2Go to access the virtual machine from your laptop. Explain how the OS and windowing system make all of this possible.
2. 自分で選んだクラウド上にLinuxの仮想マシンを作り、X2Goをインストールして、ノートパソコンから仮想マシンへアクセスしよう。OSとウィンドウシステムが、これらをどのように可能にするか説明しよう。
3. Write a program in a programming language of your choice and deploy it using the OS of your choice. Use a GNU compiler tool to compile and link your code and demonstrate how your program makes used of memory management (e.g., dynamic memory allocation).
英語のヒント
3. 自分で選んだプログラミング言語でプログラムを書き、自分で選んだOSで配置・実行しよう。GNUのコンパイラーツールでコードをコンパイルしてリンクし、動的メモリ割り当てなどのメモリ管理を、そのプログラムがどのように使うか実演しよう。
4. Create a file system on a cloud of your choice and mount it as a drive on your computer. Perform some experiments with various applications of your choice to determine if the performance is acceptable. Experiment with the SaaS functionality provided on various big clouds as you work on this lab.
英語のヒント
4. 自分で選んだクラウドにファイルシステムを作り、自分のコンピューターへドライブとしてマウントしよう。自分で選んださまざまなアプリケーションを使って実験し、性能が許容できるかを判断しよう。この実習では、大手の各クラウドが提供するSaaSの機能も試そう。
Examples with SaaS:
SaaSを使う例:
• Office suites: Use SaaS offerings like Google Workspace or Microsoft 365 to create and edit documents. Observe the responsiveness of these services.
英語のヒント
• オフィススイート:Google WorkspaceやMicrosoft 365のようなSaaSを使い、文書を作成・編集しよう。これらのサービスの応答性を観察しよう。
• Development tools: Experiment with cloud-based IDEs like AWS Cloud9 or GitHub Codespaces to develop and run code. Pay attention to the execution speed and any latency in the development process.
英語のヒント
• 開発ツール:AWS Cloud9やGitHub Codespacesのようなクラウド上のIDEを試し、コードを開発・実行しよう。開発中の実行速度や遅延に注意を向けよう。
• Database management: Work with a cloud-based database service like Amazon RDS. Perform queries and updates to test performance.
英語のヒント
• データベース管理:Amazon RDSのようなクラウド上のデータベースサービスを使おう。クエリーや更新を実行し、性能を試そう。
• Analytics: Utilize services like AWS QuickSight or Looker Studio to perform data analysis tasks. Evaluate the speed of data processing and visualization rendering.
英語のヒント
• 分析:AWS QuickSightやLooker Studioのようなサービスを使い、データ分析を行おう。データ処理と可視化の描画の速度を評価しよう。
5. Research the recovery features that are available on your computer’s OS and document what you would need to do in case of a system crash. Create a recovery disk as needed so that you are prepared for the worst.
英語のヒント
5. 自分のコンピューターのOSで使える回復機能を調べ、システムがクラッシュした場合に必要な作業を書き残そう。最悪の場合に備え、必要に応じて回復ディスクを作ろう。