文章目录
进程(process)
定义:
进程:正在运行的程序
内核:操作系统本身
内部结构(internal structure):
- 代码段(segment)
- 栈段
存储局部变量,返回地址
区分进程和程序的重要之处 - 数据段
- 地址空间
- 内核地址空间
- 用户地址空间
> 分开因权限问题 - 内核态:内核空间+内核权限
- 用户态:用户空间+用户权限
硬件提供
- PCB(process control block)
保存进程被中断时的信息(上下文context概念?)
状态(States)
- 状态保存在PCB中
何时生成(Creation)
- 系统初始化
Linux所有进程都有一个共同的父进程,ID为0(1)
这个进程进行系统调用,生成应用进程 - 系统调用
- 用户要求
shell要求,服务器请求
- 初始化批处理命令(shell脚本)
进程生成和结构的关系
shell键入命令,bash进程解析命令,将程序加载到内存,解析出代码段数据段放到分开的内存空间,然后生成一个栈段.(自然生成了地址空间(内核地址空间进程共享)).
内核中生成PCB等待调度
子进程拷贝父进程的代码段数据段,栈段(PID不同),PCB(有修改)