Re: Paging Beth Stone



On Thu, 15 Sep 2005 04:31:20 -0400, wolfgang kern <nowhere@xxxxxxxxxxx> wrote:

| Damn, I had to hit Google to figure out the ALA in ALA-OS meant...

:) sorry for I assumed it a known abbreviation.

Well I should have known what it meant. I saw it when I first joined this newsgroup and figured it out in a couple of seconds then, but for some reason my brain wasn't working this time.


| Even so, I did manage to make a pretty nice assembly parser in NASM,
| but then I got to looking at the effective address encodings and that
| about made me sick.  I hate parsing user input.

I don't think it needs new tools, most of the assemblers around
can be modified to work for any API.

Yes, but the problem I was looking at was how do I get NASM to work in my new OS without porting over GCC? Then once it's running, what do I do with the object files it creates?


I figured it'd be simpler just to write my own assembler, and put all of it's OS specific things in just one little file, then porting it to my OS or any OS is just as simple as rewriting the function that opens and reads and writes files.

I found only two reasons for using the slow hardware task-switches:
Stack-faults and Debugger. Software multitasking is much faster than TSS.

TSS isn't so bad. Everyone just sees that a TSS switch takes 314 clock cycles and they're like "OMG! That's so slow!" You'd have to do 10,000 of them a second to take up 1% of your CPU time. If you do 1ms timeslices, that's 2000, which leaves another 8000 for an interrupt every 0.25ms. Considering what you get with TSS, I don't think that even 2% of the CPU is too much to spare.


If you don't use TSS, you've still got to swap all of those registers manually, load a new CR3, and start making use of those segment protections (call gates et. al.) since it's no longer possible to give applications an address space that's totally isolated from the kernel. So how much processor time can you really save while still maintaining memory protection?

And as non-M$ OS-developers are very individual folks,
I'm afraid the idea of an ALA-OS died before it even started.

Even if we all agreed on the design of the OS, I doubt we would all agree on the assembler to use.


It would take a lot of compromising, that's for sure.
.