PPT04 操作系统(嵌入式)

PPT04 操作系统(嵌入式)

ID:38516758

大小:132.50 KB

页数:22页

时间:2019-06-14

PPT04 操作系统(嵌入式)_第1页
PPT04 操作系统(嵌入式)_第2页
PPT04 操作系统(嵌入式)_第3页
PPT04 操作系统(嵌入式)_第4页
PPT04 操作系统(嵌入式)_第5页
资源描述:

《PPT04 操作系统(嵌入式)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统(嵌入式)操作系统特点常见操作系统作用进程管理10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有特点实时性核心小效率高功能:比PC弱系统软件、面向底层、面向硬件应用软件之间的接口。10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有常见操作系统LinuxUnixWindowsAdroid塞班Nucleas/ECos/μC-OSDos10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有作用进程管理处理机调度内存管理文件管理I/O管理10/1/2021CopyRight(C)江苏银河电子股份有限公司

2、版权所有进程管理本节课主要对进程管理作介绍。Thread(线程)Semaphore(信号量)Mutex(互斥量)Message(消息队列)10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有Thead(task)任务一般为死循环始终执行,可以通过设置Prority(优先级)设定执行先后顺序,任务越多,时间片越多,速度越慢,应该在适当的时间放出时间片。在一个时刻只能执行一条指令,看似并行,实则串行,因为cpu运行指令速度太快。常用函数有:Create/Destroy(创建/删除线程)Join/Current(等待线程结束/获取当前线程句柄)Yield

3、(使当前线程放弃本次执行权)Sleep(挂起当前线程一段时间,用于多任务交替执行)10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有Thead(task)例子While(1){call();AcallB,让他帮A买东西if(ok);如果B买好了东西{break;}}这个例子好比A要求B给他买东西,如果没有买好则一直打电话,本线程将一直占用CPU不释放,排在队列后面的线程将无法执行指令。显然这样占着CPU资源是不合适的。10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有Thead(task)While(1){call();A

4、callB,让他帮A买东西if(ok);如果B买好了东西{break;}yield();}加一个yield命令,避免了连续打电话,因为执行yield时,当前线程放弃了本次的执行权,跳到了等待队列的尾部,这样其他线程就有机会进入CPU执行指令。但本线程在每次调度队列的一个循环中仍然会执行一次全部指令。10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有Thead(task)While(1){call();AcallB,让他帮A买东西if(ok);如果B买好了东西{break;}sleep();}把yield改成sleep,当执行到sleep时,挂起当

5、前线程一段时间,就是隔一会打个电话。挂起时,本线程将进入休眠队列,不处于等待队列中,不再占用CPU资源。10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有semaphore(信号量)用于进程间同步通信、通知。常用函数有:Create/Destroy(创建/删除信号量)Signal(通知信号量)Wait(等待信号量)用信号量可以实现互斥量和消息队列最好能配一张图说明工作方法10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有互斥量用于共享资源的保护使用。常用函数有:Create/Destroy(创建/删除互斥量)Lock(获取

6、互斥量,获取不到就无限等待)Unlock(释放互斥量)互斥信号:主要用于多个任务同一资源的使用,比如Task1和Task2均要使用同一个打印机的打印资源,我们知道,一个打印资源不可能同时为两个任务服务。所以在Task1使用打印资源时,必须保证Task2不能使用打印资源。这时使用互斥信号量能很好地解决这个问题。Mutex(互斥量)10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有Mutex(互斥量)举例:假设mutex初始值为0,表示打印资源可使用;为1时表示已被占用,需等待。Task1_Fun(){wait(mutex);//mutex=0时设置

7、mutex=1占用打印资源并执行下一步操作;signal(mutex);//设置mutex=1,释放打印资源}Task2_Fun(){wait(mutex);//mutex=0时设置mutex=1占用打印资源并执行下一步操作;signal(mutex);//设置mutex=1,释放打印资源}10/1/2021CopyRight(C)江苏银河电子股份有限公司版权所有Mutex(互斥量)说明:如果Task1占用了打印资源,则mutex=1;Task2即使要使用打印资源,但因为没有等到信号量(wait(mutex);)则不能使用打印资源直到Ta

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

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

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