|
|
|
|
|
|
|
|
|
|
|
|
(1)命令生成器(Command Generators):建立SNMP Read/Write请求,并且处理对这些请求的响应。
|
|
|
(2)命令响应器(Command Responders):接收SNMP Read/Write请求,对管理数据进行访问,并按照协议规定的操作产生响应报文,返回读/写命令的发送者。
|
|
|
(3)通知发送器(Notification Originators):监控系统中出现的特殊事件,产生通知类报文,并且要有一种机制,以决定向何处发送报文,使用何种SNMP版本和安全参数等。
|
|
|
(4)通知接收器(Notification Receivers):监听通知报文,并产生响应。
|
|
|
(5)代理转发器(Proxy Repeaters):在SNMP实体之间转发报文。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1)实时控制系统。主要用于生产过程的自动控制,实验数据的自动采集、武器的控制,包括火炮自动控制、飞机自动驾驶、导弹的制导系统。
|
|
|
(2)实时信息处理系统。主要用于实时信息处理,如飞机订票系统、情报检索系统。
|
|
|
|
①快速的响应时间。实时系统是为了提高系统响应时间而设计的操作系统,特别是实时控制系统,对外部时间的响应要十分及时。
|
|
|
②有限的交互能力。实时系统一般是专用系统,它能提供人机交互方式,但用户只能访问系统中某些特定的专用服务程序,不能像分时系统那样为终端用户提供多方面服务。
|
|
|
③高可靠性。实时系统要求高度可靠,因此实时系统中往往都采用双机系统和多级容错措施来保证系统和数据的安全。
|
|
|
实时系统与分时系统的主要区别:实时系统与分时系统除了应用环境不同之外,在系统设计目标、交互性强弱、响应时间的敏感程度等方面也不同。
|
|
|
|
|
|
|
|
|
|
|
|
|
接口实际上是一组抽象方法的集合。接口本身的访问控制只能够是public和默认的,不能是private和protected。因为接口的目的就是让其他的类来实现其中的方法或使用其中的常量。因此,接口中的方法永远是public和abstract,而接口中的常量永远是public、final和static。为接口定义方法和常量时,不需要加任何修饰符。
|
|
|
|
接口定义很像类定义,它使用的关键字是interface。下面是一个接口的通用形式:
|
|
|
|
其中,access要么是public,要么就没有用修饰符。当没有访问修饰符时,则是默认访问范围。当它声明为public时,则接口可以被任何代码使用。name是接口名,它可以是任何合法的标识符。注意定义的方法没有方法体。它们以参数列表后面的分号作为结束。它们本质上是抽象方法;在接口中指定的方法没有默认的实现。每个包含接口的类必须实现所有的方法。接口声明中可以声明变量。它们一般是final和static型的,意思是它们的值不能通过实现类而改变。它们还必须以常量值初始化。如果接口本身定义成public,所有方法和变量都是public。
|
|
|
|
一旦接口被定义,一个或多个类可以实现该接口。为实现一个接口,在类定义中包括implements子句,然后创建接口定义的方法。一个包括implements子句的类的一般形式如下:
|
|
|
|
同样,access要么是public,要么是没有修饰符的。如果一个类实现多个接口,这些接口被逗号分隔。如果一个类实现两个声明了同样方法的接口,那么相同的方法将被其中任何一个接口客户使用。实现接口的方法必须声明成public。而且实现方法的类型必须严格与接口定义中指定的类型相匹配。
|
|
|
|
|
|
|
|
|
|
|