Engineer Hacks

インフラサーバ系エンジニアが考えたこととか勉強したことのメモ

SystemSoftware2010_03メモ

2013/12/6に受講している。

Hints for Computer System Design のディスカッション。

http://research.microsoft.com/en-us/um/people/blampson/33-Hints/WebPage.html

Figure 1: Summary of the slogans に書いてあることが凄くイイ。

Process

プロセスとは

  • プログラムのインスタンス
  • CPUとメモリの仮想化。あたかもプロセスが一台のコンピュータを使えるか、のように見える。
  • segments -- text: program itself -- data: mallocされるやつで、heapにいれられる。 -- stack: argument, return address を入れておく。

プロセスの構造体はいろいろ入っとる。

Thread

プロセスは拡張マシンだとすると、スレッドは仮想CPUを使う。スレッドにはPC(Program Counter)があって、次の命令のアドレスが入っとる。スレッドが複数あるときは、PCを徐々にずらす感じかな。

A process is an abstraction of both memory and the CPU. It contains one or more threads. The thread is the abstraction of the CPU, including the PC (program counter) and all of the registers.

Signal

プロセスに割り込みしたいとき等に、プロセスへ通知する方法。

勉強もと

http://web.sfc.keio.ac.jp/~rdv/keio/sfc/teaching/system-software/system-software-2010/lec03.html