This looks pretty good to me.
There is one more question you might consider adding, though. I've been
asked about how critical NTFS support is for ReactOS to be successful.
My answer is something like this (which you may want to edit for brevity
and clarity): ReactOS will eventually want NTFS support, but for now,
there is no critical reason to have it. NTFS is primarily a hard disk
filesystem, so the only reason you would absolutely need it would be if
you wanted to access an NTFS-formatted physical partition on a hard disk
installed in a ReactOS computer.
Other filesystems will be able to provide the advanced features of NTFS
(journaling, ACLs, compression, encryption, etc.) if strict NTFS
compatibility is not a requirement. All software comes on CD or DVD
media (ISO-9660 or UDFS), or possibly on floppies (FAT). External media
(compact flash, memory sticks, etc.) tend to be formatted FAT.
-vizzini
On Fri, 2004-02-27 at 17:39, robert K. wrote:
Now I improoved it a little bit.
Did I guess right, that VFAT is included?
Comments welcome.
______________________________________________________________________
ROS-Filesystem FAQ
ReactOS uses file system drivers as WinNT does. For that reason it
implements the IFS-interface which stands for Installable File System.
Therefore it is or will be able to load and use IFS-drivers. The same
as WinNT and WinXP also uses. At the time of writing ReactOS was still
unable to load WinNT-native IFS-drivers. But some time, ROS will be
able to load even native NTFS-drivers.
Q: Can we impliment the FreeDos version of the FAT32 filesystem?
A: Reactos supports Fat32 for ages. There's no need to implement
another one.
Q: Does ReactOS support VFAT and long names?
A: What are short names? OK. ROS natively supports long and unicode
filenames. So it's up to the file system driver how it deals with it.
The FAT-driver delivered with ReactOS doesn't support VFAT, now.
Q: Why don't you implement ext2/3 but messing around with NTFS?
A: Because NTFS is a major feature which must be supportet at some
time. Ext2/3 is of course a topic for us, however there exist already
projects whose goal it is to implement ext2/3 for NT. We will utilize
these drivers when they got good enough.
Q: Where can I find the Ext2/3-IFS for NT?
You can find it here:
http://uranus.it.swin.edu.au/~jn/linux/ext2ifs.htm,
http://sys.xiloo.com/projects/projects.htm#ext2fsd and
http://ashedel.chat.ru/ext2fsnt/
Q: Can I help programming installable file system drivers?
A: Yes, there's lots of work to do around IFS-drivers. It's however
very hard to program. I like to say that programming dirvers is hard
but programming file system dirvers is the king's discipline. If you
are a real kernel hacker, come to our maling list and anounce
yourself.
Q: Can we use ext2/3 instead of poking around in NTFS
A: Yes, it's up to you, which file system you want to use. For now
however neither the ext2/3-IFS nor the our NTFS-IFS is ready to use
for read and write. So there's still lots of work to do and so the
only option is the FAT-IFS.
Q: Why do you not make use of the Linux-NTFS project's sources?
A: These sources are rather ok, but as all NFTS implementations (but
the one from MS) it lacks writing support. And there are still big
areas of NTFS wich are undocumented/unknown. We are working together
with them or just using their code. In the moment ther's however not
that priority for NTFS. So it's still sleeping.
Q: I would vote for reiserfs as the standard FS for ReacOS
A: Good Idea. However there's no ReiserFS driver for NT/ROS available.
You are welcome to program one. I think in the last time there apeared
one in the net.
Q: The JFS-sources (also for OS/2) are free to download. Why not make
JFS the standard FS in ROS?
A: Yes, at least an IFS is already planned. Since JFS is still a state
of the art file system with journalling, big file+partition sizes ACLs
and extended attributes and hard links, it would well suite ROS. We
are working on it but you are welcome to help.
Q: How do you deal with case sesitivity (i.e. ext2) ?
A: Case sensitivity is not a problem of the file system itself. It's
an aspect of the corresponding dirver. The object manager which
provides the whole namespace supports case sensitivity natively. So
IFS-drivers get a special case flag which they must handle
accordingly. A ported file system diriver must therefore be able to
handle both, case (in)sensitivity.
Q: Does a 64-bit file system run on a 32-bit machine?
A: Yes. The 64-bit are just the adressing on the disk. It has nothing
to do with the executable which contains the driver. That executable
hat that manny bits as the whole operating system has.
Q: What file systems does ReactOS support, now?
A: For now, the only file system supported is FAT(12/16/32) without
VFAT.
Q: What file systems will ReactOS support?
A: Our goal is to support as many file systems as possible. There can
be developed IFS-drivers for at least these disk file systems which
are available with linux. It's however verry hard to program a
compliant/working file system driver. So it will take some time.
At least there will be:
* FAT(12/16/32) plus VFAT
* iso9660 - CD-ROM
* one Higher FS like ext3, NTFS or JFS
* NPFS - named pipe file system (internal FS)
Q: I have an idea: Why not throw away these odd drive letters?
A: Old Idea. I'd say that also MS has had this idea. But they didn't
realize it up to now. Why? In the ROS-team there are also thinkings
about this issue. But up to now there has not been a sufficient
conclusion about this topic. Maybe MS is also still thinking.
There are Ideas as having a memory based mount file system or
uncovering the object managers name space to win32-apps or drive
words. Everything brings disadvantages with it.
By the way: The ROS/NT-Kernel doesn't work with drive letters. These
are a relict of DOS (or should I say CP/M) in win32.
Q: What is a Redirector?
A: This is a special form of an IFS driver. It doesn't implement a on
disk file system. Instead it relies on the kernel's network stack and
provides most times a remote file system (i.e. SMB-Shares).
Q: What is a file system recognizer?
A: A real file system driver is a heavy wight. Loading it just for it
to see that there is no partition it could mount is waste. For this
reason Dave invented so called recognizer driver. They are more less
integral part of the driver architecture. Such a little driver gets
loaded and searches partitions for file systems it's companion IFS is
capable of. If it finds such a partition it loads it's companion IFS
to mount it.
______________________________________________________________________
SEH-Problem: Structured exception handling (SEH) is used in
programming ReactOS as it is used in programming for OS/2 or WinNT,
too. SEH is a game wich is played between OS and Compiler (Keywords:
__try, __except, __finally). ReactOS itself is SEH-aware and provides
the infrastructure, however up to now, the used GNU-compiler is not
capable of generating SEH aware code. So one can't compile a driver or
program which uses SEH with the GNU-Compiler.
© 2/2004 Robert Köpferl <>
______________________________________________________________________
_______________________________________________
ros-general mailing list
ros-general(a)reactos.com
http://reactos.com/mailman/listinfo/ros-general