Open9

【読書メモ】Modern Operating Systems(MOS)

tez3998tez3998

@1.1

OSの役割

  • アプリケーションプログラマ(実際にはアプリケーションプログラム)に、散らかったハードウェアリソースの代わりに、綺麗に抽象化かれたリソースを提供すること
  • ハードウェアリソースを管理すること
tez3998tez3998

@1.2.2

”オフライン”の語源??

コンピュータのオペレータの移動時間が無駄なので、以下の処理を導入したよう。

  1. 溜まったジョブを安価なコンピュータで磁器テープにまとめて書き込む
  2. 高価なコンピュータで計算をバッチ処理で行い、結果を別の磁気テープにまとめて書き込む
  3. 安価なコンピュータで結果が書き込まれている磁器テープからプリンタで結果を出力する

上記の手順3にて、高価なコンピュータ(本ではメインのコンピュータとも呼んでいる)以外で処理を行うこと、すなわち安価なコンピュータで処理を行うことを”off line”という言葉を使って説明している。
これはオフラインの語源なのかもしれない。

追記

goo辞典によると、以下の記載がある。

コンピューターの中央処理装置と入出力装置などとが切り離されている状態。また、端末がインターネットなどの通信回線に接続されていないこと。⇔オンライン。

高価なコンピュータを中央処理装置、安価なコンピュータとプリンタを一つの出力装置と考えると、一つ目の状態に当てはまっているので、上記はオフラインの語源なのかもしれない。
ちなみに、goo辞典の出典はデジタル大辞泉(小学館)だった。

tez3998tez3998

@1.2.4

MS DOSの元となるOSの価格

話しによると、MS DOSの元となるDOSを、ビル・ゲイツは75,000ドルでシアトル・コンピュータ・プロダクツから買い取ったらしい。
ちなみに、DOSを書いたTim Patersonも雇ってしまったらしい...(交渉が上手いんだろうなぁ)。

Mac OS XはUNIXベースのOS

Appleは、カーネギーメロン大学のMachマイクロカーネルから派生したカーネルを採用した。Machマイクロカーネルは元々、BSD UNIXのカーネルを置き換えるために開発されていたものなので、Mac OS XはUNIXベースのOSと言える。

tez3998tez3998

@1.2.5

スマートフォンの名付け親はスウェーデンの企業

スウェーデンの通信機器メーカーであるエリクソンがスマートフォンの名付け親。1997年からこの言葉を使っていた。

tez3998tez3998

@1.3.1

PSW

PSW(Program Status Word)はCPUの持つレジスタの1つ。CPUの状態を持つ(←英語版Wikipwdiaによると、プログラムカウンターの兼ねると書いてあった)。このレジスタは、条件命令の結果やCPU priority(←よく分からなかったので翻訳できなかった)、CPUのモード(ユーザモード or カーネルモード)、その他のcontrol bitを保持する。
プログラムからPSWを使うときは、全て読み込むことはよくあるが、全てを書き換えることはあまりないらしい(つまり、PSWの一部のフィールドのみを書き換える)

CPUのモード

カーネルモード

CPUは命令セットにあるすべての命令を実行できる。
普通はOSは常にカーネルモードで実行される。一部の組み込み分野で使われるOSはOSの機能の一部がユーザモードで実行されることもある。

ユーザモード

I/Oやメモリ保護関連の命令は直接実行できない。もちろんPSWを変更することでCPUのモードを変えようという試みも実行できないようになっている。
ユーザプログラムはユーザモードで実行される。ユーザプログラムがカーネルモードでしか実行できない命令を実行したい場合は、システムコールを使う。システムコールはカーネルにトラップされる。トラップ命令はCPUのモードをユーザモードからカーネルモードに変更し、OSを呼び起こす。

tez3998tez3998

疑問(未解決)

システムコールはカーネルにトラップされる、とあるがカーネルは常に、または定期的にCPUの使用権を与えれれているのか?そうではないと、システムコールをトラップできない気がする。

tez3998tez3998

疑問(未解決)

Program Status Word(PSW)の英語版Wikipediaによると、PSWはプログラムカウンタの機能も持っているらしい。単体のプログラムカウンタとPSWのプログラムカウンタの用途の違いは何のかが知りたい。

英語版Wikipediaから引用

The program status word (PSW) is a register that performs the function of a status register and program counter, and sometimes more.

tez3998tez3998

@1.3.2

キャッシュライン

キャッシュメモリのデータを管理する単位。単にラインとも呼ぶ。通常は64Byte。