- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 62 程序描述 程序 prod_cons main( ) { int sa=0; ∕*满缓冲区的数目*∕ int sb=n; ∕*空缓冲区的数目*∕ int mutex=1; ∕*对有界缓冲区进行操作的互斥信号灯*∕ cobegin p1 ( ); p2 ( );… pm ( ); c1 ( ); c2 ( );… ck ( ); coend } 进程及进程管理——进程互斥与同步的实现 63 pi( ) cj( ) { { while(生产未完成) while(还要继续消费) { { ? p(sa); 生产一个产品; p(mutex); p(sb); 从有界缓冲区中取产品; p(mutex); v(empty); 送一个产品到有界缓冲 v(sb); v(mutex); 消费一个产品; v(sa); ? } } } } 进程及进程管理——进程互斥与同步的实现 64 1. Linux系统进程与线程 Linux系统中的进程 进程是程序在处理机上的一次执行过程。进程是处于执行 期的程序,它是分配系统资源和调度的实体。 进程包括可执行的程序代码、打开的文件、挂起的信号、 内核数据、地址空间、处理机状态、一个或多个可执行 的线程等。 Linux系统中的线程 Linux系统将线程看作是一种特殊的进程。线程被视为一 个与其他进程共享某些资源的进程。 进程及进程管理—— Linux系统的进程管理 65 2. Linux系统的进程描述符 Linux内核使用进程描述符(又称为进程控制块)来描述一 个进程的完整信息。 进程及进程管理—— Linux系统的进程管理 66 进程及进程管理—— Linux系统的进程管理 指向进程基本控制块的指针 进程状态 state 进程标识 进程调度有关的字段 进程亲属关系的字段 指向当前目录的指针 指向文件描述符的指针 指向主存描述符的指针 指向信号结构的指针 指向tty结构的指针 task_struct thread_info 当前目录 文件描述符 主存描述符 所接收的信号 与进程相关的tty 指向进程队列 prio pid tgid pgrp sessin thread_info run_li
文档评论(0)