MicroFSD/IFS

Implementation of IFS-like solution in L4 kernel/FreeLDR environment
Post Reply
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

MicroFSD/IFS

Post by admin »

prokushev

Site Admin

Joined: 25 Nov 2003
Posts: 100
Posted: Fri May 04, 2007 4:48 am

In real OS/2 we have 4 parts for each Installable File System. It is:
  1. MicroFSD which loads Kernel Loader and provides to it functions to access file system
  2. MiniFSD for Kernel
  3. Actual IFS for system
  4. Utility DLL (format/chkdst/recover/sysinstx)
I propose to have in osFree only 2:
  1. MicroFSD
  2. IFS server
Here IFS server handles actual I/O and service commands. In OS/2 personality OS/2 server just will forward
calls to neutral personality.

Just an idea.
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

Re: MicroFSD/IFS

Post by admin »

saschm

Joined: 29 Sep 2005
Posts: 19
Location: Germany
Posted: Fri May 04, 2007 10:12 am

But we still need the dll, don't we? At least, the aim is to have something similar to OS/2,
which uses dll's...

The next quesion is: Hasn't minifsd been developed by now?

My third and last question: if the fsd is a server, this isn't user-mode, is it? So, a normal user won't be
able to add a new fils system on the fly, will he?

Besides those three points, if they are solved, it sounds like a good idea. Perhaps it eases the development
and we will finally see some running osFree some day

wbr,
saschm
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

Post by admin »

prokushev

Site Admin

Joined: 25 Nov 2003
Posts: 100
Posted: Fri May 04, 2007 10:50 am

DLL needed only on OS/2 personality and only for compatability. MiniFSD not required at all, because it is something
like MicroFSD but for protected mode and with directory support. If move subdirectory support to MicroFSD then I don't
see any needs in MiniFSD. BTW, seems MiniFSD not implemented in OS/2 PPC.

In L4 servers works in user-mode. But question about is user able to add/remove IFS on the fly depends on security issues.
If uoser has rights to do such things - u a welcome.

According some running osFree. At the present time in corporation with our code valerius has just great progress. Think
we wil have loaded L4 soon. But now we can start with Afterburner project to have self-worked environment or with Neutral
Personality (we have some templates for it). After minimal Neutral Personality will be ready we can start OS/2 server
implementation. For example, file i/o wrapper and VIO/KBD wrapper to support minimal CMD.EXE.

If you have some interest in OS/2 or Linux personality you can try to start build them

btw, how work goes with your thesis?
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

Post by admin »

Viking

Joined: 29 Sep 2006
Posts: 42
Location: Sweden
Posted: Fri May 04, 2007 5:39 pm

It sounds good. But how is the IFS reading from the block device (floppy or IDE harddrive)? I mean it
needs a layer under the IFS to handle the hardware. Is there any work on that part?

/Viking
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

Post by admin »

prokushev

Site Admin

Joined: 25 Nov 2003
Posts: 100
Posted: Fri May 04, 2007 5:51 pm

No block device yet. I want to start from ramdisk first. But, yes, block-device also needed.

BTW, how your LX format support goes?
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

Post by admin »

Viking

Joined: 29 Sep 2006
Posts: 42
Location: Sweden
Posted: Fri May 04, 2007 9:10 pm

Aha, only from ramdisk first. That's ok.

My work with the lx loader has finally been able to run a very small lx exe file.

It works as this: it's given an filename which it loads in the virtual memory (allocated with mmap). Makes fixups
to the code (only one supported now, a fixup called 32-bit self relative pointer) and runs it in the same function
as main(some assembler used, save registers and call the lx exe main). No threads is used.

The exe file calls one Doscall and the only supported is "DosPutMessage". I have put the DosPutMessage in a shared
library "libmsg.so", that was the only way to get it to work.

I am going to clean up the code a bit and add some comments to make it easier to follow.

Some links which have been of help is:

http://pages.prodigy.net/michaln/os2/os2mini.html
http://lafaix.online.fr/os2/contest.html

/Viking
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

Re: MicroFSD/IFS

Post by admin »

prokushev

Site Admin

Joined: 25 Nov 2003
Posts: 100
Posted: Sat May 05, 2007 2:03 pm

Good progress. What do you think about start working with Neutral personality servers? We think
http://www.l4ka.org/projects/SDIOS06/ is a good start point. Here exists minimal set of servers
and applications:
  • Initial root task
  • Pager (combined memory and task server) creating virtual address spaces
  • Root name server for servers to register their facilities.
  • MINIX file system server which extends the name space to files
  • (Virtual) console server reading keyboard input and writing to the screen buffer
  • Limited shell with the two utility programs ls and cat.
It is contains elfexec which we can make server and extend with lxexec.

What do you think?
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

Post by admin »

Viking

Joined: 29 Sep 2006
Posts: 42
Location: Sweden
Posted: Sat May 05, 2007 4:09 pm

Neutral personality, me? It sounds very overwhelming But I'm going to take a look at it. I have already
downloaded it, since May 1.

Now SDIOS06 seem's to be more of a Linux/UNIX clone, so what kind of changes does it need? To make
it more like osFree/OS2.

/Viking
admin
Site Admin
Posts: 1925
Joined: Wed Dec 19, 2018 9:23 am
firstname: osFree
lastname: admin

Post by admin »

prokushev

Site Admin

Joined: 25 Nov 2003
Posts: 100
Posted: Sun May 06, 2007 5:00 am

Why not?

Well, actually I don't see any unixism in SDIOS06. And this is not yet OS/2 Personality, but Neutral
personality, which will be core for all other personalities.

For now I see following required changes:

1. Implement support of executable formats also as servers/external libs
1.5. Add LX support
2. Add support of ext2fs (like MINIXFS added)
3. Start moving all existing code to unicode

For OS/2 personality specific things we have now only OS/2 personality server. If you interested you can
implement minimalistic server which will just open config.sys and execute program in LX format which
pointed by protshell statament.
Post Reply