- 1、本文档共101页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LINUX进程管理LINUX进程管理
第一章 LINUX进程管理
每个进程分为内核态(特权级0)和用户态(特权级3)两种级别。
LINUX的进程控制块。
LINUX的进程状态分“执行”(包括就绪状态)、“可打断睡眠”、“不可打断睡眠”、“僵死”、“暂停”、“交换”等6种,它们的转换关系参见第二节的图1-4及相应说明。LINUX另外定义了11种进程标志。
LINUX进程管理由进程控制块、进程调度、中断处理、任务队列、定时器、bottom half队列、系统调用、进程通信等部分组成。
1.1 进程和进程控制块
2.4.0版本中,每个task_struct 结构占1680字节。
系统中的最大进程数由系统的物理内存大小决定(这一点与以前的内核版本有很大的不同)。
task_struct(include/linux/sched.h)的定义及各主要部分的解释如下:
include/linux/sched.h
————————————————————————————————— 277 struct task_struct {
278 /*
279 * offsets of these are hardcoded elsewhere - touch with care
280 */
281 volatile long state; /* -1 unrunnable, 0 runnable, 0 stopped */
282 unsigned long flags; /* per process flags, defined below */
283 int sigpending;
284 mm_segment_t addr_limit; /* thread address space:
285 0-0xBFFFFFFF for user-thead
286 0-0xFFFFFFFF for kernel-thread
287 */
288 struct exec_domain *exec_domain;
289 volatile long need_resched;
290 unsigned long ptrace;
291
292 int lock_depth; /* Lock depth */
293
294 /*
295 * offset 32 begins here on 32-bit platforms. We keep
296 * all fields in a single cacheline that are needed for
297 * the goodness() loop in schedule().
298 */
299 long counter;
300 long nice;
301 unsigned long policy;
302 struct mm_struct *mm;
303 int has_cpu, processor;
304 unsigned long cpus_allowed;
305 /*
306 * (only the next pointer fits into the cacheline, but
307 * thats just fine.)
308 */
309 struct list_head run_list;
310 unsigned long sleep_time;
311
312 struct task_struct *next_task, *prev_task;
313 struct mm_struct *active_mm;
314
315 /* task state */
316 struct linux_binfmt *binfmt;
317 int exit_code, exit_signal;
318
您可能关注的文档
最近下载
- 普契尼歌剧《修女安杰丽卡》中咏叹调《没有妈妈》的音乐与演唱探析.pdf VIP
- SOP--药物临床试验急救预案.docx VIP
- 《技术转移》课件.ppt VIP
- 自动生成钻孔柱状图表格.xls VIP
- 2025年借条模板(精选20篇) .pdf VIP
- 2025年机动车检验机构内审检查表(依据评审准则和补充技术要求) .pdf VIP
- 2023ESC急性冠脉综合征管理指南(完整版).pdf
- 2025美国急性冠脉综合征(ACS)患者管理指南解读课件PPT.pptx
- 《设计小房子》教案-2024-2025学年教科版(2024)小学科学二年级上册.docx VIP
- 《夜晚的月亮》教案-2024-2025学年教科版(2024)小学科学二年级上册.docx VIP
文档评论(0)