Video Management Servers are interesting beasts. On the one hand security system installers, integrators and end users want the flexibility of running a standard operating system where they can install the applications they want, optimize the system the way that they want and use it in a way that is well known to them.
On the other hand they also want to lock the system down so that it cannot be easily broken/trashed/corrupted/hacked etc.
Building an embedded system is generally what people do to lock a system down to serve one purpose. We sometimes call this building an appliance. Basically an embedded system will use a purpose built piece of hardware and special purpose operating system, install their application, and then freeze the system so it cannot be modified.
If you are a system developer, this is a fairly straight forward endeavor. You assign a programmer to build the embedded operating system and use programming tools to lock it down. Then you sell your appliance as a single function device. Done. Linux is well designed for this and you can easily build systems with read only boot/system partitions and then working directory structures to store system data. Microsoft offers a product line for this which is referred to as Windows Embedded. It is a modification of standard windows which allows modular configuration of the operating system, customization of the interface, and locking the system down.
The other main thing that embedded systems do is create read only boot/system images that allow devices to be powered off without going through a shutdown sequence. Generally the OS and applications are loaded into and run from RAM on boot up and read/write to a RAM disk. This eliminates disk writes which can corrupt storage if they are interrupted. A standard operating system on the other hand will read and write to the physical disk, freeing up RAM to be used for other purposes. There are a lot of things that written to disk including page files, log files, temp files, registry, configuration files, etc.
We have just finished building a new system image which will be available on new microNVR systems. The new image still uses Windows 7 Professional, but with several significant changes which make the system straddle the line between embedded and standard operating systems. But the change also fixes a number of deficiencies we saw in Windows 7 Professional when used as a host for a Video Management System.
First we changed the definition of how we used our disk partitions. We now have a system partition (C:) and a data partition (D:). Drive C: loads normally to memory, but we also create a RAM drive which intercepts write activity and buffers it while the system is powered on, making Drive C: essentially read only. Drive D: is a full read/write partition which hosts all of your applications, as well as user data files, log files, page files and more. Anything that needs to be persistently written to disk goes on Drive D:.
When a user wants to modify the registry, or other system configuration which needs to be written persistently to Drive C: for booting, then we have an application on the system desktop that will write the working RAM drive intercept partition to Drive C: making the changes permanent.
So basically we created a hybrid system that protects the system from unintended changes, perserves data, and allows permanent changes to the system without having to use an embedded operating system. We reduce system failures due to disk errors and allow the microNVR to behave like a true embedded device, while allowing all of the flexibility of a standard server OS. Think of this as an end user oriented embedded system.
The only thing a user has to do differently with our new Windows 7 Professional build is click the "Write to Disk C:" icon on their desktop after they have installed or remove an application or make other system changes which require modifications to registry or the system disk partition. Of course the whole system can be remotely administered using Windows Remote Desktop using Ethernet or 802.11b/g/n wireless connections.
The new hybrid OS is an exciting development by HauteSpot which gives our installers, system integrators, and end users all the benefits of an embedded OS, with the flexibility of a standard OS.