flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Honor In Programming

Author
Thread Post new topic Reply to topic
DarkValkyrie



Joined: 28 Jun 2008
Posts: 1
DarkValkyrie 28 Jun 2008, 03:30
Let me start of by stating a few of my origninal philosophys in my OS.

I was NOT going to use a prefab boot loader. I made my own.
I was NOT going to cheat with bios interupts when working in 32-bit mode
I was going to make my own compiler/assembler for my os.
ect.

The first two have been held onto so far.
The problem is with the third. I have made an assembler and a compiler. But they both suck.

My question is this.

Is there really any dishonor(for lack of a better word) in using existing assemblers(fasm) and compilers(gcc) to build my OS?

And is there any real advantage in having my own progamming tools?
Post 28 Jun 2008, 03:30
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4050
Location: vpcmpistri
bitRAKE 28 Jun 2008, 04:58
New tools are great if they add something which wasn't there before. Opening up your OS to the body of existing FASM code seems like a good idea.

It all depends on what your goal is, imho.

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 28 Jun 2008, 04:58
View user's profile Send private message Visit poster's website Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 314
Mac2004 28 Jun 2008, 07:52
Personally I think that using Fasm is good idea (and honorable too).
Creating an OS which does more than says "hello world!" after boot up is a huge task.
I would concentrate on the OS itself and use Fasm.

regards,
Mac2004
Post 28 Jun 2008, 07:52
View user's profile Send private message Reply with quote
TNick



Joined: 29 Jan 2008
Posts: 13
Location: Brasov, Romania
TNick 28 Jun 2008, 10:43
Hi!

I don't think that you ... ask the right question. IMHO, the most important result is knowledge that you gain by writing your own OS, your own assembler, .... Honor has nothing to do with this. And if your OS is build using your own assembler, or FASM, or NASM, or gcc or whatever, is irrelevant.

Nick
Post 28 Jun 2008, 10:43
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4347
Location: Now
edfed 28 Jun 2008, 11:24
is it really an OS construction topic?
i don't know why, but i feel it is more a heap topic...
Post 28 Jun 2008, 11:24
View user's profile Send private message Visit poster's website Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 314
Mac2004 29 Jun 2008, 06:52
edfed wrote:
is it really an OS construction topic?
i don't know why, but i feel it is more a heap topic...


Agreed, The topic should be moved to heap, where the discussion can continue... Smile

regards,
Mac2004
Post 29 Jun 2008, 06:52
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 30 Jun 2008, 20:56
DarkValkyrie wrote:

Is there really any dishonor(for lack of a better word) in using existing assemblers(fasm) and compilers(gcc) to build my OS?

And is there any real advantage in having my own progamming tools?


Mac OS X, GNU/Linux, and all the BSDs use GCC, so no, I don't think that's a bad idea. (Besides, it's robust and ported to a billion architectures.) Menuet32 (and Kolibri) and Menuet64 and BOS use FASM. Various others (e.g. MikeOS) use NASM. Why not? They're robust, stable, easy to use, well-documented and have friendly licenses. (BTW, I think Visopsys also uses GCC. And FreeDOS uses OpenWatcom plus NASM although it also compiles with Turbo C).

Advantages to writing your own? Dunno, what do you need / want? Octavio's OctaOS uses Octasm, but he also ported FASM. Wink His assembler is custom-made to his style of programming (e.g. multiple instructions on a line).

As has been said before, don't waste your time reinventing the wheel (unless you really really really want to). Focus on your main goals, not on the less-important means of how you get there.
Post 30 Jun 2008, 20:56
View user's profile Send private message Visit poster's website Reply with quote
m



Joined: 28 Dec 2006
Posts: 304
Location: in
m 08 Jul 2008, 12:49
isn't then developing the OS itself a reinvention of the wheel ?

simple point to remember, if you wanted to do this for learning the stuff, you should do it, and forget the wheel Wink

is it really required that you have to write a new OS to understand it?
you can understand some existing one and try to improve that instead?
Post 08 Jul 2008, 12:49
View user's profile Send private message Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias 08 Jul 2008, 14:39
m wrote:

is it really required that you have to write a new OS to understand it?
you can understand some existing one and try to improve that instead?

here's the quote
’Perfection is not achieved when there is nothing left
to add, but when there is nothing left to take away.’
– Antoine de Saint-Exup´ery

Maybe these two links will assist in answering these questions:
http://www.freebyte.com/operatingsystems/

http://www.freebsd.org/docs/books.html

Bogdan, writing about his Sol operating system explained:
"But I do consider that everyone has the right to test and make his own mistakes... because apparently that's the only way we learn."

Smile

_________________
I don't know if there are men on the moon, but if there are they must be using the earth as their lunatic asylum.--George Bernard Shaw
Post 08 Jul 2008, 14:39
View user's profile Send private message Reply with quote
asmcoder



Joined: 02 Jun 2008
Posts: 784
asmcoder 06 Aug 2008, 12:31
[content deleted]


Last edited by asmcoder on 14 Aug 2009, 14:56; edited 1 time in total
Post 06 Aug 2008, 12:31
View user's profile Send private message Reply with quote
kandamun



Joined: 20 Jul 2005
Posts: 25
kandamun 03 Sep 2008, 17:55
asmcoder !?! You use mnemonics !?!?!?
You don't know instruction encodings by heart and you don't type them in binary !?!?! Shame on you! How dare you call yourself a coder?
Post 03 Sep 2008, 17:55
View user's profile Send private message ICQ Number Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville 04 Sep 2008, 05:12
DarkValkyrie wrote:
Quote:
I was NOT going to use a prefab boot loader.

I agree. You can set up a lot of stuff even in 512 bytes, just to make your OS truly unique ...

Quote:
I was NOT going to cheat with bios interupts when working in 32-bit mode

Is this possible in PMode? Can you run 16-bit interrupt routines in 32-bit PMode? If yes, I'm glad because I will definitely do it if I have to. At first I thought it would be good to write EVERY piece of code myself for my OS (FAMOS), but now I realise that is not practical. Life is too short Sad

Quote:
I was going to make my own compiler/assembler for my OS.

I think on OS reaches an important milestone when you can continue to develop the OS using only the OS itself. So yes, I think every OS should aspire to have a compiler/assembler or complete IDE available. But now I think if you can adapt somebody else's code, that's OK. I intend to port FASM to FAMOS, and I have already done some work on this. But FASM will look quite different in FAMOS, and it will be interfaced to my IDE which I will probably write from scratch.

Why do we write OS's? We probably all have different reasons. Maybe just because its a challenge, or because we want programming experience, or because we are control freaks! Evil or Very Mad In my case I want to try to prove the concept of a MEMORY operating system, which is fully independent of mass storage technologies (unlike DISK operating systems).

IMHO "serious" OS's must be written in assembler, so that cuts out a few well-known ones Wink

_________________
FAMOS - the first memory operating system
Post 04 Sep 2008, 05:12
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 04 Sep 2008, 09:15
Quote:
I was NOT going to use a prefab boot loader. I made my own.

eg. you have little functionality and probably don't support dual boot

Quote:
I was NOT going to cheat with bios interupts when working in 32-bit mode

eg. you won't be able to support power-management, etc.

Quote:
Is there really any dishonor(for lack of a better word) in using existing assemblers(fasm) and compilers(gcc) to build my OS?

if you take the project seriously, it is much more dishonor to write your own tools. Existing compilers have years of development by many people in them, you can never match that.

Writing custom compiler is nice as excercise, though.
Post 04 Sep 2008, 09:15
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.