forked from ringgaard/sanos
-
Notifications
You must be signed in to change notification settings - Fork 0
Sanos operating system kernel
License
zhangrenzhi/sanos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Sanos Operating System Kernel ----------------------------- Sanos is an OS kernel for use in PC based server appliances. The kernel was developed as part of an experiment on investigating the feasibility of running java server applications without a traditional operating system only using a simple kernel. Sanos is open source under a BSD style license. Please see the COPYING file for details. Sanos can be downloaded from www.jbox.dk. -- Michael Ringgaard (http://www.jbox.dk) Features -------- - Minimalistic no nonsense application server operating system kernel. - Open Source (BSD style license). - Runs on standard PC hardware. - Simple installation. - 32-bit protected mode. - Interrupt driven. - Multitasking. - Single address space. - Kernel protection. - Virtual memory. - PE dynamically loadable modules (standard EXE/DLL format). - Both kernel and user modules. - Low memory footprint (less than 512 KB RAM) - Lightweight - Embedding support with PC104 and Flash devices - Self configuring (PCI, PnP & DHCP support) - TCP/IP networking stack with BSD socket interface - SMB file system support - Very efficient multithreading - Written in C (98%) and x86 assembler (2%) - Development using Microsoft Visual C. - Remote source level debugging support (windbg) Supported hardware ------------------ - Standard PC architecture - Minimum 2MB RAM (Maximum 4GB RAM) - Intel IA-32 and compatible processors (486 and Pentium) - IDE disks (PIO and UDMA mode) - IDE cdrom (PIO mode) - Floppy disks (3½" 1.44MB) - Keyboard (US and DK) - Text mode video - Serial ports (8250, 16450, 16550 and 16550A) - Supported network interface cards: - 3Com 3C905 - Intel EtherExpress Pro/100 (i82557/558/559 based boards) - RealTek 8139 and compatible - SiS 900 and compatible - Digital "Tulip" Ethernet card (DEC 21*4*-based chips) - AMD PCNET32 and compatible - Novell NE2000 (DP8390) and compatible Installing sanos ---------------- In order to install sanos you first need to make a boot disk. Either download the sanos-bin-x.x.x.zip file from www.jbox.dk or build the source code from sanos-src.x.x.x.zip. Unzip the files into a directory (e.g. c:\sanos) and go to the build directory and execute the mkbootdisk batch script: c:\sanos> mkbootdisk This makes a sanos.flp file in the img directory. This file can be written to a blank floppy disk using the mkfloppy utility found in the tools directory: c:\sanos> win\tools\mkfloppy a: win\img\sanos.flp Boot your computer using the disk. Remember to set Floppy Disk as your first boot device in your BIOS setup. The default installation is set up to use DHCP to obtain TCP/IP settings from a DHCP server. If you do not have a DHCP server on your network you can either boot without network or manually configure network. To boot without network remove the following section from os.ini before building the bootdisk: [netif] eth0 To configure your network manually change the [netif] section to something like: [netif] eth0:ip=192.168.123.5,gw=192.168.123.1,mask=255.255.255.0 Booting sanos from floppy will not install any files on your harddisk. ************************************************************* * WARNING: Running the setup program will destroy all files * * on the first partition of the primary disk. * * DO NOT DO THIS UNLESS YOU KNOW WHAT YOU ARE DOING !!! * ************************************************************* If you want to install sanos on the harddisk type: \$ setup at the shell prompt after sanos has started. This will install sanos on the first partition of the primary harddisk. After the setup program completes remove the floppy and boot the computer. Now sanos will boot from the harddisk. Contributions to sanos ---------------------- The sanos kernel is written by Michael Ringgaard The pcnet32 driver is written by Søren Gjesse The heap allocator is a port of dlmalloc by Doug Lea The TCP/IP network stack is a port of lwIP by Adam Dunkels The DHCP module is a port of the lwIP DHCP module by Leon Woestenberg The DNS resolver is a port of ISC BIND lwres The kernel timer implementation is a port of Finn Arne Gangstads kernel timer implementation The tulip, rtl8139, eepro100, and sis900, and tulip network drivers are ported from Linux (Donald Becker) The win32 exception handling has been ported from WINE (Turchanov Sergey, Alexandre Julliard, and Jon Griffiths) The math assembler routines have been ported from Al Maromaty's free C Runtime Library The random device driver has been ported from Linux (Theodore Ts'o) The inflate decompression routines has been ported from zlib (Jean-loup Gailly and Mark Adler) The FTP daemon is derived from Troll FTP server (Arnt Gulbrandsen) The regex library has been ported from Henry Spencer's regex libray The C compiler has been ported from Tiny C (Fabrice Bellard) The assembler has been ported from NASM (Julian Hall et al.) Bug fixes and uk key binding by Thierry Supplisson The shell parser has been derived from software contributed to Berkeley by Kenneth Almquist
About
Sanos operating system kernel
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 94.3%
- C++ 2.8%
- Assembly 1.8%
- Makefile 1.0%
- Shell 0.1%
- Objective-C 0.0%