Home arrow Product Articles arrow Intro to SND's HyNetOS
   
Intro to SND's HyNetOS PDF Print E-mail

Introducing HyNetOS™

To run networking applications using TCP/IP and other related protocols it is just not enough to provide only a set of protocol functions. You rather need a network operating system if you want to be able to integrate other hardware extensions being transparent to protocols and applications. You need independent timer instances in order to meet the protocol specifications and several abstration layers that enable you to develop high-level applications without the need to care about details in implementation. Last but not least you need a kernel, providing system functions, task management, and a memory manager as well as a message system for inter-task communication.

Putting all together is what you get as operating software from Smart Network Devices: the network operating system HyNetOS™.

The network operating system HyNetOS™ has some basic functionality, always needed, and provided in the so-called HyNetOS Base Version. Additionally we offer different software extensions featuring special protocols, that can optionally be linked to the system, depending on the actual application:

  • I*Target Client (adds Internet Client functionality)
  • I*Target Server (adds Internet Server functionality)
  • I*Target Dial Line (adds Internet Dial-in functionality)
  • I*Target Router (adds Internet Routing functionality)
  • J*Target CLDC (adds Java KVM/CLDC for Mobile Clients)
  • W*Target Blue (adds the Wireless Communication Protocol Bluetooth™)

HyNetOS Base Version

In the following section the basic systems components of HyNetOS Base Version are explained as well as some definitions referred to elsewhere on this website.

System Kernel
The kernel of HyNetOS is hyRTK, hyperstone's powerfull multitasking real-time kernel with pre-emptive task scheduling. It is specifically designed for use by hyperstone microprocessors in embedded systems or board-level applications. Since hyRTK has been fine-tuned for the hyperstone architecture, interrupt response times of approx. 0.1..0.2 µs can be achieved with a 100 MHz hyperstone system. The complete kernel software is only 32 KB in size, including an integrated debug monitor and a floating-point library. hyRTK offers all the features of an up-to-date multitasking real-time system providing time management, task management, synchronization and interrupt services, a memory manager and basic message system functionality as well as interfaces for debugging and profiling.

System Tasks
A system task is an independant process with a specific system priority. The System Kernel can handle up to 32 tasks. Basically we have 2 different types of tasks. A stack level task is a standard user process that has its own stack acting in the foreground or in the background. An interrupt level task is typically a system process acting in the background e.g. as an interrupt service routine.

Applications
An application is a stack level task, that acts as a foreground process. It is a user program intended to perform a specific functionality. The main difference between applications and services (described below) is that an application always acts on the highest level speaking in ISO/OSI model terms. Still, most applications act logically spoken as servers, which means that once they are started and initial actions have been taken, they react in an appropriate way to events. Events can be user input over a keyboard or a control panel, state changes reported by devices, messages coming from a connected network and many more.

Services
A service is a stack level task, that does not act on its own (like applications do). One simple example: a service will never initiate a TCP connection to a remote server unless it is requested by an application to do so. Therefore the only thing a service does at system start is to register itself in order to offer its service functions to other tasks in the system, which can be either applications or other services. Five services are currently implemented as basic systems services:

Services are automatically found by calling the corresponding 'connect' function. With 'connect_to_driver' a link is being established between the Device Manager and an application. With a TCP/IP protocol related function like 'udp_connect' we initiate a link between the Protocol Manager and an application, while the Protocol Manager is linked to The Device Manager by default (more precisely: automatically at system start).

Drivers
Drivers are basically only sets of functions triggered by the Device Manager or by interrupt events. A device having a hardware interrupt line can trigger driver actions by means of an interrupt service routine called by the system kernel on occurence of a physical interrupt signal. Such an interrupt service routine is usually implemented as interrupt level task, which is part of the driver implementation. Drivers are the only part of the operating system, that directly access the peripheral hardware interfaces.

The following figure gives a graphical overview of the basic system components described until now.


NOTE:
The Java VM is not included in HyNetOS Base Version, but in the J*Target CLDC software extension

As you can see, an application can as well directly connect to the Device Manager as it can connect to the Protocol Manager which can be considered being an encapsulated access to the Device Manager. The main difference between both access methods is, that a direct Device Manager access reserves one device exclusively for one application, whereas through the Protcol Manager a device can be shared e.g. by different applications using one network interface concurrently. The Ethernet Interface is typically shared by serveral applications, but e.g. a Keyboard Interface would be accessed exclusively by one application task.

Note that the Basic System Services described above (Device, Protocol, File Manager etc.) are a fixed part of the network operating system HyNetOS and can not be removed, while you can add and remove as many applications and device drivers as you want.

From the point of view of the operating system the Java K Virtual Machine (KVM) is an optional native C application on top of which platform independent Java applications can run. This enables the system to execute 3rd party application software not explicitely written for HyNetOS.

Summary of HyNetOS Base Version features:

I*Target Client

The I*Target Client is a HyNetOS software extension, that offers additional functionality to operate the system as a Network or Internet Client. An Email client is provided, which enables the system to send email messages as part of a regular reporting cycle or to signal an alarm condition. Also the system could receive commands by email. HTTP clients and FTP clients are possible as well. The additional client protocols are offered by the Protocol Manager.

Summary of features:

I*Target Server

The I*Target Server is a HyNetOS software extension, that offers additional functionality to operate the system as a Network or Internet Server. The I*Target Server covers among others the HTTP 1.1 protocol for embedded webserver applications. This additional module enables the system to be remote controlled by a common PC with web browser and even by WAP-enabled cell-phones. Furthermore an FTP-Server is supplied in order to send or receive files from the system. Also an in-the-field OS update is possible when running an FTP server. The additional server protocols are offered by the Protocol Manager.

Summary of features:

I*Target Dial Line

The I*Target Dial Line extension offers the opportunity, to control any type of modem having an AT command interface. Modems (analog, digital ISDN or GSM) are connected over a RS232 port and allow a stand-alone log-in of the system to the Internet by using the PPP protocol. In exactly the same way the system can be called upon from a remote station by a telephone line to check the current status or operating conditions. The PPP protocol is offered by the Protocol Manager both as client and as server version in order to add access security. The AT-command dialer and the modem drivers are offered by the Device Manager.

Summary of features:

Coming soon:

I*Target Router

The I*Target Router extension offers basic routing capabilities as predefined applications. Some of the routing examples are: Ethernet-to-serial, Bluetooth-to-serial, Ethernet-to-Bluetooth and Ethernet-to-Modem to mention just a few. Basically within all available interfaces any [Interface X]-to-[Interface Y]-routing is possible.

Summary of features:

J*Target CLDC

The J*Target CLDC extension contains the so called Java™ K Virtual Machine (official name: Java 2 Micro Edition CLDC), Sun Microsystem's newest Java runtime environment, which has been developed especially for devices with low memory capacity and low computing power typically found in embedded systems. Network applications can now comfortably be developed on a PC in Java and fullfill - transfered on the embedded system - exactly the same functionality there. Through Java the idea of portable software is perfectly realized. You can even run your Java application software on the operating system of a different manufacturer, should you be not satisfied with our HyNetOS some time. For full exploitation of the Java-API as defined by the KVM/CLDC specification the J*Target CLDC Extension the I*Target Client Extension is recommended.

Summary of features:

W*Target Blue

The W*Target Blue extension adds all necessary Bluetooth™ protocols to the Protocol Manager. To run this extension a Micro BlueTaget board is necessary in order to have access to the onboard Bluetooth interface currently based on the BlueCore01b chipset from Cambridge Silicon Radio (CSR). Note that BCSP is a BlueCore/CSR specific protocol that adds enhanced capabilities like in-the-field firmware updates even of the baseband part of the Bluetooth interface.

Summary of features:

 
< Prev   Next >


© Taylor River Real Time 2005 all rights reserved Logout