linux进程课件.pptVIP

  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中的进程 Linux启动过程 Linux进程控制块PCB简介 进程的创建 相关系统调用 信号量与P、V操作 等待队列 进程调度 管道 Linux内核体系结构 Linux进程控制块PCB简介 task 数组:进程控制块指针的集合(512个) task_struct结构 进程的创建 进程与线程 本质区别 进程地址空间独立 线程共享地址空间 进程调度 调度策略 SCHED_OTHER 普通进程 SCHED_FIFO 执行时间不长的实时进程(更高优先级可抢占CPU) SCHED_RR 轮转的实时进程(相同优先级进程之间用时间片调度) weight 权值 priority 静态优先级(时间片大小)缺省值为DEF_PRIORITY=20个时标(每个时标10ms) counter 动态优先级,当前的时间配额(初值为DEF_PRIORITY) rt_priority 相对优先级(0-99) #define DEF_PRIORITY (20*HZ / 100) // 其中:HZ=100 几个计算式子: 普通进程的权值:counter = counter / 2 + priority weight=counter+prinority 当前进程的权值:weight=counter+priority+1 实时进程的权值:weight = 1000+rt_priority Weight是linux系统在进程调度过程中选择进程的唯一标准 相关系统调用 以下简要列出了和进程及进程间通信相关的系统调用。 在标志列中,各字母的意义为: m:手册页可查; +:POSIX 兼容; -:Linux 特有; c:libc 包含该系统调用; !:该系统调用和其他系统调用类似, 应改用其他 POSIX 兼容系统调用。 系统调用:广义指令,操作系统提供给用户使用的程序界面。 系统调用表 续表一 续表二 续表三 Linux 信号量数据结构中包含的信息 等待队列 并发程序设计实例 fork()的使用 Linux启动过程 引导扇区 未分区 分过区 getty程序 CPU执行轨迹 0# idle Linux进程抽象 进程标识 进程状态 调度信息 进程链 时间片 进程通信信息 内存资源信息 文件资源信息 进程上下文 stopped ready running suspended zombie 创建 信号 调度 IO 结束 IO 请求 结束 暂停 8 TASK_STOPPED 僵死 深度睡眠 浅度睡眠 就绪 说明 4 2 1 0 值 TASK_ZOMBIE TASK_UNINTERRUPTIBLE TASK_INTERRUPTIBLE TASK_RUNNING 进程状态 Linux进程状态表 Linux进程状态转换 Linux进程家谱 PCB1 PCB2 程序 fork() 采用 Copy on write 写时再复制 0# 1# getty login shell shell getty 父进程fork() 返回pid 子进程fork() 返回0 tss 线程clone() 返回0 线程 堆栈 执行上下文TSS 进程 代码 数据 堆栈 文件 IO 虚存 进程 线程 Linux内核的任务控制流 系统调用 说明 标志 alarm 在指定时间之后发送SIGALRM 信号 m+c clone 创建子进程 m- execl, execlp, execle, ... 执行映象 m+!c exit 终止进程 m+c fork 创建子进程 m+c geteuid 获取有效用户标识符 m+c getpid 获取当前进程的进程标识符 m+c ipc 进程间通信 -c kill 向进程发送信号 m+c msgctl 消息队列控制 m!c msgget 获取消息队列标识符 m!c msgrcv 接收消息 m!c msgsnd 发送消息 m!c nice 修改进程优先级 mc pause 进程进入休眠,等待信号 m+c pipe 创建管道 m+c semctl 信号量控制 m!c semget 获取某信号量数组的标识符 m!c semop 在信号量数组成员上的操作 m!c setitimer 设置间隔定时器 mc shmat 附加共享内存 m!c shmctl 共享内存控制 m!c shmdt 移去共享内存 m!c shmget 获取/建立共享内存 m!c signal 设置信号处理器 mc system 执行 she

文档评论(0)

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

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

1亿VIP精品文档

相关文档