Could you tell me some open source operating systems that you acknowledge that meet these requirements (in order of importance)?
- Simple (do not want one like MenuetOS, I want something more like MikeOS).
- Written mostly in C
- Simple file system.
- Allows you to develop, compile and run applications inside the system.
- Command Line Interface
- Single task
- 32-Bit Protected Mode
I want to develop a simple operating system, but am not finding some things. So maybe looking at some code I learn easier.
OS List
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: OS List
If you want to learn from an existing kernel, you also learn to repeat the same mistakes that kernel made. There are various kernels out there made by members, and they all act differently, are designed differently, and are complex each in their own ways. Fact remains that operating systems are the most complex things to develop and you might just want to start with small things and ask for help there instead of trying the entire package all at once.
In particular, what I consider the closest match to your requirement is also possibly the best way to teach you the worst possible habits, so regrettably, I'll have to pass on posting it.
In particular, what I consider the closest match to your requirement is also possibly the best way to teach you the worst possible habits, so regrettably, I'll have to pass on posting it.
Re: OS List
Minix meets most of those requirements. It is not single tasking; most build systems require multi-processing (eg. make runs gcc, immediately you have 2 processes). Compared to Linux it is simple; compared to MikeOS it is not. All the other requirements are fulfilled.
Re: OS List
Most build systems don't actually need multi-processing, just multiple-programs-in-memory; i.e. make doesn't run until gcc ends. "True" single-tasking systems are very rare, most are of the "task stack" type (e.g. MS-DOS, early Macintosh System Software versions, Atari TOS, etc.).madanra wrote:Minix meets most of those requirements. It is not single tasking; most build systems require multi-processing (eg. make runs gcc, immediately you have 2 processes).
Re: OS List
Hi,
Your best option might be to forget about the tools needed to develop and compile applications inside the system. For example, perhaps BareMetal OS (and a cross-compiler).
Cheers,
Brendan
You can break all OSs up into 3 categories:dromenox wrote:Could you tell me some open source operating systems that you acknowledge that meet these requirements (in order of importance)?
- Simple (do not want one like MenuetOS, I want something more like MikeOS).
- Written mostly in C
- Simple file system.
- Allows you to develop, compile and run applications inside the system.
- Command Line Interface
- Single task
- 32-Bit Protected Mode
- More complex than what you're looking for
- Too simple to support any existing tool-chain (GCC, LLVM, etc); whether it's because the OS doesn't support "flat" processes, or doesn't support for pipes, or doesn't support PE/ELF, or any other reason
- A simple OS, where the OS developer also implemented their own tool-chain from scratch.
Your best option might be to forget about the tools needed to develop and compile applications inside the system. For example, perhaps BareMetal OS (and a cross-compiler).
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Re: OS List
-
- Member
- Posts: 307
- Joined: Wed Oct 30, 2013 1:57 pm
- Libera.chat IRC: no92
- Location: Germany
- Contact:
Re: OS List
What I'd suggest for you is to decide what you want to do next (take paging as an example). First, read some documentation (Intel manual and the wiki). Then, search for a simple OS on GitHub that implements that. Now, read the code that OS uses and make sure you understand it, using the Intel manual and the wiki. After that, you should be able to write your own implementation.
But keep in mind these examples are only examples, the way they do things doesn't have to be the correct one or the one you'll use. Also, don't forget about the various code examples on the wiki.
But keep in mind these examples are only examples, the way they do things doesn't have to be the correct one or the one you'll use. Also, don't forget about the various code examples on the wiki.
Re: OS List
You can download brokenthorn tutorial demo from http://brokenthorn.com/Resources/. Mostly written in C, fat12 file system, floppy disk support and command line interface. It is not self hosting but can load programs. If this does not meets your needs you can always check OS List at http://wiki.osdev.org/Projects.