Linux自学day23-历程和线程

[复制链接]
发表于 2025-10-27 18:36:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1. 什么是历程?

历程是步伐实行的过程,涵盖创建、调治和灭亡阶段,是活的。
而步伐是一段数据的聚集,是死的。
历程还是利用体系资源分配的最小单元,拥有独立的捏造地点空间,包罗文本段、数据段、体系数据段等地区,用于存储代码、数据等差异范例信息。
2. 历程空间怎样分别?每个地区的特点?每个地区存放哪些数据?

32 位利用体系中,历程有 0 - 4G 捏造内存空间,包罗内核、栈区、体系数据段、堆区、数据段、未初始化数据段(.bss)、字符串常量区(.rodata)、文本段。
文本段:存储代码和指令;
数据段:存放全局变量、静态变量、字符串常量,编译时分配空间,步伐竣事接纳;
体系数据段:栈区由利用体系管理,存放局部变量,变量界说时分配空间,作用域竣事接纳,未初始化值为随机值;堆区由步伐员管理,通过 malloc 申请、free 开释;
内核:利用体系焦点地区,用户无法访问,负责多种体系管理使命。
3. 常见的历程调治算法有哪些?

常见的历程调治算法有:
先来先实行(先到的使命先实行)
高优先级调治算法(优先实行优先级高的使命)
时间片轮转调治算法(CPU 按固定时间片在历程间切换实行)
多级队列反馈(根据历程特性分别队列,差异队列有差异调治计谋)
负载平衡调治算法(将使命平衡分配到多个处理惩罚器上实行)
4. 历程状态分为哪几种范例?

历程状态分为:
停当态(正在运行的使命,未占用 CPU)
运行态(正在运行且占用 CPU)
可叫醒等候态(历程挂起,等候资源到达后继续实行)
不可叫醒等候态(历程挂起,等候特定信号继续实行)
停息态(历程挂起,等候 CPU 指令继续实行)
僵尸态(代码实行完毕,但空间仍存在)
竣事态(代码实行完毕,空间被接纳)
5. 历程干系的下令有哪些?

历程干系下令有:
top:按 CPU 占用率检察当前全部历程使命
ps -ef:检察全部历程,可与 grep 组合查找特定历程
ps -aux:检察历程状态
pstree:检察全部历程的关系
kill:通过 PID 或历程名制止历程
在下令后加 &:在配景实行步伐。
6. 怎样创建历程?fork 和 vfork 有什么区别?

通过 fork 函数创建历程,fork 函数调用后会创建一个子历程,父历程和子历程从 fork 函数调用处开始并发实行。
fork 和 vfork 的区别在于:
fork 创建的子历程拥有独立的地点空间,父子历程的地点空间相互独立
vfork 创建的子历程共享父历程的地点空间,子历程实行期间父历程被壅闭,直到子历程调用 exit 或 exec 系列函数,而且 vfork 包管子历程先运行。
7. 什么是僵尸历程?怎样产生?怎样制止?

僵尸历程是历程实行竣过后,空间没有被接纳的历程。
产生缘故起因是子历程竣事时,父历程未接纳其空间。
制止方法有两种:
一是让父历程先竣事,子历程成为孤儿历程被 init 历程收养,子历程竣事时 init 历程接纳其空间;二是子历程竣事时,父历程利用 wait 或 waitpid 函数接纳子历程空间。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表