linux进程学习小结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux进程学习小结

1.进程由什么组成? 进程由进程控制块(PCB),数据,程序3部分组成。其中PCB是进程的灵魂。 2.进程的状态 进程的三种最基本的状态是:运行态(running),就绪态(readying), 阻塞态(block) 3.进程和程序的区别: 进程和程序的主要区别是进程是动态的,程序是静态的。进程时运行中的程序,程序是一些保存在硬盘上的可执行的代码。 4.进程是拥有资源的基本单位,线程是调度的基本单位。 5.linux系统的进程间通信有哪几种方式 1管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用 。进程的亲缘关系通常是指父子进程关系。 2有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信 。 3信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。 4消息队列( message queue ) : 消息队列是消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承 载无格式字节流以及缓冲区大小受限等缺点。 5 信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。 6 共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。 7套接字( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。 6.当程序执行时,操作系统将可执行程序复制到内存中。程序转化为进程通常需要经过以下步骤: 内核将程序读入内存,为程序分配内存空间 内核为该进程分配进程标识符(PID)和其他资源 内核为该进程保存PID及相应的状态信息,把进程放到运行队列中等待执行。 程序转化为进程后就可以被操作系统的调度程序执行了。 7.进程的内存映像 a.进程的内存映像是指内核在内存中如何存放可执行程序文件 。在将程序转化为进程的过程中,操作系统将可执行程序由硬盘复制到内存中。 b.linux下程序映像的一般布局如下:(从低地址到高地址) 1代码段:代码段是只读的,可被多个进程共享。 2数据段: 存储已被初始化的变量,包括全局变量和已被初始化的静态变量。 3未初始化数据段:存储未被初始化的静态变量,它也被称为bss段 4堆:用于存放程序运行中动态分配的变量 5栈:用户函数调用,保存函数的返回地址,函数的参数,函数内部定义的局部变量。 8.可执行程序和内存映像的区别 : a.可执行程序位于磁盘中而内存映像位于内存中; b.可执行程序没有堆栈,因为程序 被加载到内存中才会分配堆栈; c.可执行程序虽然也有未初始化数据段但它并不被储存在位于硬盘中的可执行文件中; d.可执行程序时静态的,不变的,而内存映像随着程序的执行时在动态变化的 9.------------------------------------------------------------------------------------- 1.由操作系统创建的进程之间是平等的不存在资源继承关系。 2.由父进程创建的进程通常为子进程,它们之间有继承关系。 3.在系统启动时,OS会创建一些进程,它们承担着管理和分配系统资源的任务,即系统进程。 10. ------------------------------------------------------------------------------------- 0号idle进程,它是从无到有诞生的第一个进程,主要用于节能; 1号进程(init进程)它是一个由内核启动的用户级进程,它是所有用户进程的父进程,是用户态下的第一个进程 11. fork()函数 调用fork()后,当前进程分裂为两个进程(分别执行,互不干扰),一个是原来的父进程,另一个是刚创建的子进程.父进程调用fork()返回值是子进程ID,子进程返回值是0,若创建失败,返回-1.若有一个孤儿进程,即父进程先于子进程死去,子进程将会由init进程收养. for

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档