欢迎光临散文网 会员登陆 & 注册

史上最强最细腻的linux嵌入式C语言学习教程【李慧芹老师】

2023-06-16 14:03 作者:SJNeking  | 我要投稿

硬啃408计算机操作系统,学习起来跟八股文没啥区别。还是得从实践出发,从应用的角度去了解。



11.进程终止方式 P159 - 00:05


进程环境

1.main函数

int main(int argc, char *argv[])


2.进程的终止情况

正常终止:

从main函数返回

调用exit

调用_exit或_Exit

最后一个线程从启动例程返回

最后一个线程调用 pthread_exit


异常终止:

调用abort

接到一个信号并终止

最后一个线程对其取消请求作出响应


echo &?打印上一条语句的执行状态





3.命令行参数的分析

4.环境变量

5.C程序的存储空间布局

6.库

7.函数跳转

8.资源的获取及控制






1.进程-进程概念和fork P167 - 02:45


1.进程标识符pid

类型pid_t ,有符号16位,虚拟机技术

命令:ps ax -L / axf / axm

文件描述符

进程号是顺次向下使用,不是优先使用编号最小

getpid();

getppid();

2.进程的产生:fork()

执行一次返回两次,duplicating(复制) the calling process,memory copy,拷贝、克隆一模一样

fork后父子进程的区别:fork的返回值不一样,pid不同, ppid不同, 未决信号和文件锁不继承,资源利用量归零

init进程,是所有进程的祖先进程



调度器的调度策略来决定进程运行的先后顺序

sleep(1)

ps axf 阶梯状

孤儿进程、僵尸进程

重定向,Begin打印了两次

换行是无效的

fflush(NULL), fork之前要刷新所有该刷新的流



time ./primer0 > /dev/null


子进程没有一个退出的标记


S+, SLEEP

Z+,ZOMBINE


父进程结束,子进程变成了孤儿,由Init进行接收管理

“回收僵尸进程”

ps axf

time ./isprime > /dev/null

make isprime

zombine:僵尸

释放pid,pid非常的宝贵


vfork()与父进程共享存储区



3.进程的消亡及释放资源

wait()

waitpid()

waitid()

wait3()

wait4()


6.进程-进程分配之交叉分配法实现 P172 - 07:14


分块法

交叉分配法

池类算法,涉及到竞争与冲突






4.exec函数族

few

#include <stdlib.h>

#include <stdio.h>

#include <unistd.h>

END打印不出来

fflush(NULL)





5.用户权限及组权限


6.观摩课:解释器文件


7.system()


8.进程会计


9.进程时间


10.守护进程


11.系统日志

史上最强最细腻的linux嵌入式C语言学习教程【李慧芹老师】的评论 (共 条)

分享到微博请遵守国家法律