[kernel-ml 83] VSTa OS

Naitoh Ryuichi (night@bfree.rim.or.jp)
Sun, 10 Sep 1995 00:12:27 +0900

隆一です。

# 今回は、直接 B-Free とは関係ない話です。

NetNews を見ていたら、面白いものをみつけたので転載します。
VSTa という フリー OS があるようです(メイリングリストが 1993 年 8 月か
らはじまっているようなので、すくなくとも 2 年前からはじまっているプロ
ジェクトです)。

いわゆるマイクロカーネル形式で、POSIX に準拠しているようです。
(なぜか、参考にした OS に QNX や Plan9 の名前がありますが。。。)

この OS は、Copyleft に基づいています。これで、マイクロカーネルに基づ
いた"フリーの" UNIX が2つになったわけですね(1つは Hurd)。

それと、WWW 上にホームページがある OS の一覧を見つけました。
URL は、 http://www.cs.arizona.edu/people/bridges/oses.html です。
この WWW ページには、各種の OS のリンクが集積してあります。

ちなみに、このリストの中には ITRON も載っています(だけど、ItIs は載っ
ていない)

---------------------------------------------------------- ここから ---
*********************************************************************
* VSTa FAQ (alpha) *
* v0.3 FAQ for VSTa *
*********************************************************************
* Frequently Asked Questions About VSTa *
*********************************************************************

1. What is VSTa?

VSTa is a copylefted operating system created by Andy Valencia
(vandys@cisco.com) and later enhanced by numerous others. It uses a
microkernel organization, in which the "kernel" code is very small (~40k)
and all filesystems and drivers reside in "user" mode processes. At user
level it looks substantially like a POSIX-type system.

2. What does "VSTa" stand for

The "Valencia Simple Tasker". Actually, the 40K in the kernel suports
kernel preemption, shared memory MIMD multiprocessors, and virtual
memory. It really isn't all that simple!

3. What does VSTa run on?

VSTa was originally written for the i386 PC. It has since run on 2 meg
386sx processors and 16 meg Pentium processors. The DMA system
currently does not correctly support > 16 meg ISA bus access. Most of the
code is there (bounce buffers and such) but it is not completely
implemented.

VSTa has driver support for ST-506, IDE, and Adaptec 1542[bc] disk
interfaces. It supports floppy drives, MGA and CGA monitors, RS-232
interfaces, parallel interfaces, NE2000 LAN cards, and bus or serial mice.
Under SCSI, it also supports CDROM.

VSTa has a port to the Amiga with 68030 in progress. At last status report
the kernel would boot and run simple tasks, and interrupt handling was
being brought up next.

VSTa has people looking at ports to R3000's and SPARC's. No bootable
code has been reported yet.

4. How do I get VSTa?

Cygnus has kindly made some space available at their FTP site:

ftp.cygnus.com:pub/embedded/vsta

Cisco also has it available, although their FTP daemon makes it more of a
chore:

ftp.cisco.com:vandys/vsta

Other mirror sites exist and will be added here as verified.

5. How do I boot it?

See the file vsta_*.readme on the FTP site. This will point you to the files
"license" and "readme" in the vsta.tz compressed archive. These provide
information on the terms and conditions for use of VSTa. Then it points you
to doc/roadmap.txt in the same archive, which tells you how to boot up the
system.

6. Ok, I booted it, but how do I find out more about its design?

The VSTa WWW Home page can be found at:

http://www.cen.uiuc.edu/~jeske/VSTa/

The FTP sites hold an aging introduction paper. The mailing list archives at
the FTP sites contain several messages which describe the design of
various parts (booting, VM, scheduling, ...) of the system. If you are
searching for a particular topic, a hypertext index:

http://ftoomsh.socs.uts.EDU.AU/mlists/vsta

provides a powerful interface for searching all message list traffic.

The doc/ subdirectory holds a skeletal amount of documentation on the
basic kernel interfaces. More will be added (time permitting :->).

Finally, the code itself has relatively consistent and numerous comments.

6. I created a root user, but nothing works for me!

The protection system uses your ID for the default protection on object
creation. You should specify a non-zero length ID, and add a root ID as one
of the "extra" ones. See the file /vsta/etc/group.

7. I boot up, and see the disk blink, but my screen doesn't show
anything

The default in boot/boot.lst is for a CGA system. MGA cards place text at a
different address; add the -mga flag to the "cons" server.

The kernel debugger also needs to be flagged this way; you need to edit the
file os/mach/dbg_ibm.c and then rebuild your kernel.

8. Does it network?

An initial port of KA9Q has been done. It uses the ne2000 driver and
can be used to telnet and FTP. Some code has been written to provide a
/tcp server so that, for instance, a telnetd can be run to allow
logins via the net.

9. What's being developed for VSTa?

Ports are in various states of progress for the m68k, R3000, and SPARC.
People are working on a windowing system, a Linux filesystem, a BSD
filesystem, a /proc filesystem, more networking. For SCSI, tape support is
in progress. A list, maintained by Gavin Nicol (gtn@ebt.com) is posted to
the mailing list periodically.

10. What list is that?

We run a VSTa mailing list. Send a subscription request to:

vsta-request@cisco.com

There's no list server, so feel free to use English. Once you're on the list,
send to:

vsta@cisco.com

and the message will be distributed to all members.

A digest format is available; specify this in your subscription request if you
prefer it. Our digest algorithm is to wait up to three days to collect three
messages.

11. How do I make a vstafs filesystem? <Gary Shea, shea@xmission.com>

For DOS 6.2, there are two possible partitions on a disk: the main
one, and a secondary one. It is possible to create logical partitions
in the secondary partition to subdivide that partition even further.
To see what partitions you have available, add a line of the form:

disk/wd /wd

to the /vsta/etc/fstab file and reboot, or use the command:

$ mount disk/wd /wd

to accomplish the same effect temporarily. Look in the /wd directory
for the names of available partitions. Supposing you wish to use the
partition wd0_dos1, use the command:

$ stat /wd/wd0_dos1

to find the exact size of the partition. Divide that number by 512 to
get the number of sectors, then the command:

$ mkfs_vfs /wd/wd0_dos1 number_of_sectors

will initialize a vstafs file system on that partition. Now you can
run the filesystem server:

$ /vsta/boot/vstafs /wd/wd0_dos1 fs/vfs

Finally, you must map the namer pathname fs/vfs into the root
heirarchy with a mount command:

$ mount fs/vfs /vfs

If you want the filesystem mounted at boot time, find the vstafs
command in the /vsta/etc/inittab and correct it to your device name
(note the different syntax when portnames are used); uncomment or
introduce the necessary mount line in the /vsta/etc/fstab file.

-
Oringinal Author: Andrew Valencia (vandys@cisco.com)
Maintainer: David Jeske (jeske@uiuc.edu)

--
David Jeske(N9LCA)/CompEng Student at Univ of Ill at Cham-Urbana/NeXT Programmer
   CoCreator of the GTalk Chat Software System  - online at (708)998-0008
                   jeske@uiuc.edu  (NeXTMail accepted)

--- ここまで ----------------------------------------------------------

---------- 内藤隆一 (ggc00661@niftyserve.or.jp/night@bfree.rim.or.jp)