Finite State Machine或者Finite State Automata
软件领域中一种重要的工具,很多东西的模型实际上就是有限状态机。
在数字电路系统中,有限状态机是一种十分重要的时序逻辑电路模块,它对数字系统的设计具有十分重要的作用。
有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路。一般来说,除了输入部分和输出部分外,有限状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有限状态机的内部状态,它们常被称为状态寄存器。在有限状态机中,状态寄存器的的下一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合。其中,寄存器逻辑的功能是存储有限状态机的内部状态;而组合逻辑有可以分为次态逻辑和输出逻辑两部分,次态逻辑的功能是确定有限状态机的下一个状态,输出逻辑的功能是确定有限状态机的输出。
在实际的应用中,根据有限状态机是否使用输入信号,设计人员经常将其分为Moore型有限状态机和Mealy型有限状态机两种类型。1 Moore型有限状态机其输出信号仅与当前状态有关,即可以把Moore型有限状态的输出看成是当前状态的函数。2 Mealy型有限状态机其输出信号不仅与当前状态有关,而且还与所有的输入信号有关,即可以把Mealy型有限状态机的输出看成是当前状态和所有输入信号的函数。
自由软件运动(Free Software Movement) 是一个推广用户有使用、复制、研究、修改和分发软件等权利的社会运动。接近和相关的运动包括开放源代码运动及自由软件的开放源代码运动。这运动跟1970年代的黑客文化有渊源,而理查德·斯托曼是该运动的主要发起人以及精神领袖。
自由软件运动人士认为自由软件的精神应当贯彻到所有软件:他们认为禁止计算机用户行使这种自由是不道德的行为。理察·马修·斯托曼认为贩卖不附带源代码的二进制软件是不道德的,因为这样阻止了软件用户学习以及帮助其他人的权利。然而还没有如何实现自由软件运动最终目标的共识。有些人认为应当使用法律手段强制软件供应商提供源代码;有些则认为应当通过抵制专有软件来达到目的。还有一些人则认为时间将证明,自由软件最终在质量上要比专有软件略胜一筹,并会在自由市场上获取胜利。
部分自由软件运动人士也认为其他受专利权保护的产品也应当自由化。还有一些人士则认为有部分资源不应当被自由更改,例如GNU通用公共协议证书,小说等。