Jump to content

Questions from the uninitiated- OS development

- - - - -

  • Please log in to reply
3 replies to this topic

#1
njm2

njm2

    Newbie

  • Members
  • Pip
  • 1 posts
Hey,

As the title implies, my knowledge base in this area is pretty thin. I have a few questions I hope aren't overly stupid to ask.

I am looking to develop my own platform that can replace an operating system on a computer, basically my own OS. This OS will only need to run one application. My questions are:

1) How simple can this OS be?

2) Can the application and OS be integrated? ( For example could you boot your system and the only thing that runs is an internet browser, can the OS itself be both the launcher and the application?)

3) Roughly, how long would it take an experience programmer to write something like this?

4) What language is the best for this type of project?

So in essence, I want to develop software that is a hybrid between an OS and an Application so I can have a computer that is dedicated to the one function.

It may seem a little crazy to create something that limits the function of a computer from 100's of programs to just one, but sometimes its necessary to step back before you can step forward. I appreciate any information provided. If you feel your capable of developing something like this feel free to contact me at nick.morneau@gmail.com for more information.

Thanks,

Nick

#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
Back in the days of MS-DOS, they used to make applications that WERE the OS. The down-side to this is you will need to create all your own hardware drivers, as needed, etc. You are likely to be working in C or Assembly, and will not have any GUI libraries to work with.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
LuthfiHakim

LuthfiHakim

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 763 posts

njm2 said:

1) How simple can this OS be?

Perhaps simpler than DOS, since you only anticipate one program to run on top of it.

Quote

2) Can the application and OS be integrated? ( For example could you boot your system and the only thing that runs is an internet browser, can the OS itself be both the launcher and the application?)
Yes they could. Actually in the era before they invent operating system, all applications are operating system (since they did all resource management and talked directly to the hardware).

Quote

3) Roughly, how long would it take an experience programmer to write something like this?
Depend on the complexity of the underlying hardware, the client program, and the I/O devices it must support. For single process and single thread OS like DOS for PC, nowadays perhaps it would took 3 months or so. But it will be greatly multiplied once you require multitasking, paging memory, hot swap, plug n play, and other sophisticate modern general purpose OS features.

Quote

4) What language is the best for this type of project?

The basics should be written with assembly language. After that you could use some high level languages like C and pascal.

Quote

So in essence, I want to develop software that is a hybrid between an OS and an Application so I can have a computer that is dedicated to the one function.

Seems like you want to build an abstraction layer so your application could run in any hardware platform. In this case it's easier to use top to bottom approach, i.e. analyzing what your application need, and design the abstraction layer (the OS) base on that.

#4
SweetSixteen <3

SweetSixteen <3

    Newbie

  • Members
  • Pip
  • 4 posts
I tried to do this once but I got lazy. Haha.

A very simple OS (think stripped down MS-DOS) shouldn't be too hard, but web browser takes simple out of the equation. I guess your OS would only need to provide an abstraction layer to the hardware, which in your case would be input devices, monitor, and ethernet card. This can definitely be done but it's still a lot of work. Your biggest pain is going to be the web browser. Writing a web browser in assembly is out of the question (unless you're insane) so you'll need to at least port the standard C library to your OS and then write the browser in C. Of course you won't have Flash, Java, or any of those modern things. I wouldn't recommend this project unless you're willing to commit years (decades?) of your life to it.

Another thing I can think is you could hack together minimalistic build of the Linux kernel and an open-source browser, configured with just enough support software to run the browser. Now that would be a fun project. :P




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users