flat assembler
Message board for the users of flat assembler.

Index > Main > Memory Operating System (FAMOS)

Goto page 1, 2, 3, 4  Next
Author
Thread Post new topic Reply to topic
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
I'm developing a memory operating system, possibly the first of its kind, entirely with FASM (an excellent assembler Tomasz, thank you so much).

The idea is that it operates entirely within RAM and does not require, nor depend on, any particular mass storage devices like disk drives. Being memory-based it is very fast and I believe it will also be reliable because of extensive testing and thorough documentation.

I have already developed several applications for it, and have recently added a USB1.1 host controller/driver which supports audio streaming and some mass storage devices.

The attached file is a plain DOS-compatible USB audio player, using an embedded version of my FAMOS USB1.1 HCD, also created with FASM of course. Very Happy


Description: Plays WAV data from memory in plain DOS on USB speakers. (Data size only limited by available memory - requires about 12Mb per minute of audio)
Download
Filename: USBAUDIO.ZIP
Filesize: 319.4 KB
Downloaded: 270 Time(s)


_________________
FAMOS - the first memory operating system
Post 13 Jul 2008, 01:17
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
i think most existing OSes already can operate finely with just virtal HDDs stored in memory...
Post 13 Jul 2008, 13:07
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
vid wrote:
i think most existing OSes already can operate finely with just virtal HDDs stored in memory...
Even Windows, although it requires a lot of RAM, and isn't a superclean implementation Smile

_________________
Image - carpe noctem
Post 13 Jul 2008, 14:08
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17279
Location: In your JS exploiting you and your system
revolution
Linux live disks are common. Only requiring a CD/DVD to load from.


Last edited by revolution on 14 Jul 2008, 02:10; edited 1 time in total
Post 13 Jul 2008, 15:39
View user's profile Send private message Visit poster's website Reply with quote
AlexP



Joined: 14 Nov 2007
Posts: 561
Location: Out the window. Yes, that one.
AlexP
Yes, I use a Linux LiveCD sometimes, just google it.
Post 13 Jul 2008, 21:22
View user's profile Send private message Visit poster's website Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u
Yes every hobby OS can run from ram only, once its loaded and we add device support for the convenience of the users. Plus, as a programming forum, posting a program without code is not a good idea.

Welcome to the world of OS Dev, you can work your socks off coding something, but no one gives a S**T.
Post 14 Jul 2008, 00:57
View user's profile Send private message Reply with quote
avi



Joined: 24 Jun 2008
Posts: 23
Location: usa
avi
Expressing a mood of despair for developers of modern operating systems, Dex4u momentarily forgot his own skillful invention , and the scores of people he has impressed, enlightened, and assisted. One ought not equate financial gain with intellectual accomplishment. Sometimes there is a discordance between these two. Consider, for example, Edgar Allen Poe , dead at age 40, booted from both University of Virginia, and West Point, for lack of financial resources, a guy who published his first collection of poems himself, at his own expense: "Al Aaraaf, Tamerlane and other poems", a book which failed miserably. Poe was not only one of USA's best poets, if not THE best poet, he was one of the English language's treasures, and almost no one recognized his enormous talent. He died penniless. In 1909, a century ago, sixty years after Poe's death, a single copy of his "Tamerlane" collection of poems sold for $1,400, roughly equivalent, in purchasing power in today's dollar value, to $25,000.
Consider this one provocative idea of Poe's, for example, which, to me, applies equally to many FASM forumers:
Edgar Allen Poe wrote:
They who dream by day are cognizant of many things which escape those who dream only by night.


Smile
Post 14 Jul 2008, 10:22
View user's profile Send private message Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
vid wrote:
i think most existing OSes already can operate finely with just virtal HDDs stored in memory...


Yes I guess you are referring to Ramdisks which can certainly improve the performance of most existing OSes. But why should we use memory by pretending it is a disk drive? FAMOS uses memory purely as memory, and it does not care if disks even exist or not.

Of course many of the same OSes also implement Virtual Memory, where they pretend disk storage is memory ("swapfiles"), which very greatly reduces performance.

These same OSes (I won't mention any names) could then be used to set up virtual memory on a ramdisk - how stupid is that???

_________________
FAMOS - the first memory operating system
Post 15 Jul 2008, 04:27
View user's profile Send private message Visit poster's website Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 8903
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 334455
sleepsleep
i just saw this thread,
anyway, the idea seems nice. neville.
consider that current days, DDR2 is cheap, easy to get a board that could support 8GB, 64bits processor and etc.

but how is that different from livecd or liveusb ? or it just differentiate itself by not read/write to the hard disks?
Post 20 Jul 2008, 06:55
View user's profile Send private message Reply with quote
zir_blazer



Joined: 05 Dec 2006
Posts: 66
zir_blazer
I think that what you're attemping to do is an OS that when it boots, it get readed entirely once to load it in RAM, then you're free to remove the USB Pendrive, Diskette, or whatever you use to boot it because the OS would not requiere to read anything else from it. Reminds me of old XT machines that only had a Diskette Drive and no Hard Disk, you would use a Diskette with MS DOS just to boot it so the OS could get copied into RAM then you just removed that Disk and used the one of your desired application.
I never tried Linux LiveCDs (Actually, never used Linux at all), but I suppose than those reads applications on demand (Instead of copying into RAM the entire 700 MB of the CD) so you need to have the CD everytime that you want to run a new application.

RAMDisk are a different matter because they attempt to make some RAM Memory space into what the OS can see and use as another normal drive, so applications doesn't need to have any specific support for it. I recall that MS DOS Boot Disk from W95 and W98 created a 2 MB RAMDrive where they would extract some compressed files.
Some people likes to make RAMDisk to store the Pagefile than its used for Virtual Memory on Windows, however, it simply doesn't make sense, because RAMDisk attempts to make a Hard Disk from RAM Memory and the Virtual Memory attempts to use physical space from the Hard Disk to make it look like RAM Memory (Something like the exact opposite). So, why would you use RAM to store the Pagefile when you could simply disable it and save yourself the extra overhead of having both a Pagefile and a RAMDisk for it?

So, I suppose that you could attempt to do it in two ways: Make a RAMDisk on boot then copying the contents of your OS into it (The W95/W98 MS DOS Boot Disk way), or use it as plain, "Unpartitioned" RAM (The old XT MS DOS Boot Disk way and also Linux LiveCDs, I suppose).
Post 21 Jul 2008, 06:48
View user's profile Send private message MSN Messenger Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
Who on earth would store a pagefile on a ramdisk instead of just disabling the pagefile?
Post 21 Jul 2008, 10:53
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17279
Location: In your JS exploiting you and your system
revolution
f0dder wrote:
Who on earth would store a pagefile on a ramdisk instead of just disabling the pagefile?
Somebody that doesn't understand what pagefile is. They probably read somewhere that a pagefile is a good thing to have and enable it without realising what it really is/does.
Post 21 Jul 2008, 11:01
View user's profile Send private message Visit poster's website Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
to sleepsleep:
Thanks for your thoughts. Yes, memory is very cheap now, so we can make much better use of it.
FAMOS is very different from live disks because it doesn't read programs from disks. It "assumes" everything it needs is always in memory, a bit like everything always being a tsr (terminate-stay-resident), and it keeps a database of where everything is (which the user can also see). FAMOS uses disks only as genuine "mass-storage" devices because they are too slow to use for any other purpose. RAM is about a million times faster to read/write compared to hard disks.

to zir_blazer:
Thanks for your comments too! You're right about FAMOS loading entirely into RAM and being able to remove all disks, but I don't entirely agree with your comments about MS-DOS on old XT's with floppy drives. They actually work in the same way as booting DOS (or Windows) from a hard disk, except they are even slower!

Often MS-DOS would be overwritten in RAM, and you would have to re-insert the diskette to keep it going ("Insert diskette with COMMAND.COM.." etc). The same thing still happens in Windows today, except it just re-reads the hard disk when it needs to and you might not notice it happening, or you just get used to it and don't realise how much it really slows your computer down. That is part of being a Disk OS, but FAMOS is a true Memory OS or "MOS", not a "DOS" Smile

_________________
FAMOS - the first memory operating system
Post 21 Jul 2008, 11:40
View user's profile Send private message Visit poster's website Reply with quote
zir_blazer



Joined: 05 Dec 2006
Posts: 66
zir_blazer
revolution wrote:
f0dder wrote:
Who on earth would store a pagefile on a ramdisk instead of just disabling the pagefile?
Somebody that doesn't understand what pagefile is. They probably read somewhere that a pagefile is a good thing to have and enable it without realising what it really is/does.

There are many enthusiast whose wet dreams about memory management is having the Pagefile in a RAMDisk, believe it or not. I actually heared that many times, that is why I'm saying it as a joke. Such type of question actually made it up to Anandtech review of a sort-of RAMDisk device because they heared from users that it would be great to store the Pagefile on... RAM.
http://www.anandtech.com/storage/showdoc.aspx?i=2480&p=6
However, this one seems to make sense because you could easily use both your RAM Memory plus a reasonabily big Pagefile stored on RAM, but not that of your Main Memory.


neville wrote:
to zir_blazer:
Thanks for your comments too! You're right about FAMOS loading entirely into RAM and being able to remove all disks, but I don't entirely agree with your comments about MS-DOS on old XT's with floppy drives. They actually work in the same way as booting DOS (or Windows) from a hard disk, except they are even slower!

Often MS-DOS would be overwritten in RAM, and you would have to re-insert the diskette to keep it going ("Insert diskette with COMMAND.COM.." etc). The same thing still happens in Windows today, except it just re-reads the hard disk when it needs to and you might not notice it happening, or you just get used to it and don't realise how much it really slows your computer down. That is part of being a Disk OS, but FAMOS is a true Memory OS or "MOS", not a "DOS" Smile

In my elementary school there were XT machines, I didn't played too much with them to notice that. But if it was like you tell it, then what that old MS DOS lacked is a sort of read-only flag for the memory than was used to contain OS files, something that you would be needing to make sure than that doesn't happens to your OS. However, I suppose than that was on purpose, because RAM was extremely limited those days (And no Pagefile would "Help" people back then) and what was used by the OS should be needed to be overwritable in order to make some applications fit in RAM.
Post 21 Jul 2008, 14:09
View user's profile Send private message MSN Messenger Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17279
Location: In your JS exploiting you and your system
revolution
zir_blazer wrote:
However, this one seems to make sense because you could easily use both your RAM Memory plus a reasonabily big Pagefile stored on RAM, but not that of your Main Memory.
What is the difference between "RAM Memory" and "Main Memory"Question
Post 21 Jul 2008, 14:46
View user's profile Send private message Visit poster's website Reply with quote
zir_blazer



Joined: 05 Dec 2006
Posts: 66
zir_blazer
revolution wrote:
zir_blazer wrote:
However, this one seems to make sense because you could easily use both your RAM Memory plus a reasonabily big Pagefile stored on RAM, but not that of your Main Memory.
What is the difference between "RAM Memory" and "Main Memory"Question

Check the review from the Gigabyte i-RAM that I linked in the other post. I'm talking about Main Memory for the one that everyone knows, the one that the BIOS and OS sees and is inserted in the Motherboard Slots for RAM Memory, while for RAM Memory I was talking about the one that you get from the RAMDisk-like device, that after all, is real RAM Memory though used in a different way and for a different purpose.
Post 21 Jul 2008, 17:19
View user's profile Send private message MSN Messenger Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
iRAM is a nice device, but that it connects as a SATA drive is both a strength and a weakness. Strength, because it needs no special OS support... weakness because you're limited to 150MB/s of throughput, when RAM can do several GB/s.

Definitely silly to put a pagefile on an iRAM device... if you have the money for an iRAM and the memory to put in it, you should have money to put 4 or 8 gigs of ram on your mainboard, and run without pagefile. Heck, even for moderate loads, you can do with 2gig ram and no pagefile.
Post 21 Jul 2008, 21:00
View user's profile Send private message Visit poster's website Reply with quote
comrade



Joined: 16 Jun 2003
Posts: 1137
Location: Russian Federation
comrade
Coincidentally, there is a nice blog post about how Windows manages memory:

http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx
Post 21 Jul 2008, 21:16
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
comrade wrote:
Coincidentally, there is a nice blog post about how Windows manages memory:

http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx
Nice article - I especially like the first screenshot Razz

_________________
Image - carpe noctem
Post 21 Jul 2008, 22:01
View user's profile Send private message Visit poster's website Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville
f0dder wrote:
iRAM is a nice device, but that it connects as a SATA drive is both a strength and a weakness. Strength, because it needs no special OS support... weakness because you're limited to 150MB/s of throughput, when RAM can do several GB/s.

Definitely silly to put a pagefile on an iRAM device... if you have the money for an iRAM and the memory to put in it, you should have money to put 4 or 8 gigs of ram on your mainboard, and run without pagefile. Heck, even for moderate loads, you can do with 2gig ram and no pagefile.



Absolutely right f0dder. Interestngly, the only argument for using i-RAM as a paging drive (in the article quoted by zir_blazer) is because Windows inefficiently handles memory and will use a pagefile whether it really needs to or not, so it might as well be i-RAM to improve performance!!!

Also very interesting that Mark's Blog quoted by comrade shows that Windows uses a page database called the PFN for memory allocation - a bit like a File Allocation Table, except its for 4K memory pages instead of disk sectors! It that's true, no wonder Windows is so slow! It suffers from the fact that it uses virtual memory in the first place. It would perform much better if it used just physical memory, and used disks only for mass storage. That's what FAMOS does, but FAMOS's memory database has records for processes and data, not for memory pages. I believe that is also much more efficient and logical Smile

_________________
FAMOS - the first memory operating system
Post 22 Jul 2008, 21:46
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2, 3, 4  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.