![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#11 |
|
Caffeinated Neural Net
![]() Join Date: Jun 2005
Location: Dry west coast of Canada
Posts: 1,054
Rep Power: 5
![]() |
If you're really serious about this, stevenup7002, then I suggest you grab the source for one of the OSs out there for which the source is freely available. If you do some searching on the net, you'll probably be able to find a relatively simple OS (when compared to things like Windows and Linux). A quick search turned up this (I didn't download the sources, but then, I'm not trying to write an OS). If you can't make sense of it, you're not ready to write an OS.
If you are still wanting to write an OS, you'll need to know assembly. OS development is one of the areas where a knowledge of assembly is still necessary. You'll also need to learn the APIs for Windows, Linux, and MacOS if you intend to emulate them. For MacOS, you'll be doing more than emulating another OS; you'll need to emulate the Mac hardware as well (most specifically, the CPU, though there will be other elements as well). I hope you understand now why some of us made fun of you. Writing an OS is not a trivial undertaking. You're not the first to post some bold thread about writing an OS, and the other people who did so got mocked, too. If you want to avoid that, write a bunch of the code, get it mostly working, and then show it to us.
__________________
And once again, Probability proves itself willing to sneak into a back alley and service Drama as would a copper-piece harlot. - Vaarsuvius, Order of the Stick |
|
|
|
|
|
#12 |
|
Programmer
Join Date: Dec 2005
Posts: 65
Rep Power: 3
![]() |
This is a little off topic, but I recently read about an interesting OS written by one guy that has full graphical support. He wrote it completely in assembly, and claims that was the only language that would allow him to write such a system and still fit on a 1.44MB floopy disk :eek:
http://en.wikipedia.org/wiki/MenuetOS http://www.menuetos.net/screens.html Relevant to the topic or not, I thought you guys might find it as interesting as I did. ![]() |
|
|
|
|
|
#13 |
|
Programming Guru
![]() Join Date: Jun 2005
Location: elemental plane
Posts: 1,429
Rep Power: 5
![]() |
Yup Menuet OS is nice and Solar OS is also.
__________________
"Employ your time in improving yourself by other men's writings, so that you shall gain easily what others have labored hard for." -- Socrates |
|
|
|
|
|
#14 | |
|
Programmer
Join Date: Dec 2005
Posts: 65
Rep Power: 3
![]() |
Quote:
![]() |
|
|
|
|
|
|
#15 |
|
Hobbyist Programmer
|
Minix is a good one to look at source code. It is done entirely in C as well.
http://www.minix3.org/doc/AppendixB.html <---- sorce
__________________
When will Jesus bring the porkchops? |
|
|
|
|
|
#16 |
|
Hobbyist Programmer
|
Could you please explain to me how exactly you're going to get Mac programs (which are all primarily PPC architectures right now,) Linux programs (which encompass a wide variety of formats and architectures), and Windows (PE files are primarily for x86 but Alpha ones exist as well,) to work together harmoniously. You're at least going to be narrowing out Windows files or Mac files - because the two just are't compatable (PPC and x86, Linux can go both ways.) THEN of course even if you did manage to work that shit out, you'd have to have some type of light abstraction (or heavy emulation) layer to make that kind of shit work on architectures in which they weren't originally compiled.
Let's also completely ignore the fact that, if you want this programs to work natively, you will have to somehow work out all the dynamic and static linking methods associated with all the programs. This means that your applications you want to work on the OS will have to have their own subsystems (such as how Windows has Win32 and POSIX subsystems) or something related in order to get each application to work well, because a linux ELF probably won't work on Windows or your OS unless you have the libraries to support it, you also, have to make sure these things don't clash. And finally, if you're going to make an 'operating system which never crashes,' I assume you will be going for either: * A Microkernel * No loadable drivers (the bane of all stability when coming to kernels of any variety.) Both have their problems - no drivers means basically no hardware support, and a Microkernel these days is WAY too slow because the drivers have to continuously communicate inbetween process spaces whenever they're called (which is about every time a process does something in a lot of systems.) Added onto that, the thought of a Microkernel is almost inherently flawed anyway. The general theory is that drivers and the kernel are loaded into two seperate spaces, so if a driver crashes then the kernel still stands and the system stays up as long as the kernel is stable. That is a good idea, but in reality, what if the driver that falls over like a bitch is your file system driver or the driver that might handle process and thread scheduling? It's pretty unlikely your operating system will be able to fully recover from something like that, so the kernel will have to deal with it, and it will probably be delt with via reboot. And if you go for a monolithic kernel (a la NT or Linux), well, the thought of never crashing is silly. |
|
|
|
|
|
#17 |
|
Programming Guru
![]() Join Date: Jun 2005
Location: elemental plane
Posts: 1,429
Rep Power: 5
![]() |
Given the power of computers nowadays, microkernels can be a good choice. Although some would argue that the overhead would be coming from the lowest level, which wouldn't be nice.
@OP: There are hundreds of open source OS's out there, take a look at a few and see what their goals are. There are some even on sourceforge, with pretty good ideas.
__________________
"Employ your time in improving yourself by other men's writings, so that you shall gain easily what others have labored hard for." -- Socrates |
|
|
|
|
|
#18 |
|
Newbie
Join Date: Aug 2005
Posts: 17
Rep Power: 0
![]() |
Just to set everything straight, I've already done the assembler portion, Grubed it, writen a few drivers. a basic core has been done.
|
|
|
|
|
|
#19 | |
|
Hobbyist Programmer
|
Quote:
An interesting modus operandi to solve the Kernel Driver conundrum actually, is the thought of "No kernel" systems. Definately cool. Check out the TUNES project or Unununium. I can't really comment on Exokernels. |
|
|
|
|
|
|
#20 |
|
Hobbyist Programmer
Join Date: Apr 2005
Posts: 218
Rep Power: 4
![]() |
Hey. Being serious now, Ill rewrite your website because im bored and have finished all my projects for this year. PM me or post on this forum if you want it doing or not.
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|