
操作系统
CDatreides
这个作者很懒,什么都没留下…
展开
-
模拟实现僵尸进程, 孤儿进程
僵尸进程什么是僵尸进程?-僵尸状态是一个比较特殊的状态。当进程退出并且父进程(使用wait()系统调用)没有读取到子进程退出的返回代码时就会产生僵尸进程。-僵尸进程会终止状态保持在进程表中,并且会一直在等待父进程读取退出状态代码。-所以,只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态。 1 #include<stdio.h> 2...原创 2018-08-17 22:37:25 · 289 阅读 · 0 评论 -
进程与线程的区别和联系以及优缺点
什么是线程?-在一个程序里的一个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的控制序列”。-一切进程至少都有一个执行线程-线程也被叫做轻量级进程什么是进程?-进程是程序的一个执行的实例。-进程是正在执行的程序。-进程是能分配处理器并由处理器执行的实体。进程和线程-进程是资源竞争的基本单位-线程是程序执行的最小单位联系:进程和线程都是操作系统所...原创 2018-08-19 21:59:10 · 2301 阅读 · 0 评论 -
进程的调度算法以及task_struct结构各字段含义
首先,我们需要知道什么是进程?1.进程是程序的一个执行的实例。2.进程是正在执行的程序。3.进程是能分配处理器并由处理器执行的实体。按内核的观点来谈进程:它是担当分配系统资源(cpu时间,内存)的实体。-操作系统的调度分为三种:1.远程调度(创新进程)2.中程调度(交互功能的一部分)3.短程调度(下次执行哪个进程)-进程的三种状态:1.等待态:等待某个事件的...原创 2018-08-17 14:58:18 · 464 阅读 · 0 评论 -
程序地址空间
我们在学习linux的时候,老师曾给我们画过这样的空间布局图。 由图我们并不能理解它所表达的意思,接下来用代码验证一下:代码结果:j结论:根据代码结果可知,当我们fork一个进程时,它的父子进程的地址以及数据都是相同的,因此我们可以的得出父子进程创建时共享代码段以及数据段。我们将代码稍加改动:结果如下:结论:从以上比较我们可以看出,代码改变之后他们的...原创 2018-12-17 13:18:04 · 338 阅读 · 0 评论