Page 1 of 1

What would you do differently?

Posted: Wed Dec 30, 2009 4:50 pm
by cxzuk
For those of you who have tried to create a kernel, or even a full blown operating system. With the knowledge you now have, what would you have done differently? And, what would you NOT do differently?

Re: What would you do differently?

Posted: Wed Dec 30, 2009 5:07 pm
by VolTeK
not waste my time trying to get into protected mode, and continue on into real mode making something bigger and better with the knowledge i have now

Re: What would you do differently?

Posted: Wed Dec 30, 2009 5:24 pm
by pcmattman
Do differently?

Design. Design more, design better.

Not do differently?

Design. I'm still happy with the design of many integral components in our project, and many of them have survived with minimal changes for many, many months of development - they're just flexible like that.

:)

Re: What would you do differently?

Posted: Wed Dec 30, 2009 5:45 pm
by piranha
I am actually currently writing my kernel version 0.1, which is essentially a rewrite. What I'm doing is rewriting the parts that I need to, and keeping the parts that don't need it.
Redesign
  • Memory Management
  • Multitasking
  • Signals
  • Device management
  • Driver interface
  • Native API
  • UI
Rewrite
  • Virtual Terminals
  • System Calls
  • Kernel threads
  • Critical Sections
  • Descriptor Tables
  • ELF loading
Keep the same
  • A lot of basic kernel stuff (configuration, etc)
  • Drivers
  • Module loader
  • ISRs, PIT...
  • The way that the kernel mounts the root device and filesystem and starts the init process
  • Internal command line
  • VFS
  • Files
Yeah. It's gonna take me a while, but once I do it it will be soooo worth it. It'll hopefully be faster and more stable.

-JL

Re: What would you do differently?

Posted: Wed Dec 30, 2009 9:36 pm
by Colonel Kernel
I'd stop designing for SMP in the traditional way and just get a decent UP kernel working, then extend it to SMP in a manner similar to Barrelfish.

Re: What would you do differently?

Posted: Wed Dec 30, 2009 10:08 pm
by neon
pcmattman wrote:Design. Design more, design better.
Thats about all I can say. I continually design and rewrite parts during the development process to improve interfaces and overall stability and maintainability. Er, rather, try too anyways ;)

Re: What would you do differently?

Posted: Thu Dec 31, 2009 12:52 pm
by Dex
First thing i would do differently, would be i would not have started to code a OS :shock:
As the OS is getting more and more of less value.

If you must code a OS, then you should make your OS headless ( over than a basic text setup ), this way you can still run your own programs on your own OS, but pop the output or get input from any device with a web browser ( with html 5 this will become easier ).

This means you will not have to deal with graphic cards and sound etc, but you will be able use the new devices that are going to replace most PC's and code in the environment you chose.

Re: What would you do differently?

Posted: Fri Jan 01, 2010 10:51 am
by -m32
Dex wrote:First thing i would do differently, would be i would not have started to code a OS :shock:
As the OS is getting more and more of less value.

If you must code a OS, then you should make your OS headless ( over than a basic text setup ), this way you can still run your own programs on your own OS, but pop the output or get input from any device with a web browser ( with html 5 this will become easier ).

This means you will not have to deal with graphic cards and sound etc, but you will be able use the new devices that are going to replace most PC's and code in the environment you chose.
They have that. It's called Apache HTTPD.

Re: What would you do differently?

Posted: Fri Jan 01, 2010 11:05 am
by -m32
I wouldn't waste time trying to do a boot loader. My interest is in creating an OS, in getting something that works. Writing a (good) boot loader is an awful lot of work to have to do before you can finally get to the work you wanted to do in the first place. There's no shame in using Grub.

Re: What would you do differently?

Posted: Fri Jan 01, 2010 11:47 am
by niteice
-m32 wrote:I wouldn't waste time trying to do a boot loader. My interest is in creating an OS, in getting something that works. Writing a (good) boot loader is an awful lot of work to have to do before you can finally get to the work you wanted to do in the first place. There's no shame in using Grub.
or one of the Open Firmware implementations. If I ever get a kernel off the ground I'd love to be able to interface with OF. Makes life so much easier.

Re: What would you do differently?

Posted: Fri Jan 01, 2010 1:47 pm
by Dex
-m32 wrote:
Dex wrote:First thing i would do differently, would be i would not have started to code a OS :shock:
As the OS is getting more and more of less value.

If you must code a OS, then you should make your OS headless ( over than a basic text setup ), this way you can still run your own programs on your own OS, but pop the output or get input from any device with a web browser ( with html 5 this will become easier ).

This means you will not have to deal with graphic cards and sound etc, but you will be able use the new devices that are going to replace most PC's and code in the environment you chose.
They have that. It's called Apache HTTPD.
Thats not true, if i want direct access to hardware and to code in ASM this would be imposable in one case and hard in the other.
Plus i may want the whole project to be less than 100k including user programs.

Re: What would you do differently?

Posted: Fri Jan 01, 2010 2:24 pm
by earlz
Dex wrote:
-m32 wrote:
Dex wrote:First thing i would do differently, would be i would not have started to code a OS :shock:
As the OS is getting more and more of less value.

If you must code a OS, then you should make your OS headless ( over than a basic text setup ), this way you can still run your own programs on your own OS, but pop the output or get input from any device with a web browser ( with html 5 this will become easier ).

This means you will not have to deal with graphic cards and sound etc, but you will be able use the new devices that are going to replace most PC's and code in the environment you chose.
They have that. It's called Apache HTTPD.
Thats not true, if i want direct access to hardware and to code in ASM this would be imposable in one case and hard in the other.
Plus i may want the whole project to be less than 100k including user programs.

There is a thing for that. Called getting an X server working on your OS(though not necessarily grpahics cards) and then forwarding X over SSH... or porting a VNC server..