flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2 |
Author |
|
Dex4u 19 May 2011, 16:53
cypher wrote:
First off we lean by copying, (not cut & pasting ), example how did we all learn to write our names ?. In most cases someone written our name and we copy it over and over again. The most import thing is that you understand how the code works. Next most if not all OS use a bootloader from out side there project, eg: linux and grubs etc. And all coders need to look stuff up, that will never stop its just the way coding is. |
|||
![]() |
|
cypher 26 May 2011, 06:25
this is a lil' verbose but please bear with me
How should I begin? The following is completely opinionated I have already began coding, however, I decided to pause. I realized that most of the beginner's documents and post (on FASM) that I've read all say the same thing: design first! Now, this is a problem; as bitshifter said above. Why design when I don't know much about operating systems? Lately, I read some articles and I realized that most of these people do all most the same thing when making an OS: 1. Case studies on other operating system to see the pros & cons that they should apply and avoid (respectively). 2. They gather information about operating systems, processor, etc. before beginning. 3. Design. They take time to design all the high-level things that they need for their OS. For example, the processor architecture, system requirements, what should the OS do, protected-mode or real-mode, etc. Also, they begin to write design documents and project documents. (I once read that documentation is very important). These design documents extract all ambiguity of what you want for the OS. The design phase somewhat extensive. I realize that this phase is very paramount as the first design does set foundation for later versions. By bypassing design, it could be detrimental for you to redesign the entire system. Do I need to do an large design document for the OS for such a small project? 4. Implemenation. Coding begins here. The most difficult part, IMO. I notice that programmer set a roadmap so that they can see some progress. 5. Documentation. This seems to be very difficult to find material to write about, and the main focus seems to be the the kernel as it is a complex piece of software. This also means user documentation which should be user friendly. Now this question doesn't refer to this context, nevertheless, which is better to document the project with, a word processor or a text editor? All documents for documentation are: design, technical, user manuals. Is it a good idea to spend time writing a professional document a small project such as this? The project will expand. What are the steps that you guys take? Planing the Project Code: Keys: [ = ½ month ] = ½ month months 1 2 3 4 5 6 7 8 9 10 11 12 ------------------------------ Write project document |[ Initial design of system |[][ Setup working environment | [ Build bootloader | [ 'Hello World' kernel | [ Setup keyboard driver | [ Prototype text output | [ Setup VESA and graphic routines | [][ Enter Protected-Mode | [] Design CLI shell | [][ Test system | [ Write technical manual | [] Write user manual | [ Official release of version 1.0 | [ Soak in ambition | [][][][][][][] ------------------------------ Is time allocated to each part enough to finish in ~8 months? |
|||
![]() |
|
Dex4u 26 May 2011, 15:39
First you need to know what is your OS going to before, with that info you can start to design your OS.
But its hard to design a OS if you have little knowledge of how a OS works. So the way i did it, was to make lots of bootable demos eg: floppy, hdd, vesa, atapi etc. Before stating the OS, this way i new about these things and when it came to coding my OS i had most of the building blocks. If you just want to make a OS to learn its best to join a project. My aim when i started was to make a modem dos, same access to hardware, but better graphics and more memory. This was before windows xp and a easy to use linux, if i was starting new today i would code for ARM. Last edited by Dex4u on 26 May 2011, 19:41; edited 1 time in total |
|||
![]() |
|
xvedejas 26 May 2011, 17:24
My advice to anyone who hasn't already been working on an OS for two years or more, join another project. You'll learn faster, have help, and you'd probably be surprised how much input you'd probably have; many hobby OS projects would love to have another developer. And there are a LOT to choose from.
_________________ Valix is an experiment in an interpreted userspace with object-oriented and functional design patterns. Developers needed! Join #valix on irc.freenode.net |
|||
![]() |
|
cypher 27 May 2011, 22:05
> Dex4u: If you just want to make a OS to learn its best to join a project.
The aim is not to necessarily learn, however, its to dev. an OS which I've always wanted to do. But learning is also in the process. ---- > Dex4u: So the way i did it, was to make lots of bootable demos > eg: floppy, hdd, vesa, atapi etc. > Before stating the OS, this way i new about these things and when it came to coding my OS i had most of the building blocks. Great idea. How long was it before you started. And you've been working on DexOS since '01, or so? Wow, long time for OS dev. Also, ARM would be much faster. ---- > xvedejas:...join another project. You'll learn faster, have help... Could you give some projects? What about your project? |
|||
![]() |
|
Dex4u 28 May 2011, 16:33
cypher wrote:
About 2003, but i tryed pascal and C OS dev first, if you want to see some of the demos theres some on Cotys site http://archive.asm4u.net/Dex4u/ |
|||
![]() |
|
cypher 29 May 2011, 21:46
Thanks man
Those demos will come in handy brb _________________ When all in life fails, get weird and disappear into the mountains |
|||
![]() |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.