当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 学习笔记 > 进程详解,由浅入深的进程学习笔记

进程详解,由浅入深的进程学习笔记 时间:2018-08-02      来源:未知

1.进程

进程是程序的一次动态执行;

进程是程序执行和系统资源管理的最小单位,存在资源的分配;

2.程序

程序是若干指令的集合;

程序是静态存储在文件中;

3.进程控制块

保存创建进程的信息;

4.进程号和进程状态

系统标识进程;S阻塞 Z 僵尸 R运行

5.进程的分类

1.交互进程:由shell创建,依赖于终端,

终端退出,进程退出;

2.批处理进程:不受终端控制。进入队列,顺序执行

3.守护进程:在后台运行,独立于终端,

6.进程的拷贝

子进程对父进程进行的地址资源的基本全部拷贝;

(数据段,代码段(fork后),缓冲区);

各个进程拥有独立的虚拟地址空间0-4G;

7.Fork函数理解

Fork父进程执行一次,但是操作系统会给父子进程不同的返回值;

8.孤儿进程

父进程先于子进程退出;被init收养;

9.终止进程

Exit; _exit; return (main);fflush缓冲区区别

10. 僵尸进程defunct(Z)

子进程已经退出,父进程没有回收子进程的资源PCB(进程控制块);

11. 阻塞非阻塞

阻塞:信号的唤醒;等待进程退出,回收子进程资源;

非阻塞:立即返回,时刻轮询;

12. 退出状态返回wait

Wait返回保存子进程exit退出时的退出状态;

Exit()退出状态;

实际编程时,可以通过wait系统调用接收子进程的退出状态,来进行相应的处理。

13. Wait和waitpid

Wait阻塞父进程等待任意子进程结束,返回结束进程的进程号

Waitpid

Waitpid(-1,int *status,0);=== wait(int *status)

非阻塞:

如果没有等到结果,则返回0;

如果等到,则返回退出进程的PID

14. Exec函数族(概念)

通过调用exec函数来取代原有进程的数据段,代码段,堆栈段来执行另外一个程序。

在形式上实现了程序间的调用;

15. Exec函数的总结

1.可执行文件的查找方式 :

带路径execl/execv

省略路径execlp/execvp

指定路径execle/execve

2.参数的传递v

Char * 列举; char * [] 指针数组;

3.环境变量的使用e

指定环境变量,可执行文件的查找路径

16. 进程的内存空间

进程的虚拟内存是操作系统在逻辑上假想的一片内存

进程的虚拟内存只会在程序实际运行过程中,需要被访问到的部分被映射到实际的物理内存,映射通过页表的实现;虚拟内存空间大,只是代表了他能访问的内存空间比较大,不带表他占用的实际的物理内存大;通过TOP命令来查看;进程之间通过。

进程的内存图

上一篇:c语言数组基础知识,这些你要掌握好

下一篇:数据结构基本概念-学霸笔记

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部