hardware
Overview
ハードウェア関連をまとめたセクション。
CPUとGPUの違い
GPU
GPUは、特定の3Dレンダリング・タスクの加速化のための専門的ASICとして開発された
内蔵グラフィックスとは
内蔵または共有グラフィックスはCPUと同じチップに組み込まれている。
CPUによっては専用グラフィックス、ディスクリート・グラフィックスに依存するのではなくGPUを内蔵しているものもあります。
また、IGPまたは統合グラフィックス・プロセッサーとも呼ばれ、CPUとメモリーを共有します。
静的領域
グローバル変数はプログラムの開始から終了までずっと有効な変数のためずっとメモリ上に割り当てられている必要がある プログラム開始時に割り当てられて終了時に開放されればよいため、グローバル変数のメモリ割当・解放はコンパイラによって自動的に行われる。 このときにグローバル変数が配置されるメモリ領域を静的領域という。
スタック領域
ローカル変数はスコープ範囲内で有効なため、スコープの始まりでメモリを確保しスコープの終わりでメモリを解放すれば十分。 ローカル変数の割当と解放もコンパイラによって自動的に行われる。このときに配置さえるメモリ領域をスタック領域という。
ヒープ領域
プログラムを設計する上で、何らかの情報をスコープの範囲を超えて扱いたいことがある
このような場合に利用するのがヒープ領域
ヒープ領域は柔軟に使える分、プログラマが責任を持って割り当て・解放を行わなければなりません。 また、ヒープ領域はポインタを介して読み書きを行う必要があります。 ヒープ領域はメモリを有効活用したい場合のためのものです。 メモリ有効活用する必要のない場合は、予めグローバル変数として必要な分だけメモリを確保しておけば十分なことが多いです。
標準入力と標準出力
コマンドは必要に応じて何らかのデータを受け取り、処理をして結果を出力する。 とくに何も指定していない場合、入力はキーボード, 出力は画面となる。これをそれぞれ標準入力と標準出力という。
- パイプ
dmesg | more
はdmesgコマンドの標準出力を、moreコマンドの標準入力につなげている - リダイレクト 標準出力を画面ではなく別のモノに向けるのがリダイレクトで、「>」という記号で表します。リダイレクト先は、通常はファイルですが、プリンターなどに送ることも可能です。
ファイルディスクリプター(FD)
ファイルへの通り道に割り振られる番号で、ファイルを識別するための目印 なおUNIX系(Linuxとか)ではファイル以外もファイルとして扱われる。