Page 2 of 2
Re:I want to build an OS, but were do I have to start???
Posted: Fri Sep 12, 2003 7:22 am
by Pype.Clicker
i suggest you head yourself to Operating System Resource Center (see .:QuickLinkz:. and look for information about filesystems). Linux uses EXT2, EXT3 and reiserFS natively, which are both quite high-level filesystems. All i know from NTFS is what i read from Andrew Tannenbaum's paper on it (somewhere on InformIT, i think), but let me tell you that NTFS is certainly not an easy-to-handle filesystem
As for supporting all of these on your own system, it can certainly be achieved by a virtual filesystem (i suggest you look at the way Linux handle this) and kernel modules for supporting additionnal FSes.
The way Windows access to Linux partitions (using dedicated application-level tools that operate on the raw device) is a bad option, imho (even though it comes handy to fix your linux box when only windows remains -- which virtually never occur ;D )
Re:I want to build an OS, but were do I have to start???
Posted: Fri Sep 12, 2003 7:28 am
by Robbert
Ok I will try to search for an answer. If I've found it, I think within 2 years I will post it here. Thnx for all the help and tips
Re:I want to build an OS, but were do I have to start???
Posted: Fri Sep 12, 2003 8:46 am
by Solar
Robbert wrote:
I think within 2 years I will post it here.
Oh may ye conserve the dreams of thee youth...
Good luck to you, but you might fare better if you plan more long-term for a project of that magnitude...
Re:I want to build an OS, but were do I have to start???
Posted: Fri Sep 12, 2003 10:13 am
by Robbert
I ment the answer of my question, but hey I am quite far now. I have my bootloader and my Kernel up and running it all works fine. But what next??? ??? :-\
Re:I want to build an OS, but were do I have to start???
Posted: Fri Sep 12, 2003 11:48 am
by one
Well if you have all that then i think your OS is done. Why are u asking for help?
Re:I want to build an OS, but were do I have to start???
Posted: Fri Sep 12, 2003 12:22 pm
by Pype.Clicker
Robbert wrote:
I have my bootloader and my Kernel up and running it all works fine. But what next??? ??? :-\
This basically depends on what's in your "kernel" ... is it able to run user programs already ? does it offer multitasking or virtual memory ? does it offer access to a filesystem or provide a framework to run a filesystem server ?
Re:I want to build an OS, but were do I have to start???
Posted: Fri Sep 12, 2003 3:20 pm
by Robbert
I just builded a kernel with the tought: I will build an OS over it. It only says on startup: Heeeeey the kernel works, and that's it.
Re:I want to build an OS, but were do I have to start???
Posted: Sat Sep 13, 2003 2:36 am
by Pype.Clicker
okay. So you don't really have a "kernel" ... Just a place where to build it
It's not panacea, but maybe you could like to get a look at
Clicker's history which will show you in which order i did things.
It's certainly not the best stepping one could dream of (for instance, i still have no mouse driver nor a shell support), but that's all i have to offer ...
Re:I want to build an OS, but were do I have to start???
Posted: Sat Sep 13, 2003 3:04 am
by Robbert
hmmz a mouse driver, can't you make that with C or C# ? I know that I can change the keyboard functions with VB 6.0 so why can't you make a mouse driver with C or C#
But okay thnx for the tips. But first I need to have C and C#, lets say MS Visual Studio. Typing everyting in notepad is quite "booring" because I don't know all the commands
Re:I want to build an OS, but were do I have to start???
Posted: Sat Sep 13, 2003 3:24 am
by Pype.Clicker
you can (and i could) certainly write a mouse driver in C ... i just haven't got the time to do so so far ... other priorities and stuff ... plus the fact that "what would a mouse driver be good for if the kernel has no mechanism to deliver moves and clicks to a program" ?
For C# or VB, just forget about them. They'll be of no use for OS development as the programs they produce require Wind0ws to be present to run. Even Java would be more easy to use...
Re:I want to build an OS, but were do I have to start???
Posted: Sat Sep 13, 2003 11:27 am
by one
Yeah I find it funny that there are so many guys out there who think tha an OS could be written in any language. I think a absolute requirement is a least a working knowledge of Assembly with a little C thrown in.
If you qualify then i guess you could think starting in terms of memory and chips etc.
Re:I want to build an OS, but were do I have to start???
Posted: Sat Sep 13, 2003 4:51 pm
by Schol-R-LEA
I have to differ with you on this: while assembly is indeed a necessity (and indeed the only necessity - many OSes have been written entirely in it), C is not the only reasonable choice for an OS implementation language. Even if one takes a strict definition of the idea of an 'OS Kernel' so as to exclude bytecode based systems (Smalltalk-76, JavaOS, UCSD Pascal), or systems for unique hardware (BurrGOL, Genera, occam), one finds that the main requirements is that the language compile into native code which can run with little or no additional runtime support. There are several languages which fit this requirement; at least three of them which I know of - PL/M, BCPL, and Modula-2 - have been used to implement at least two OSes apiece. While C has (deservedly, IMAO) long since overshadowed them, as well as other system languages such as JOVIAL, BLISS and XPL, the fact remains that they could and were used for kernel programming. There are also newer languages, coming out all the time, which could be used just as easily as C is.
That having been said, C# and Visual Basic are two good examples of languages which could not reasonably be used for kernel implementation. Putting aside the current OS-specific versions, it is still the case that any imaginable implementation of either of them would have high, irreducible runtime support requirements, in the form of garbage collection, complex libraries, etc. C# would at least be reasonable for higher-level parts of an OS, being essentially a clone of Java; but VB is poorly suited for systems programming at all, being aimed primarily at business programming and having huge built-in support for such things as date manipulation, currency arithmetic, and so forth. While it is possible for a BASIC-like language to be designed for systems programming, VB is not.