Sanos

From Lazarus wiki
Revision as of 23:46, 25 March 2011 by MarkMLl (talk | contribs) (Basic description and status)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Sanos [1] is a minimal open-source operating system implementing a cut-down Win-32 API for console-mode applications, and as such is a potential upgrade path for developers targeting GO32 V2. The basic OS is distributed on a single floppy, and comprises the kernel, drivers for popular hardware, and daemons for FTP and Telnet. There is also an SDK floppy including the Tiny C Compiler (TCC) plus libraries etc., and demonstration floppies with MySQL and a wiki server.

Simple programs may be built natively using TCC, but the operating system itself must be cross-built on a Windows 2000 (or later) using Microsoft Visual Studio 2005 [2].

Sanos requires that all executables have full relocation information, so fpc must be run with the -WR option. However as of version 2.4.2, the FPC runtimes as shipped require the oleaut32 DLL which does not exist in Sanos, see fpc-devel 2011-03-24 (Sven) for a way to work around this. They also require CharLowerBuffW and CharUpperBuffW from user32 which are unimplemented, this is probably fixable.

More seriously, the standard runtimes require a number of unimplemented kernel32 functions, it is probably impractical to either add these to the Sanos kernel or remove them from the FPC RTL. As a result, it is unlikely that Sanos will ever be a viable target for FPC.