程序一运行,会发生什么?
双击应用图标,程序就“运行”了。可运行到底,是怎么回事呢? 那是一个一直静着的文件,变成活生生在动的东西,那一瞬间。
程序和运行不一样
先把两样分清。
一样是程序。
在存储里静静待着的
文件。
另一样是它运行起来的状态。
此刻活生生在动、
在干活。
菜谱那张纸,
跟实际正在做菜,
就这区别。
程序(代码)
在存储里静静待着的文件。就像写着菜谱的一张纸。
进程(运行中)
那个程序实际在跑的状态。照着纸正在做菜呢。
看着像、其实不一样的两个。
正在运行的程序,
这叫进程。
就像同一张菜谱,
得真开始做,
才冒热气、才有香味,
程序也得运行起来,
才开始干真活。
一运行,进程就诞生
双击应用的那一下,
操作系统就动起来。
把存储里的代码,
搬进内存,
然后“来,开始”,
把它叫醒。
这个醒来的状态,
就是进程。
你亲手运行试试。
按运行按钮试试。
文件还原样留着。
是个副本搬进内存,
变成进程。
所以同一个应用,
关了再开,
原文件也不变。
进程有自己的地盘
进程一诞生,
操作系统就给它地盘。
“你用这些内存格子”。
就是上个领域学的,
那个有地址的内存。
每个进程,
都另有一块
自己的工作空间。
每个进程有自己的内存空间。
地盘各是各的,
所以互不干扰。
一个应用突然卡死,
别的应用也没事。
为了我的和你的
不混在一起,
操作系统给分开了。
同一个应用能开好几个
有个有意思的点。
程序就一个,
进程却能好几个。
开三个浏览器窗口,
就是从同一个程序,
生出了三个进程。
多开几个窗口试试。
每开一个窗口,就多一个进程。
就像一张菜谱,
在好几口锅里同时做,
同一个程序,
能跑好几个进程。
各自在自己的空间里,
分头干活。
操作系统拿一份名单管所有
操作系统,
把此刻在跑的进程,
全记在一份名单上。
叫什么名,
干多少活,
用多少内存。
电脑变慢时,
在“任务管理器”里看的,
就是这份名单。
操作系统给每个都编上号(PID),分头管理。
一个一个进程,
在自己空间里活生生地动,
操作系统把这所有,
记在名单上照看。
可部件就一个,
这么多进程,
怎么同时跑呢?
下次解开这个秘密。