知らない言葉を調べたもの
risc-v
最近急速に注目を浴びているコンピュータの命令セットアーキテクチャ(Instruction Set Architecture: ISA)です
RISC-V ISAの注目すべき特徴は、ロードストア・アーキテクチャ、CPU内のマルチプレクサを簡素化するビットパターン、IEEE 754浮動小数点、アーキテクチャ的に中立な設計、符号拡張を高速化するために最上位ビットを固定位置に配置することなどである。
execve
Linuxのコマンドの一つ
execve () は、filename によって指定されたプログラムを実行する。
ハイパーバイザー
ハイパーバイザーは、仮想マシン (VM) を作成および実行するソフトウェアです。
物理的なマシンの中に、仮想的なコンピュータを作り出し、実行する際に使用します。
こういった仮想的なコンピュータを仮想マシンといいますが、仮想マシンを作成することで、同じ物理マシン内で複数の異なるOSを並列に実行することができます。
コンテキスト
置かれているプログラム内での位置や、実行される際の内部状態などによって異なる振る舞いをしたり、異なる制約を受けたりすることを指してコンテキストということがある。
画面描画やグラフィックス処理、入出力機器の制御などで、入出力先の装置を抽象化し、プログラム上で扱えるデータ構造の集合などの形に表したものをコンテキスト(デバイスコンテキスト、グラフィックスコンテキスト、レンダリングコンテキスト等)ということがある。
バッファ
インターネットの通信やハードディスク利用など、広い意味での「データの読み書き」で使われる技術です。読み書きのエラーや、他の作業などの影響で読み書きが間に合わなくなることを防ぐため、一時的にメモリー上にデータを蓄える仕組みです。
バッファとは、複数の主体がデータを送受信する際に、処理速度や転送速度の差、タイミングのズレなどを補うためにデータを一時的に蓄えておく記憶装置や記憶領域のこと。
HTTPとSocket
localhostについて
127.0.0.1
127.0.0.1はループバックアドレスの一つであり、同時に127.0.0.1に対応する仮想的なネットワーク・インターフェースを表します。
ループバックアドレスは自分自身を表す特別なIPアドレスのことです。
ループバックアドレスは同一ホスト内でしか通信を行いません。
0.0.0.0
前者2つとだいぶ異なり、すべてのネットワーク・インターフェースを表します。
ワイルドカードのようなもので、すべての通信を表します。
こちらは別ホストからでもアクセスすることが可能です。
1つめと2つめの違いは、IPとポートの組み合わせが一致しているかどうかです。
私は、マシンに8000ポートは一つしかない、と思っていたことがありました。
ただこれは誤りで、実際は一つのネットワーク・インターフェースにつき一つです。
このネットワーク・インターフェースには、127.0.0.1のような仮想的なものも含まれます。
そしてマシンは複数のネットワーク・インターフェースを持つことができ、複数のIPアドレスを持つことが出来ます。
え、そうなんだ。