还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
进程管理嵌入式开发Linux欢迎参加进程管理嵌入式Linux开发课程本课程将深入探讨Linux系统中的进程管理机制,为嵌入式开发者提供全面的理论和实践指导概述课程内容学习目标应用场景进程概念、生命周期、通信机制、掌握Linux进程管理原理,提高嵌嵌入式设备、物联网系统、实时操调度算法等核心主题入式系统开发能力作系统等领域什么是进程管理定义目的进程是程序的执行实例,进程管理是操作系统对进程进行控制有效分配系统资源,确保多个进程能够并发执行,提高系统性和协调的机制能和稳定性进程的生命周期创建1进程被创建,分配资源就绪2等待CPU执行运行3占用CPU执行指令阻塞4等待某事件发生终止5执行完毕,释放资源进程的状态运行态就绪态进程正在CPU上执行进程已准备就绪,等待CPU调度阻塞态终止态进程等待某个事件发生,如I/O操作完成进程执行完毕或被强制终止进程ID唯一标识符数值范围重用机制每个进程都有一个唯一的进程ID(PID)通常是非负整数,范围由系统决定进程结束后,其PID可能被新进程重新使用创建进程系统初始化操作系统启动时创建初始进程用户请求用户通过Shell或图形界面启动程序进程派生现有进程通过系统调用创建新进程批处理作业系统根据预定计划创建进程函数fork功能特点创建一个与调用进程几乎完全相同的子进程•子进程获得父进程数据空间、堆和栈的副本•返回值区分父子进程系列函数exec加载新程序保留PID12用新的程序替换当前进程的内容进程ID保持不变,但内容完全更新多个变体常与配合fork34包括execl,execlp,execle,execv,execvp等先fork创建子进程,再exec加载新程序父子进程关系进程init1用户进程2子进程3孙进程4父进程可以等待子进程结束,获取其退出状态子进程终止后,父进程负责回收其资源进程间通信管道消息队列用于相关进程间的通信存储和传递消息的队列共享内存信号量多个进程共享的内存区域用于进程同步的计数器管道通信匿名管道命名管道用于父子进程间通信,无名字,生命周期随进程有名字,可用于无关进程间通信,存在于文件系统中消息队列独立于发送和接收进程消息类型消息队列是内核中的消息链每条消息都有特定的类型,表方便接收进程选择性地接收消息持久性系统调用消息队列可以在进程退出后使用msgget、msgsnd、继续存在msgrcv等函数操作共享内存最快的方式IPC1直接访问内存,无需数据拷贝需要同步机制2多进程访问需要额外的同步控制持久性3可以在多个进程间持续共享系统调用4使用shmget、shmat、shmdt等函数信号量定义操作一种特殊的变量,用于进程间的同步和互斥操作•P操作(等待)减少信号量值•V操作(释放)增加信号量值信号软中断有限的消息用于通知进程发生了异步事件只能发送预定义的信号类型不携带大量信息异步处理通常只用于简单的进程间通信信号处理可以打断正常的程序执行流程信号的处理忽略信号除SIGKILL和SIGSTOP外的大多数信号可以被忽略捕获信号注册信号处理函数,自定义信号响应行为默认处理如果未指定处理方式,系统采用默认动作守护进程后台运行提供服务独立于控制终端,在后台持续运行通常用于执行特定的系统任务或提供服务长期存在系统启动时开始运行,直到系统关闭进程调度定义目标决定哪个就绪进程获得CPU执行权的机制•最大化CPU利用率•确保公平性•最小化响应时间调度算法简介先来先服务()最短作业优先()FCFS SJF12按进程到达的顺序执行选择执行时间最短的进程优先级调度轮转调度()RR34根据进程优先级决定执行顺每个进程分配固定的时间片序实时调度硬实时软实时必须在规定时间内完成任务,否则系统失败偶尔错过截止时间可以接受,但会降低系统性能优先级实时优先级1高优先级2普通优先级3低优先级4空闲优先级5Linux使用nice值(-20到19)来表示进程优先级,数值越小优先级越高进程的资源管理时间内存CPU调度算法分配处理器时间分配和管理进程所需的内存空间存储网络管理文件系统和I/O操作控制网络资源的使用和访问时间分配CPU时间片分配每个进程获得一定的CPU执行时间优先级调整根据进程行为动态调整优先级负载均衡在多核系统中平衡进程负载实时要求满足实时进程的时间限制内存管理虚拟内存分页为每个进程提供独立的地址空将物理内存分割成固定大小的间页面交换内存保护在内存和磁盘之间移动数据防止进程访问其他进程的内存空间文件管理文件描述符访问控制每个打开的文件都有唯一的根据权限控制文件的读写执文件描述符行缓冲区管理文件锁定使用缓冲区提高文件I/O效率支持对文件或文件的部分进行锁定设备管理设备驱动调度I/O管理硬件设备的软件接口优化设备访问顺序,提高效率中断处理响应硬件事件,协调设备操作进程间同步与互斥同步互斥协调多个进程的执行顺序,确保正确的操作顺序保证同一时间只有一个进程可以访问共享资源锁机制互斥锁读写锁12最基本的锁,保证互斥访问允许多个读操作同时进行,写操作互斥自旋锁条件变量34适用于短期锁定,忙等待而用于线程间的通知机制不释放CPU死锁互斥条件资源不能被多个进程同时使用持有并等待进程持有资源又请求新资源不可抢占资源只能由持有进程主动释放循环等待进程之间形成等待环案例分析与实践多线程服务器嵌入式实时系统分析高并发服务器中的进程管理策略探讨实时操作系统中的调度算法实现资源受限设备进程通信实例讨论如何在资源有限的环境中优化进程管理实现基于管道和共享内存的进程间通信。
个人认证
优秀文档
获得点赞 0