状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。
先来解释什么是“状态”(State)。现实事物是有不同状态的,例如一个LED等,就有亮和灭两种状态。我们通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限个,例如LED灯的状态就是两个亮和灭。
状态机,也就是StateMachine,不是指一台实际机器,而是指一个数学模型。说白了,一般就是指一张状态转换图。
状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定 *** 作的控制中心。有限状态机简写为FSM(Finite State Machine),主要分为2大类:
第一类,若输出只和状态有关而与输入无关,则称为Moore状态机;
第二类,输出不仅和状态有关而且和输入有关系,则称为Mealy状态机。
有限状态机是一种概念性机器,它能采取某种 *** 作来响应一个外部事件。具体采取的 *** 作不仅能取决于接收到的事件,还能取决于各个事件的相对发生顺序。之所以能 做到这一点,是因为机器能跟踪一个内部状态,它会在收到事件后进行更新。为一个事件而响应的行动不仅取决于事件本身,还取决于机器的内部状态。另外,采取 的行动还会决定并更新机器的状态。这样一来,任何逻辑都可建模成一系列事件/状态组合。
扩展资料:
状态机的四大概念:
State,状态。一个状态机至少要包含两个状态。例如上面灯泡的例子,有灯泡亮和灯泡灭两个状态。
Event,事件。事件就是执行某个 *** 作的触发条件或者口令。对于灯泡,“打开开关”就是一个事件。
AcTIon,动作。事件发生以后要执行动作。例如事件是“打开开关”,动作是“开灯”。编程的时候,一个AcTIon一般就对应一个函数。
TransiTIon,变换。也就是从一个状态变化为另一个状态。例如“开灯过程”就是一个变换。
状态机的应用:
状态机是一个对真实世界的抽象,而且是逻辑严谨的数学抽象,所以明显非常适合用在数字领域。可以应用到各个层面上,例如硬件设计,编译器设计,以及编程实现各种具体业务逻辑的时候。
进程5状态模型:
进程管理是Linux五大子系统之一,非常重要,实际实现起来非常复杂,我们来看下进程是如何切换状态的。
参考资料:百度百科-状态机
struct auth_cred 记录着uid,gid,是最基本的cred信息。通过 current_cred() 得到当前进程的 struct auth_cred
用来描述RPC传输时候使用哪种方式鉴权, Linux内核提供了4个unix_auth,null_auth,generic_auth,gss_auth,其中unix_auth是默认使用的。
鉴权方式,mount时候参数sec=xx,默认是sys,对应RPC_AUTH_UNIX。还可以为krb5,krb5i,krb5p等。
Linux Kernel每次通过RPC发送NFS数据的时候,都会走一个状态机。当走到call_refresh状态时候,
每次发RPC命令时候,都会准备类似的message,其中包括了设置cred
不同的NFS请求,cred来自不同的地方。
exchange_id命令是来自
open命令
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)