有了进程概念后,有一件事情就好说了。从此后所有的程序运行都是进程,如果一个程序运行了,但是没有相应的进程出现,那么这个程序运行在操作系统管辖之外,这个程序将不能获得操作系统给予的资源分配,理论上来说这个情况不可能发生。
进程带来的好处就是并发运行,也就是cpu可以和外设并行工作了。
但是进程所用到的数据结构和算法需要操作系统来维护,这就是操作系统的最重要部分:进程管理部分。
小实验
实验环境:Ubuntu
在编写程序如下
int main()
{
printf("hello world");
for(;;);
}
保存为文件 helloworld.c
编译
gcc helloworld.c -o helloworld
获得可执行文件helloworld
运行可以看到显示器打印出 hello world 。
多打开一个终端键入命令 top,我们看到hello world 进程
上图第二行最后一列,我们看到刚才的文件 helloworld。
这个程序启动运行的时候,操作系统新创建一个进程,用这个进程来管理这个程序的运行过程。
我们也看到同时有其它进程也在运行,这就是进程管理部分实现了多个进程的并发运行的结果。