linux进程学习小结

linux进程学习小结

ID:39465776

大小:63.00 KB

页数:8页

时间:2019-07-04

linux进程学习小结_第1页
linux进程学习小结_第2页
linux进程学习小结_第3页
linux进程学习小结_第4页
linux进程学习小结_第5页
资源描述:

《linux进程学习小结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.进程由什么组成?进程由进程控制块(PCB),数据,程序3部分组成。其中PCB是进程的灵魂。2.进程的状态进程的三种最基本的状态是:运行态(running),就绪态(readying),阻塞态(block)3.进程和程序的区别:进程和程序的主要区别是进程是动态的,程序是静态的。进程时运行中的程序,程序是一些保存在硬盘上的可执行的代码。4.进程是拥有资源的基本单位,线程是调度的基本单位。5.linux系统的进程间通信有哪几种方式1>管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2>有

2、名管道(namedpipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。3>信号量(semophore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。4>消息队列(messagequeue):消息队列是消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承 载无格式字节流以及缓冲区大小受限等缺点。5>信号(sinal):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已

3、经发生。6>共享内存(sharedmemory):共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。7>套接字(socket):套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。6.当程序执行时,操作系统将可执行程序复制到内存中。程序转化为进程通常需要经过以下步骤:内核将程序读入内存,为程序分配内存空间内核为该进程分配进程标识符(PID)和其他资源

4、内核为该进程保存PID及相应的状态信息,把进程放到运行队列中等待执行。程序转化为进程后就可以被操作系统的调度程序执行了。7.进程的内存映像a.进程的内存映像是指内核在内存中如何存放可执行程序文件。在将程序转化为进程的过程中,操作系统将可执行程序由硬盘复制到内存中。b.linux下程序映像的一般布局如下:(从低地址到高地址)1>代码段:代码段是只读的,可被多个进程共享。2>数据段:存储已被初始化的变量,包括全局变量和已被初始化的静态变量。3>未初始化数据段:存储未被初始化的静态变量,它也被称为bss段4>堆:用于存放程序运行中动态分配的变量5>栈:用户函数调用,保存函数的返

5、回地址,函数的参数,函数内部定义的局部变量。8.可执行程序和内存映像的区别:a.可执行程序位于磁盘中而内存映像位于内存中;b.可执行程序没有堆栈,因为程序被加载到内存中才会分配堆栈;c.可执行程序虽然也有未初始化数据段但它并不被储存在位于硬盘中的可执行文件中;d.可执行程序时静态的,不变的,而内存映像随着程序的执行时在动态变化的9.-------------------------------------------------------------------------------------1.由操作系统创建的进程之间是平等的不存在资源继承关系。2.由父进程创建的

6、进程通常为子进程,它们之间有继承关系。3.在系统启动时,OS会创建一些进程,它们承担着管理和分配系统资源的任务,即系统进程。10.------------------------------------------------------------------------------------->0号idle进程,它是从无到有诞生的第一个进程,主要用于节能;>1号进程(init进程)它是一个由内核启动的用户级进程,它是所有用户进程的父进程,是用户态下的第一个进程11.fork()函数调用fork()后,当前进程分裂为两个进程(分别执行,互不干扰),一个是原来的父进程,

7、另一个是刚创建的子进程.父进程调用fork()返回值是子进程ID,子进程返回值是0,若创建失败,返回-1.若有一个孤儿进程,即父进程先于子进程死去,子进程将会由init进程收养.fork()的子进程有自己独立的地址空间.12.-------------------------------------------------------------------------------------1.linux进程一般包括代码段,数据段,bss段,堆栈段.代码段存放程序的可执行代码;数据段存放全局变量、常量、静态变量;堆存放动态分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。