1.程序: 为了执行特定任务的一系列指令的有序集合
硬件中断技术的出现,进而软件上有了分时系统,时间片轮转
2.进程:
从用户角度看: 进程是程序的一次动态执行过程
从操作系统的角度看:
a.进程是操作系统内存分配 ,CPU时间片等资源的基本单位
b.每个进程又自己独立的地址空间和进程状态(4G)
c.进程是分配资源的最小单位
进程是程序的一次执行过程,需要保存进程的现场信息,这些信息需要一个数据结构来保存,在C语言中用结构体,我们将这个结构体称为PCB(process control block)
PCB 是操作系统感知一个进程存在的重要数据结构
PCB{
进程标识符
pc 下一条指令的地址
esp 栈顶指针
ebp 基址
}
程序: 代码段+数据段
进程: 代码段+数据段+堆栈+PCB
PCB将代码和数据有效的粘合在一起
进程和程序的区别:
1.进程是动态的,程序是静态的
2.进程是短暂的,程序是永久的
3.进程里有PCB
4.一个进程对应一个程序,一个程序对应多个进程