CN1825287A - 嵌入式sram操作系统进程实现和进程状态转换的方法 - Google Patents
嵌入式sram操作系统进程实现和进程状态转换的方法 Download PDFInfo
- Publication number
- CN1825287A CN1825287A CN 200610050118 CN200610050118A CN1825287A CN 1825287 A CN1825287 A CN 1825287A CN 200610050118 CN200610050118 CN 200610050118 CN 200610050118 A CN200610050118 A CN 200610050118A CN 1825287 A CN1825287 A CN 1825287A
- Authority
- CN
- China
- Prior art keywords
- attitude
- sram
- ready
- operating system
- swaps out
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 211
- 230000008569 process Effects 0.000 title claims abstract description 200
- 230000007704 transition Effects 0.000 title description 2
- 230000000903 blocking effect Effects 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000026676 system process Effects 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 2
- 230000003068 static effect Effects 0.000 abstract 1
- 238000004886 process control Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种嵌入式SRAM操作系统进程实现和进程状态转换的方法。在嵌入式SRAM操作系统中,分成静态随机存储器SRAM,Static RandomAccess Memory,和同步动态随机存储器SDRAM,Synchronous dynamic RandomAccess Memory两个存储层次,进程可以从SRAM中被换出到SDRAM中,定义原子化的七个不同的进程状态:创建态、运行态、就绪态、阻塞态、就绪换出、阻塞换出、退出态,根据设定的进程状态切换条件,嵌入式SRAM操作系统中的进程进行明确的状态切换,以适应运行时的环境。本发明的方法结合了嵌入式SRAM操作系统特点,为该系统提供了灵活的任务调度的基础。
Description
技术领域
本发明涉及嵌入式操作系统技术领域,尤其是涉及一种嵌入式SRAM操作系统进程实现和进程状态转换的方法。
背景技术
对每一个现代操作系统而言,其基本任务之一就是进程管理。操作系统需要为进程分配资源;实现进程间共享和交换信息;保护进程资源;以及实现进程间同步,为此,操作系统需要为每一个进程维护一个特定的数据结构用于描述该进程的状态和资源占用情况,从而实现对进程的管理和控制。
进程状态的认定直接影响到进程描述与控制的复杂度。而人们对进程状态的认定也是一个随着对计算机系统本身的认识并结合进程管理与控制的需要来逐渐细化的。
操作系统为了管理和控制进程,它必须知道进程的位置和进程属性,后者包括进程的标识、状态信息和控制信息。
进程位置。谈到进程的位置就必须了解进程的物理形式。一说到某个进程我们就自然而然地将它和一段程序以及和这段程序相关的数据联系起来;同时,操作系统执行该进程时需要维持一个或多个堆栈用于跟踪过程调用以及过程间参数调用;最后,操作系统为了控制和管理该进程需要维护一系列与该进程相关的信息。操作系统所维护的这些信息通常被称为进程控制块(Process ControlBlock)。与进程相关的程序、数据、堆栈和进程控制块信息统称为进程映像。
进程映像如何在计算机系统中存储,和操作系统的内存管理机制有关。现代操作系统的内存管理基于分段或分页或者两者的综合。一般而言,进程映像总是有一部分驻留在物理内存中,而其它部分则存放在外围设备中。仅就进程的定位而言,操作系统会在物理内存中维护一个主进程表,其中的各个条目包含一个指向一个进程映像的指针,从而标明进程位置。
进程标识。在几乎所有的操作系统中进程标识都是一个唯一的数值型标识。这个标识可以作为在操作系统运行环境中进程的“身份证”,根据它,不仅可以找到对应的进程映像,而且还可以在内存管理、I/O管理、文件系统管理等方面派上用场。这就好比,我们的身份证作为唯一标识可以作为我们身份的认定,而且在外出旅行、银行信贷、房产按揭等方面派上用场。
另外每个进程内部仍然需要维护一些其它的标识,比如说创建它的父进程的标识、使用它的用户标识等等,这些信息有助于进程的管理和控制中。
进程状态信息。进程运行时的寄存器信息就构成了进程状态信息。当某个运行中的进程被暂时停止时,相应的进程状态信息需要作某些必要的处理,以便进程恢复运行时能够恢复到暂停之前的状态从而能够继续正常运行。
进程控制信息。进程控制信息也就是前面所提到的进程控制块中所包含的信息,它是操作系统用于控制和协调各个运行进程所需要的额外信息。
做为嵌入式SRAM操作系统,其进程是实现于SRAM中,而不是通常的处于内存当中,同时,它主要用于嵌入式系统,对进程实时的要求也不相同,因此,嵌入式SRAM操作系统需要其特定的进程状态和转换方法。
发明内容
本发明的目的在于提供一种嵌入式SRAM操作系统进程实现和进程状态转换的方法。
本发明解决技术问题所采用的技术方案是:
1)根据在嵌入式SRAM操作系统运行时,进程的状态和所处的位置,由于进程大部分时间处于SRAM中运行,其定义不同的进程状态为:
●创建态:对应于进程刚刚被创建和进入到SRAM中的状态;
●运行态:进程占有处理器正在运行;
●就绪态:进程位于SRAM中,具备运行条件,等待系统分配处理器以便运行;
●阻塞态:进程位于SRAM中,不具备运行条件,正在等待某个事件的完成;
●就绪换出态和阻塞换出态:由于SRAM空间不足,进程将被交换出SRAM,进入到SDRAM中去,暂时不参与进程调度;
●退出态:进程结束,退出SRAM,以后不再执行。
2)进程状态转换的具体方式如下:
在嵌入式SRAM操作系统中,系统内核位于SRAM中,系统对进程的管理是基于SRAM的,以下所有的进程状态,除换入和换出外,均位于SRAM中,而不是位于SDRAM中。
空NULL—→创建态:执行一个程序,创建一个子进程;
创建态—→就绪态:嵌入式SRAM操作系统完成了进程创建的必要操作,并且当前系统的性能和SRAM的容量均允许,提交到就绪态队列;
创建态—→就绪换出态:考虑到系统当前资源状况和性能要求,可以决定新建的进程将被置换到SDRAM上,成为就绪换出态;
就绪换出态—→就绪态:当SRAM中没有就绪态进程,或者就绪换出态进程具有比就绪态进程更高的优先级,系统将把就绪换出态进程转换成就绪态;
就绪态—→就绪换出态:嵌入式SRAM操作系统根据当前资源状况和性能要求,也可以决定把就绪态进程将被对换出去成为就绪换出态;
就绪态—→运行态:嵌入式SRAM操作系统在就绪态进程队列里面选中一个进程,在处理器中运行;
运行态—→退出态:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结;
运行态—→就绪换出态:当一个具有较高优先级的阻塞换出态进程的等待事件结束后,它需要抢占了中心处理器,,而此时SRAM空间有不够,从而可能导致正在运行的进程转化为就绪换出态。另外处于运行态的进程也可以自己挂起自己;
退出态—→空NULL:完成善后操作,退出执行;
就绪态—→退出态:嵌入式SRAM操作系统允许父进程终结子进程;
阻塞态—→退出态:嵌入式SRAM操作系统允许父进程终结子进程;
阻塞态—→阻塞换出态:如果当前不存在就绪进程,那么至少有一个阻塞态进程将被对换出去成为阻塞换出态;操作系统根据当前资源状况和性能要求,也可以决定把阻塞态进程将被对换出去成为阻塞换出态;
阻塞换出态—→就绪换出态:引起进程等待的事件发生之后,相应的阻塞换出态进程将转换为就绪换出态;
阻塞换出态—→阻塞态:当一个进程等待一个事件时,原则上时不需要把它调入SRAM的,但是当一个进程退出后,SRAM已经有了一大块自由空间,而某个阻塞换出态进程具有较高的优先级并且操作系统已经得知导致它阻塞的事件即将结束,此时便发生了这一状态变化。
本发明与背景技术相比,具有的有益的效果是:
(1)实时性。本发明充分利用了在嵌入式SRAM操作系统中,对于快速存储器SRAM的运用,结合了其特点,在SRAM中进行进程的状态转换,有效提高了系统实时性。
(2)高效性。本发明的进程状态定义提供了对于在SRAM和SDRAM之间进行换入换出的支持,有力的支持了嵌入式SRAM操作系统对于高效率的要求。
附图说明
附图是本发明的进程状态转换图。
具体实施方式
下面结合附图对本发明作进一步的说明。
一种嵌入式SRAM操作系统进程实现和进程状态转换的方法,其具体实施方法如下:
1)根据在嵌入式SRAM操作系统运行时,进程的状态和所处的位置,由于进程大部分时间处于SRAM中运行,其定义不同的进程状态为:
●创建态:对应于进程刚刚被创建和进入到SRAM中的状态;
●运行态:进程占有处理器正在运行;
●就绪态:进程位于SRAM中,具备运行条件,等待系统分配处理器以便运行;
●阻塞态:进程位于SRAM中,不具备运行条件,正在等待某个事件的完成;
●就绪换出态和阻塞换出态:由于SRAM空间不足,进程将被交换出SRAM,进入到SDRAM中去,暂时不参与进程调度;
●退出态:进程结束,退出SRAM,以后不再执行。
进程控制不仅包括对进程创建过程的控制而且还包括对进程状态切换的控制。另外,出于对操作系统某些关键数据如进程控制模块等的保护,进程的执行模式分为两种,即拥有更高权限的内核执行模式和拥有较低权限的用户执行模式。从而进程控制就增加了对进程执行模式切换的控制。
进程控制信息如下表所示:
类别 | 详细内容 |
进程状态和调度信息 | 用于操作系统调度,其中包括:进程状态、运行时优先级、调度相关信息和进程需要等待的事件等。 |
维护某种数据结构所需的相关信息 | 一个进程和其它进程可能会同处于一个队列、环或者其它数据结构中。而进程间也可能存在父子关系。通常需要进程控制块维护指向相关进程的指针以实现这些数据结构 |
进程间通讯 | 这包括两个独立进程间通讯所需的各种标志、信号和消息 |
进程权限 | 每个进程会有一定的权限,这其中包括可访问的存储区域和可执行的指令集,另外还包括可调用的系统工具和服务等。 |
SRAM管理 | 一系列指向所分配的SRAM块信息的指针 |
资源拥有和使用情况 | 进程所控制的资源需要指明,比如说打开的文件等。而使用处理器和其它资源的历史纪录一般也需要指明,这部分信息可供操作系统做进程调用时参考。 |
2)进程状态转换的具体方式,结合图1,实施如下:
在嵌入式SRAM操作系统中,系统内核位于SRAM中,系统对进程的管理是基于SRAM的,以下所有的进程状态,除换入和换出外,均位于SRAM中,而不是位于SDRAM中。
进程创建的原因可能是多方面的,比如说,有新的批处理任务移交给操作系统完成;有一个新的用户登陆系统;需要提供一项新的服务;现有进程派生出来的子进程等等。但是一旦操作系统决定需要创建一个新进程,它需要完成一系列操作:赋予新进程一个唯一的标识;给其进程映像分配足够的存储空间;初始化其进程控制块;设置某些外部关系连接,比如说,出于调度的需要,该进程需要放入一个(准备)就绪的进程链表中,因此在它被创建时需要反映这些外部关系。
空NULL—→创建态:执行一个程序,创建一个子进程;
创建态—→就绪态:嵌入式SRAM操作系统完成了进程创建的必要操作,并且当前系统的性能和SRAM的容量均允许,提交到就绪态队列;
创建态—→就绪换出态:考虑到系统当前资源状况和性能要求,可以决定新建的进程将被置换到SDRAM上,成为就绪换出态;
就绪换出态—→就绪态:当SRAM中没有就绪态进程,或者就绪换出态进程具有比就绪态进程更高的优先级,系统将把就绪换出态进程转换成就绪态;
就绪态—→就绪换出态:嵌入式SRAM操作系统根据当前资源状况和性能要求,也可以决定把就绪态进程将被对换出去成为就绪换出态;
就绪态—→运行态:嵌入式SRAM操作系统在就绪态进程队列里面选中一个进程,在处理器中运行;
运行态—→退出态:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结;
运行态—→就绪换出态:当一个具有较高优先级的阻塞换出态进程的阻塞事件结束后,它需要抢占了中心处理器,,而此时SRAM空间有不够,从而可能导致正在运行的进程转化为就绪换出态。另外处于运行态的进程也可以自己挂起自己:
退出态—→空NULL:完成善后操作,退出执行;
就绪态—→退出态:嵌入式SRAM操作系统允许父进程终结子进程;
阻塞态—→退出态:嵌入式SRAM操作系统允许父进程终结子进程;
阻塞态—→阻塞换出态:如果当前不存在就绪进程,那么至少有一个阻塞态进程将被对换出去成为阻塞换出态;操作系统根据当前资源状况和性能要求,也可以决定把阻塞态进程将被对换出去成为阻塞换出态;
阻塞换出态—→就绪换出态:引起进程阻塞的事件发生之后,相应的阻塞换出态进程将转换为就绪换出态;
阻塞换出态—→阻塞态:当一个进程等待一个事件时,原则上时不需要把它调入SRAM的,但是当一个进程退出后,SRAM已经有了一大块自由空间,而某个阻塞换出态进程具有较高的优先级并且操作系统已经得知导致它阻塞的事件即将结束,此时便发生了这一状态变化。
进程状态的切换需要操作系统对要切换状态的进程顺序完成以下动作:
I、保存处理器上下文,这其中包括它的程序计数器和其它寄存器的内容;
II、刷新其进程控制块的相关内容,这其中包括进程状态信息,也有其它一些相关信息比如状态切换的原因等等;
III、将该进程的进程控制块转移到相应的新的队列中;
IV、如果有必要,比如,当该进程处于运行态时,操作系统需要根据某个算法,选择下一个进程来取代该进程。
Claims (1)
1、一种嵌入式SRAM操作系统进程实现和进程状态转换的方法,其特征在于:
1)根据在嵌入式SRAM操作系统运行时,进程的状态和所处的位置,由于进程大部分时间处于SRAM中运行,其定义不同的进程状态为:
●创建态:对应于进程刚刚被创建和进入到SRAM中的状态;
●运行态:进程占有处理器正在运行;
●就绪态:进程位于SRAM中,具备运行条件,等待系统分配处理器以便运行;
●阻塞态:进程位于SRAM中,不具备运行条件,正在等待某个事件的完成;
●就绪换出态和阻塞换出态:由于SRAM空间不足,进程将被交换出SRAM,进入到SDRAM中去,暂时不参与进程调度;
●退出态:进程结束,退出SRAM,以后不再执行。
2)进程状态转换的具体方式如下:
在嵌入式SRAM操作系统中,系统内核位于SRAM中,系统对进程的管理是基于SRAM的,以下所有的进程状态,除换入和换出外,均位于SRAM中,而不是位于SDRAM中。
空NULL—→创建态:执行一个程序,创建一个子进程;
创建态—→就绪态:嵌入式SRAM操作系统完成了进程创建的必要操作,并且当前系统的性能和SRAM的容量均允许,提交到就绪态队列;
创建态—→就绪换出态:考虑到系统当前资源状况和性能要求,可以决定新建的进程将被置换到SDRAM上,成为就绪换出态;
就绪换出态—→就绪态:当SRAM中没有就绪态进程,或者就绪换出态进程具有比就绪态进程更高的优先级,系统将把就绪换出态进程转换成就绪态;
就绪态—→就绪换出态:嵌入式SRAM操作系统根据当前资源状况和性能要求,也可以决定把就绪态进程将被对换出去成为就绪换出态;
就绪态—→运行态:嵌入式SRAM操作系统在就绪态进程队列里面选中一个进程,在处理器中运行;
运行态—→退出态:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结;
运行态—→就绪换出态:当一个具有较高优先级的阻塞换出态进程的等待事件结束后,它需要抢占了中心处理器,,而此时SRAM空间有不够,从而可能导致正在运行的进程转化为就绪换出态。另外处于运行态的进程也可以自己挂起自己;
退出态—→空NULL:完成善后操作,退出执行;
就绪态—→退出态:嵌入式SRAM操作系统允许父进程终结子进程;
阻塞态—→退出态:嵌入式SRAM操作系统允许父进程终结子进程;
阻塞态—→阻塞换出态:如果当前不存在就绪进程,那么至少有一个阻塞态进程将被对换出去成为阻塞换出态;操作系统根据当前资源状况和性能要求,也可以决定把阻塞态进程将被对换出去成为阻塞换出态;
阻塞换出态—→就绪换出态:引起进程等待的事件发生之后,相应的阻塞换出态进程将转换为就绪换出态;
阻塞换出态—→阻塞态:当一个进程等待一个事件时,原则上时不需要把它调入SRAM的,但是当一个进程退出后,SRAM已经有了一大块自由空间,而某个阻塞换出态进程具有较高的优先级并且操作系统已经得知导致它阻塞的事件即将结束,此时便发生了这一状态变化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610050118 CN1825287A (zh) | 2006-03-31 | 2006-03-31 | 嵌入式sram操作系统进程实现和进程状态转换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610050118 CN1825287A (zh) | 2006-03-31 | 2006-03-31 | 嵌入式sram操作系统进程实现和进程状态转换的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1825287A true CN1825287A (zh) | 2006-08-30 |
Family
ID=36935973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610050118 Pending CN1825287A (zh) | 2006-03-31 | 2006-03-31 | 嵌入式sram操作系统进程实现和进程状态转换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1825287A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246548A (zh) * | 2012-02-02 | 2013-08-14 | 迈普通信技术股份有限公司 | 一种容错保序的事件调度方法及装置 |
CN107544840A (zh) * | 2016-06-28 | 2018-01-05 | 北京优朋普乐科技有限公司 | 一种进程管理方法及装置 |
-
2006
- 2006-03-31 CN CN 200610050118 patent/CN1825287A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246548A (zh) * | 2012-02-02 | 2013-08-14 | 迈普通信技术股份有限公司 | 一种容错保序的事件调度方法及装置 |
CN103246548B (zh) * | 2012-02-02 | 2016-08-03 | 迈普通信技术股份有限公司 | 一种容错保序的事件调度方法及装置 |
CN107544840A (zh) * | 2016-06-28 | 2018-01-05 | 北京优朋普乐科技有限公司 | 一种进程管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1297886C (zh) | 基于地址封锁处理约束的方法和系统 | |
CN100336075C (zh) | 利用具有时间分配器的图形渲染引擎的装置、方法和系统 | |
CN1316074A (zh) | 中断/软件控制的线程处理 | |
CN100342342C (zh) | 支持多进程的Java虚拟机实现方法 | |
CN1991768A (zh) | 与不同种类的资源通信的基于指令系统结构的内定序器 | |
CN101051280A (zh) | 智能卡嵌入式操作系统及其控制方法 | |
CN1382276A (zh) | 处理装置的优先总线请求调度机制 | |
CN103823636B (zh) | Io调度方法及装置 | |
CN1534478A (zh) | 重定位在多线程计算机中共享的计算机数据的设备和方法 | |
US8601177B2 (en) | Dynamic allocation of a buffer across multiple clients in a threaded processor | |
CN1601489A (zh) | 利用共享专用高速缓存减少高速缓存失误率的方法和系统 | |
CN101178701B (zh) | 一种多处理器间通信的方法及系统 | |
CN102298539A (zh) | 一种用于分布式并行处理的共享资源调度方法及系统 | |
CN1707461A (zh) | 数据通信装置 | |
CN101799773A (zh) | 并行计算的内存访问方法 | |
US7930483B2 (en) | Associativity implementation in a system with directly attached processor memory | |
CN1167018C (zh) | 适应性强的通用输入/输出系统 | |
CN1311348C (zh) | 数据处理系统 | |
CN100346307C (zh) | Java操作系统中实时任务调度的实现方法 | |
CN1825286A (zh) | 嵌入式sram操作系统线程实现和线程状态转换的方法 | |
CN1702623A (zh) | 一种微内核嵌入式实时操作系统的任务级资源管理方法 | |
CN1752896A (zh) | 操作系统协作下的嵌入式设备电源管理方法及系统 | |
CN1632771A (zh) | 直接存储访问控制装置和图像处理系统以及传输方法 | |
CN1423456A (zh) | 共享线程实现和调度方法 | |
CN1928811A (zh) | 处理操作管理系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |