Enquiry
Re:Enquiry
Hm, i think everyone appreciates your enthusiasm, but it is really near impossible to code an os without prior programming experience.
Even most people that i see here that do have programming experience but just not enough of it or the false kind (pure hobbyist application programmers), tend to fail.
That includes myself, at an earlyer state of my "career".
It may be possible to copy and even roughly understand code from some tutorials but.. what if something does not work as it should and you have to debug it?
or what if you have to actually write something yourself?
This is not an attempt to keep you from osdeving or to scare you away, but you really should get deep into programming in at least c and some pieces of assembler first.
I think if you really have no programming experience and manage to write an os learning "on the fly" and directly implementing it, using less then 10% copy and pasted code you must not only be one of the most genious persons in history but also one of the most lucky ones.
Still, i have some suggestions to start:
1. The FAQ: mega-tokyo.com/osfaq2
2. Bona Fide osdever.net (especially "Bran's Kernel Dev tutorial"!!! It explains everything from booting, to printing text, to descriptor tables and interrupts and finishes with example implementations for two hardware interrupt handlers)
3. The Intel System Programmers manual, as a reference (you can find it, among other places, at bonafide)
Anyway, best wishes!
Even most people that i see here that do have programming experience but just not enough of it or the false kind (pure hobbyist application programmers), tend to fail.
That includes myself, at an earlyer state of my "career".
It may be possible to copy and even roughly understand code from some tutorials but.. what if something does not work as it should and you have to debug it?
or what if you have to actually write something yourself?
This is not an attempt to keep you from osdeving or to scare you away, but you really should get deep into programming in at least c and some pieces of assembler first.
I think if you really have no programming experience and manage to write an os learning "on the fly" and directly implementing it, using less then 10% copy and pasted code you must not only be one of the most genious persons in history but also one of the most lucky ones.
Still, i have some suggestions to start:
1. The FAQ: mega-tokyo.com/osfaq2
2. Bona Fide osdever.net (especially "Bran's Kernel Dev tutorial"!!! It explains everything from booting, to printing text, to descriptor tables and interrupts and finishes with example implementations for two hardware interrupt handlers)
3. The Intel System Programmers manual, as a reference (you can find it, among other places, at bonafide)
Anyway, best wishes!
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Enquiry
I don't think anyone here underestimate you, we're just warning you you are underestimating osdeving ... When you'll have read half of the CPU manual, apprehended how complex a filesystem like ReiserFS can be and why it's so hard to make it more efficient without making more complex, maybe you'll grasp too at the amount of specifications (called the RFCs) you'll have go through before you can come with an OS that can ping a machine you've just typed the IP address of.Kolusion wrote: Anyway, for the rest of you who under estimated me, ...
I learnt all this from nothing in 4 hours.
I do beleive you can have a more than basic secure operating system, I just beleive most programmers get it working and move on to the next element without thoror checks.
Software developers don't do horror-checking ? guess why ... they're not given the time to. period.
To your knowledge, most of us are between 15 and 35 y.o. We've been like you. We've been disgusted, horrified, we went through debug sessions darker than the nights, programming frenzy, etc.
And we're still there.
Seeing words "HTML", "programming" and "OS" put altogether in the same post ... remembering our own "days of innocence".
-
- Member
- Posts: 1600
- Joined: Wed Oct 18, 2006 11:59 am
- Location: Vienna/Austria
- Contact:
Re:Enquiry
*chuckle*
@kolusion: Well - look at me f. ex. I've been a fully educated and trained programmer and developer ere I 've dared to attempt an OS. And look, it goes way better than it would have been without all the training for basic stuff - Still looots of stuff to learn but at least one knows the languages, knows where to look and HOW to look...
Well, you get the idea. It's engineering stuff.
@Pype: Salut! Ca gaze?
@kolusion: Well - look at me f. ex. I've been a fully educated and trained programmer and developer ere I 've dared to attempt an OS. And look, it goes way better than it would have been without all the training for basic stuff - Still looots of stuff to learn but at least one knows the languages, knows where to look and HOW to look...
Well, you get the idea. It's engineering stuff.
@Pype: Salut! Ca gaze?
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
BlueillusionOS iso image
Re:Enquiry
"Apprehended"? I think you mean "comprehended"?Pype.Clicker wrote:When you'll have read half of the CPU manual, apprehended how complex a filesystem like ReiserFS can be

Apprehended: To take into custody; arrest: apprehended the murderer.
Comprehended: To take in the meaning, nature, or importance of; grasp
It is possible to use HTML in an OS, Firefox uses it as the basis of it's user interface (XUL but close enough), not to mention large volumes of javascript. It is entirely possible to build an integrated HTML & javascript based OS if you wanted to...Seeing words "HTML", "programming" and "OS" put altogether in the same post ... remembering our own "days of innocence".

- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Enquiry
@A.R.
http://www.answers.com/apprehend&r=67
i was rather referring at meaning #2 :
http://www.answers.com/apprehend&r=67
i was rather referring at meaning #2 :
oh, and about HTML (isn't XUL "XML" based instead ?), OS and stuff, i guess you know what i meant quite well, so i'll just assume you're in a like-playing-with-words today mood, ain't youTo grasp mentally; understand: "a candidate who apprehends the significance of geopolitical issues".

Re:Enquiry
Side-note:
Intresting idea just sprung from what you said... An XML compiler (compiles xml documents, not a compiler written in xml, lol). For instance, loops could be represented thus:
(typing this up as I think of it, so no real chance to plan out, hence variables in the print statement are enclosed in square brackets)
Must... not... attempt...
Intresting idea just sprung from what you said... An XML compiler (compiles xml documents, not a compiler written in xml, lol). For instance, loops could be represented thus:
Code: Select all
<loop counter="i" start="0" condition="i < 10" postLoop="i++">
<print>i = [i]</print>
</loop>
Must... not... attempt...
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Enquiry
XML-frenzy stroke again. Questions areKemp wrote: An XML compiler (compiles xml documents, not a compiler written in xml, lol).
1. would it make it easier to produce/optimize code out of XML rather than out of plain text ? my guess would be "no"
2. would it be easier to write good and less bug-prone software using XML ? my guess would be "certainly not"
3. Don't the source code end up to become a tree once parsed, much like XML becomes ? my guess would be "ever heard of LISP ?"
Re:Enquiry
Heh, it was just one of those spur-of-the-moment ideas that mainly came to me because I hadn't heard of it being done before (for good reasons, I know). I'll stick it in the "interesting idea if I ever have way too much free time on my hands" pile, along with learning ancient egyptian and sorting through my spare hardware pile 
<rant>
It may not seem like it, but I am personally really annoyed with XML hype. People going on about how it's the next step in computing that will revolutionise everything we do bringing us immense increases in productivity and blah blah blah. It's a way of storing information, nothing more nothing less. Sure it lets programs share data in a standard format, but I have yet to see any real useful application of it outside of SVG graphics.
</rant>
And now, back to the regularly scheduled programme...

<rant>
It may not seem like it, but I am personally really annoyed with XML hype. People going on about how it's the next step in computing that will revolutionise everything we do bringing us immense increases in productivity and blah blah blah. It's a way of storing information, nothing more nothing less. Sure it lets programs share data in a standard format, but I have yet to see any real useful application of it outside of SVG graphics.
</rant>
And now, back to the regularly scheduled programme...
-
- Member
- Posts: 1600
- Joined: Wed Oct 18, 2006 11:59 am
- Location: Vienna/Austria
- Contact:
Re:Enquiry
I'm using xml to parse configuration for system, services & applications. Even the launcher (a gui app) gets its menu entries from an xml file. *gg* Nothing stored in the binary anymore, everything is plain text.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
BlueillusionOS iso image
Re:Enquiry
There we go, that's what's it's designed for
Information storage in a convenient way. I'm debating whether to use it in my system, or whether to have a format based on windows ini files (though not exactly the same). I guess it'll come down to if I need information more than a couple of layers deep.

Re:Enquiry
XML is a good, and meanwhile "standard", way of storing and handling hierarchical data in a way agnostic to how it's being displayed. Just like CSV is a "standard" way of storing "flat" data, PNG for lossless graphics, JPEG for photos, ELF for binaries...
Sure there are others, and they have their advantages, but you should have a good reason for using them instead of the "standard".
<rant>
The rest is hyperactive managers getting excited and consultants selling them what they think they need (without asking the techies first, as usual).
Funny that I had to force my business department into accepting XML as input format for a certain application I wrote once. They insisted on CSV as input, despite it being structured data several hierachies deep... because all they knew was CSV. Today, all managers know is "XML", so everything has to be.
Why oh why did we (meaning, us techies) allow those suit / business types to become our "managers" when it's so blatantly obvious that they are devoid of any degree of understanding, and basically burn billions of funds for which "the IT" is then blamed of wasting?
Sheesh...
</rant>
...*pant*... ...*pant*...
I think I'll go home now.
Sure there are others, and they have their advantages, but you should have a good reason for using them instead of the "standard".
<rant>
The rest is hyperactive managers getting excited and consultants selling them what they think they need (without asking the techies first, as usual).
Funny that I had to force my business department into accepting XML as input format for a certain application I wrote once. They insisted on CSV as input, despite it being structured data several hierachies deep... because all they knew was CSV. Today, all managers know is "XML", so everything has to be.
Why oh why did we (meaning, us techies) allow those suit / business types to become our "managers" when it's so blatantly obvious that they are devoid of any degree of understanding, and basically burn billions of funds for which "the IT" is then blamed of wasting?
Sheesh...
</rant>
...*pant*... ...*pant*...
I think I'll go home now.

Every good solution is obvious once you've found it.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Enquiry
hmm ... i certainly prefer patching an XML-based config file than an ASN.1 one ... about wheter i prefer the one or the other for contacting a web service ... dunno.
Re:Enquiry
Ever heard about the 'Water' programming language/platform? It looked quite like thisKemp wrote: Side-note:
Intresting idea just sprung from what you said... An XML compiler (compiles xml documents, not a compiler written in xml, lol). For instance, loops could be represented thus:
Code: Select all
<loop counter="i" start="0" condition="i < 10" postLoop="i++"> <print>i = [i]</print> </loop>

cheers Joe
Re:Enquiry
Thank you for your replies.
First off, when I say I programmed an O/S, I was being technical...
It may be like 200 bytes, but HEY, it works, it does load, and these are the elements of an operating system.
I studyied parameters from many sources on the internet, and from little knowledge, I learnt more, example
19h, I think this indicates for system reboot, I played around with other numeric values, and found they do other things, very basic of course, but I am understand how it all works.
Techniclly, it is simple. Its all logic! It is just a huge job to program.
Here is the source, its nothing special, but it works.
#make_boot#
org 7c00h
lea si, msg
mov ah, 0eh
print: mov al, [si]
cmp al, 0
jz done
int 10h
inc si
jmp print
done: mov ah, 0
int 16h
jmp 0ffffh:0000h
new_line equ 13, 10
msg db 'Welcome to the operating system.'
db new_line,
db new_line,
db new_line,
db new_line, 'This operating system was programmed by Kolusion on the 5th of September 2005, at 11:22 AM.'
db new_line,
db new_line, 'This operating system has surved its purpose.'
db new_line,
db new_line, 'Press any key to reboot this computer.', 0
The purpose was for me to observe my operating system successfully load, that is all.
I needed to start some where.
From looking and running other peoples codes, I found there was much data that was not neccessary to be there. I found this inefficient and learnt I did not have to have it in mine.
There was no cut & copy from other sources. This was all typed manually. I did learn alot from other sources, but I don't feel any pride from copying others.
Living a lie sucks!
First off, when I say I programmed an O/S, I was being technical...
It may be like 200 bytes, but HEY, it works, it does load, and these are the elements of an operating system.
I studyied parameters from many sources on the internet, and from little knowledge, I learnt more, example
19h, I think this indicates for system reboot, I played around with other numeric values, and found they do other things, very basic of course, but I am understand how it all works.
Techniclly, it is simple. Its all logic! It is just a huge job to program.
Here is the source, its nothing special, but it works.
#make_boot#
org 7c00h
lea si, msg
mov ah, 0eh
print: mov al, [si]
cmp al, 0
jz done
int 10h
inc si
jmp print
done: mov ah, 0
int 16h
jmp 0ffffh:0000h
new_line equ 13, 10
msg db 'Welcome to the operating system.'
db new_line,
db new_line,
db new_line,
db new_line, 'This operating system was programmed by Kolusion on the 5th of September 2005, at 11:22 AM.'
db new_line,
db new_line, 'This operating system has surved its purpose.'
db new_line,
db new_line, 'Press any key to reboot this computer.', 0
The purpose was for me to observe my operating system successfully load, that is all.
I needed to start some where.
From looking and running other peoples codes, I found there was much data that was not neccessary to be there. I found this inefficient and learnt I did not have to have it in mine.
There was no cut & copy from other sources. This was all typed manually. I did learn alot from other sources, but I don't feel any pride from copying others.
Living a lie sucks!
Re:Enquiry
Sorry to burst your bubble, but that doesn't constitute an OS. It is a simple hello world program that could run under any real mode environment (as long as it was loaded at the correct address). Also, jumping to an address up high in ram doesn't constitute a reset mechanism that is robust or reliable in any way. You are jumping to the address the cpu starts at after a hard reset, and it will only work by coincedence as long as you are in real mode with no extras and none of the important registers changed.
Edit:
Yes, any loader will work under almost any real-mode environment, I know
Edit:
Yes, any loader will work under almost any real-mode environment, I know
