[发明专利]嵌入式SRAM操作系统线程实现和线程状态转换的方法无效
申请号: | 200610050117.6 | 申请日: | 2006-03-31 |
公开(公告)号: | CN1825286A | 公开(公告)日: | 2006-08-30 |
发明(设计)人: | 陈天洲;胡威;沙峰;连毅 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种嵌入式SRAM操作系统线程实现和线程状态转换的方法。在嵌入式SRAM操作系统,鉴于操作系统位于SRAM中,资源有限,使用线程作为操作系统调度的基础,进程由线程构成,是进程中的一条执行路径,每个进程内允许包含多个并行执行的路径,这就是多线程。线程是系统进行处理器调度的基本单位,同一个进程中的所有线程共享进程获得的主存空间和资源,线程具有7个不同的状态并且可以在状态间进行高效切换,可以充分利用SRAM的特点,对于利用嵌入式SRAM操作系统进行系统资源处理具有特殊意义。 | ||
搜索关键词: | 嵌入式 sram 操作系统 线程 实现 状态 转换 方法 | ||
【主权项】:
1、一种嵌入式SRAM操作系统线程实现和线程状态转换的方法,其特征在于:1)线程状态定义进程由线程构成,是进程中的一条执行路径,每个进程内允许包含多个并行执行的路径,这就是多线程。线程是系统进行处理器调度的基本单位,同一个进程中的所有线程共享进程获得的主存空间和资源,一个线程具有:●创建态:对应于线程刚刚被创建和进入到SRAM中的状态;●运行态:线程占有处理器正在运行;●就绪态:线程位于SRAM中,具备运行条件,等待系统分配处理器以便运行;●阻塞态:线程位于SRAM中,不具备运行条件,正在等待某个事件的完成;●就绪换出态和阻塞换出态:由于SRAM空间不足,线程将被交换出SRAM,进入到SDRAM中去,暂时不参与线程调度;●退出态:线程结束,退出SRAM,以后不再执行。在多线程环境中,仍然有与进程相关的是进程控制块PCB,Process ControlBlock和用户地址空间,而每个线程则存在独立堆栈,以及包含寄存器信息、优先级、其它有关状态信息的线程控制块。线程之间的关系较为密切,一个进程中的所有线程共享其拥有的状态和资源,它们驻留在相同的地址空间,可以存取相同的数据;2)创建态当一个新进程被生成后,该进程的一个线程也就被创建。此后,该进程中的一个线程可以创建同一进程中的其它线程,并为新线程提供指令计数器和变量,一个新线程还将被分配寄存器上下文和堆栈空间,并将其加入就绪队列;3)就绪态线程位于SRAM中,具备运行条件,等待系统分配处理器以便运行,处于就绪状态的线程事实上已被调度,已经被放到某一队列等待执行,处于就绪状态的线程何时可真正执行,取决于线程优先级以及队列的当前状况,线程的优先级如果相同,将遵循“先来先服务”的调度原则;线程依据自身优先级进入等待对列的相应位置,某些系统线程具有最高优先级、这些最高优先级线程一旦进入就绪状态,将抢占当前正在执行的线程的处理器资源,当前线程只能重新在等待队列寻找自己的位置。某些具有最高优先级的线程执行完自己的任务之后,将调用sleep()、wait()、suspend()方法,睡眠一段时间,等待被某一事件唤醒。一旦被唤醒,这些线程就又开始抢占处理器资源。这些最高优先级线程通常被用来执行一些关键性任务,如屏幕显示;低优先级线程需等待更长的时间才能有机会运行,由于系统本身无法中止高优先级线程的执行,因此用到了优先级校高的线程对象,那么最好不时让这些线程放弃对处理器资源的控制权,以使其他线程能够有机会运行。4)运行态线程已经拥有了对处理器的控制权,其代码目前正在运行.这个线程将一直运行直到运行完毕,除非运行过程的控制权被一优先级更高的线程强占,线程在如下3种情形之下将释放对处理嚣的控制权:●主动或被动地释放对处理器资源的控制权,该线程必须再次进入等待队列,等待其他优先级高或相等线程执行完毕●睡眠一段确定的时间,不进入等待队列,这段确定的时间到期后,重新开始运行●等持某一事件唤醒自己;5)阻塞态暂时这个线程将无法进入就绪队列,处于堵塞状态的线程通常必须由某些事件才能唤醒.至于是何种事件,则取决于堵塞发生的原因,处于睡眠中的线程必须被堵塞一段固定的时间;被挂起、或处于消息等待状态的线程则必须由一外来事件唤醒;6)就绪换出态已经就绪的线程,由于SRAM空间不足,线程将被交换出SRAM,进入到SDRAM中去,暂时不参与线程调度,直到SRAM空间足够;7)阻塞换出态已经被阻塞的线程,由于SRAM空间不足,将被交换出SRAM,进入到SDRAM中去,暂时不参与线程调度,直到阻塞事件已经完成,并且SRAM空间足够;8)退出态表示线程已退出运行状态,并且不再进入就绪队列,其中原因可能是线程已执行完毕且正常结束,也可能是该线程被另一线程或父进程/线程所强行中断。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200610050117.6/,转载请声明来源钻瓜专利网。
- 上一篇:平面显示器及其显示面板
- 下一篇:一种马来酸依索拉啶胃滞留片