linux学习笔记二(进程)

1、硬件中断技术的出现,进而软件片上有了分时系统,时间片轮转。

2、进程:从用户角度看,进程是程序的一次动态执行过程。

3、从操作系统角度看:
1)进程是操作系统分配内存,CPU时间片等系统资源的基本单位。
2)每个进程有自己独立的虚拟地址空间和进程状态
3 ) 进程是分配资源的最小单位

4、程序:为了执行特定任务的一系列指令的有序集合

5、进程是程序的一次执行过程,需要保存进程的现场信息,这些信息需要一个数据结构来保存,在c语言中用结构体,我们将这个结构称之为PCB(process control block)

PCB是操作系统感知一个进程存在的重要数据结构。

6、程序:代码段+数据段
进程:代码段+数据段+堆栈+PCB
PCB {
pc 下一条指令的地址
esp 栈顶指针
ebp 基址
}
PCB将代码和数据有效的粘合在一起

7、进程和程序的区别:
1)进程是动态的,程序是静态的
2)进程是短暂的,程序是永久的
3)进程有PCB
4)一个进程只能对应一个程序,一个程序可以对应多个进程

三态:
这里写图片描述

liux七态:
这里写图片描述

awk ‘{printf(“%s\n”,$2) ’
kill -l 列出当前系统下的所有信号

8、ps 查看进程状态
ps aux
ps -ef

9、liux 对应的PCB数据结构:task_struct
进程标识符
进程状态
进程优先级
各种时间信息
进程间通信
内存使用情况
寄存器

进程标示符

操作系统会给每个进程分配一个独一无二的编号i哦
编号的范围[2-cat /proc/sys/kernel/pid_max]
0 内核进程
0号进程启动1号进程。 init

创建进程的一般过程:

给新的进程分配一个进程标识符,在内存核中创建PCB复制父进程的环境
复制父进程的环境
给子进程分配资源,栈,堆,代码,数据等
复制给父进程的地址空间内容到子进程的地址空间
将进程置为就绪状态 ,放到就绪队列

猜你喜欢

转载自blog.csdn.net/adzn1/article/details/79805692