Linux程项目个人总结 第一小组 田国航.ppt

Linux程项目个人总结 第一小组 田国航.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux进程项目个人总结 第一小组 田国航 遇到的问题 1. 如何方便的切换两个OS? 2. 共享内存机制也有缺陷? 3. 读写进程监控进程是如何同步的? 4. 并行计算的任务如何分配? 5. 被杀死的进程还可以“复活”吗? 6. 监控进程越位怎么办? 7. quit后还有进程霸占内存? 8. 软件工程思想的认识 方便的切换两个OS 虚拟机VMWare Workstation Usb的挂接 mount 共享内存机制 共享内存是直接用虚拟地址访问内存中的数据,通信效率是几种进程通信机制中最高的 。 图示,二进程通过共享一个共享存储区来进行通信。其中,进程A将建立的共享存储区附接到自己的AA’区域,进程B将它附接到自己的BB’区域。 共享内存的缺陷 如果单独使用共享内存,就会出现多个进程同时读/写共享内存的情况,可能导致如下异常 : 1)写入共享内存的数据杂乱无序; 2)从共享内存读出的数据残缺不全; 3)写消息的进程还没执行,读出消息的进程就已经执行,并以读出数据为空结束。 信号量+共享内存 将信号量与共享内存结合使用,利用信号量来协调进程对共享内存中数据的读写,改进进程间通信方式,既实现了同步共享内存,同时也解决了消息堵塞的问题。 Struct sync-shm { Int semid ;/*同步共享信号量的id*/ Int shmid;/*共享内存的id*/ Char shmaddr;/*共享内存连接到进程的地址*/ } 信号量 信号量:控制多进程存取共享资源的计数器,一般情况下,初始值为1。 信号机制:也称软中断,是在软件层次上对中断机制的模拟。 当被访问时(即做P操作)减1,资源被占用; 当离开(即做V操作)时加1,资源被释放; 读写进程的同步 任务是26个英文字母。一个write进程,四个read进程,设signal初始值是2,每次允许最多两个read进程运行。创建两块共享内存,shm1和shm2,一个用于存放写进程写入的数据,另一个用于存放读进程从shm1中得到的数据。 监控的同步 并行计算任务 一个进程把一项计算任务分配给两个或多个子进程并行执行,并把执行结果写入共享内存,该进程通过访问共享缓存把分配的任务执行结果收回。计算任务是: 并行计算 父进程创建五个进程A、B、C、D、W,其中,进程A做4n-3的运算,进程B做4n-2的运算,进程C做4n-1的运算,进程D做4n的运算,最后将各进程的累加和通过进程W做和运算即得结果。 并行计算模块任务的分配 并行计算的监控图 进程的复活 各并行计算进程在并行运算过程中,求和进程W处于P状态,直到所有的计算进程都变为F状态; 如果有进程被杀死,状态为X ,则即使其他进程都置F,W仍无法工作; 监控进程通过系统调用创建一个新的进程,重新开始完成被杀死进程分配的任务; 这便是进程的“复活”。 监控进程越位 如果监控进程做一件事情,使得功能进程无法完成任务,我们称之为越位。 发生情况:在同步读写过程中,如果写进程被暂停,则读进程读完了写出的字符后将处于等待状态;在并行计算中,如果某个计算进程被暂停,则求和进程无法计算结果,也将一直处于等待状态。 这种状态下,通过把等待进程的信息存入共享缓存,暂时释放占用的资源。 进程的销毁和资源释放 进程的销毁: 每次进程与共享内存脱离例行检查,若没有其他进程使用共享内存,则将共享内存销毁。 创建信号量和消息队列的资源也使用完毕后,销毁,清理内存。 IPCS查看shm,msg,sem的状况等; PS U查看活动进程和CPU的使用率等; 软件工程思想 流程化 规范化 计划性 阶段性 可测试性 可扩展性 需求才是根本 开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。同时这也是一旦做错,将会最终给系统带来极大损害的部分,而且以后再对它进行修改也极为困难。 优秀需求的特征:完整性,正确性,可行性,必要性,等级性,无二义性,可验证性 概要设计很重要 需求分析阶段得出的数据流图是概要设计的根本出发点。其中,结构设计是概要设计阶段的任务,而过程设计则是详细设计阶段的任务。 结构设计:确定系统由哪些模块组成,以及这些模块之间的相互关系。 过程设计:确定每个模块的处理过程 概要设计采用结构化设计方法把一个复杂问题的解法分解和细化成一个

文档评论(0)

jiqingyong1 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档