program 變成 process 的關鍵在於他 load 到 memory裡了
唯一 CPU可以直接 access的。
多個process裝在 memory 同時執行,於是我們就要去控制這些process 各是在 memory的哪裡做,要保護這些process不能去影響到彼此。
program 裡面有很多變數,會變成 memory 裡的 address。整個 program 到 memory 的流程裡有三個時間點:
- compile time
- load time
- execution time
static loading: 還沒執行就把 library load進來
dynamic loading: 在執行的時候才 load 進 memory
Swapping: To move a program between memory & disk