状态机到底是什么?

状态机到底是什么?,第1张

状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。

先来解释什么是“状态”(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命令


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7163908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存