プロセス(大まかに、かつ不明瞭な説明)
CPU
CPUはプログラムを実行します。CPUが処理を行える言語は機械語です。
機械語はバイト列のある規則体系に基づいて記述されたものです。
CPUの種類によって実行できる命令は異なります。ただし、どのようなCPUでもおおむね次のような命令を理解します。
- メモリからバイトを読む
- メモリにバイトを書く
- 四則演算
- ビットシフト
- 原始的な条件分岐
マルチタスク
上記の処理は、CPUとメモリが1対1の場合であれば話は簡単ですが、今やWindowsもMacOSもマルチタスクの時代です。
マルチタスクの場合、次のような問題が発生します。
メモリに関する問題
- 「メモリからバイトを読む、書く」という日本語には大事な言葉が足りません。
- 「どこに」という場所(アドレス)を指示しないとバイトを読み書きできません。
- 「どこに」という場所がそれぞれのアプリで重複しないように記述するにはどうすればよいのか?