I have such attempt completed in one hundred and half kilobytes here, so you can grasp a bit about system description after some reading.
You seem to think I have no understanding of what system description is. I do, enough that I know it means a lot of different things to different people. Anyway your example shows what you think an architecture description is. And from a brief skim reading, I see that the document is laying out the entire design of your OS, including description of advantages and disadvantages of different approaches to every aspect. Fair enough. However, I would like to point at a number of things:
- Your OS appears to be tackling a number of (what you consider - I will remain neutral on specific things) issues with OS design. My OS does not attempt to break the mould, so to speak. My OS is simply aiming to document existing approaches. As such, this cuts out most of your "The goal" section from any document I would write.
- Potential usage and business target are both, in one form or another, stated on my website. I would, however, say yours belong more be in a business plan, not an architecture document.
- Architecture - Right well now we get to something more interesting.
- Your High-level view documents are what I have planned for my Languages / Design category of reference articles. (Currently include Kernel Designs, Standard Libraries, Objects and Pointers).
- Your 100% Java section is not relevant because my actual articles should be language independent. The Standard Libraries article will cover a description of what is needed from a standard library for a basic kernel. Further, my samples will be in C# but any programmer worth their salt can translate.
- Method calls - these are generally set out by your compiler and/or language spec but I will consider adding documents to my ref articles to cover this - thank you for the suggestion.
- Data Structures - I do already have an "Objects and Pointers" article which will cover at least half of that. I will consider what the scope of the article should be and maybe add another article to cover anything I miss out.
- Memory management, Hardware Management, Task Management and Security will all be covered in currently planned or future reference articles and tutorials. (What is currently planned is dependent upon what Fling OS currently has as features).
- API Compliance is an irrelevance at my current stage. I will be laying out articles for talking about task management, EXE formats, ABIs and APIs when Fling OS gets that far.
- Technologies - Assembler and Compiler will only be mentioned briefly in my articles since they are not part of the kernel itself. I will cover bootloader, system images and debugging/testing.
- Most of the rest of your article is again specific to the issues you were trying to solve and are not exactly relevant for my project.
So there's a couple of things in there that I missed in my
initial list of reference articles available on my website so I will go and add the ones I mentioned above later.
Why do you think it is useful to hide our conversation?
I don't, I just know how long a conversation about architecture specs can get so didn't want to thoroughly pollute this forum.
But your goal is to show to others how simple an operating system can be, isn't it?
No. An OS is far from simple. My aim to is make OS development accessible and provide documentation. That is not the same thing as trying to make it simple.
complain
My statements were not complaints. They were questions. I was trying to determine what it was you meant by the very generic term that you used. As it turns out, what you meant is a lot of what I have already laid out as planned articles on my docs website.
a LOT of time.
I am well aware. I have spent 5 months getting to this stage and am now ready to start drafting and writing up fully my reference articles and initial tutorials. This I expect to take me till March next year. I have previously worked on private projects which I have documented to the nth-degree and they took a long time too.
At least there are some C# files and you can describe their purpose. And of course, it is better to show how the files fit in a high level picture of your system.
I would like to respond with the fact that C# is a classed based system. And the files are named by the class name. Each class does have its own description of what it does. The reference articles which cover overview will cover showing what files do what etc. Likewise tutorials will explain the structure of my code as an example to others.
Haha Linux? Documented? Hardly... Linux is a fully-working, optimised, production OS. It has little inline comments, very few function headers and descriptions and the code is renowned for being unreadable a lot of the time.
Code structure spec? [Mine is a] pretty obvious code/file structure given the limited amount of code there.
You've just said the same about Linux
What?! How on earth did you get the impression I used the same argument against Linux and for my OS. I said Linux was horrible. You can re-read my original paragraph for yourself. Plus their codebase is far from small or limited. I would hasten to point out that my codebase sits at a mere 308 files in 6 clearly defined projects, not linux's millions of lines. Furthermore, my code is 70% commented - 30,000 lines of code with 21,000 lines of comment (approx.). That's miles better than anything Linux has, even for just its core code. (And a lot better than any other OS I've found).
useful description then sentence like "It's a pretty obvious code/file structure" seems a bit crude
Okay I accept your point entirely. Unfortunately, unlike articles, one does not get to go back and edit/readjust/extend things days or weeks later. I agree it was a crude response, but hopefully you agree, nobody is perfect. (I could also have given you an excuse related to having been typing on my phone but I think you wouldn't take to kindly to it.)
Hopefully it is clear now that the vast majority of what you consider to be missing / undocumented is planned to be documented in my reference articles or tutorials. As for examples of my descriptive style, I have a number of articles online that you could look at to get some sort of idea (though you ought to look at my more recent ones not the ones from when I was 13/14). Check the Kickstarter project for my profile which has links to relevant sources.
I would have launched the Kickstarter project later when I had more to show, but the timing of things (my internship ending and website bills coming through) meant that I needed to raise at least some funds this side of Christmas. Furthermore, it seemed pointless to run a Kickstarter project for only a tiny amount of the funds and to then have to run a whole new one again in 12 months. The Kickstarter project will give me enough funds to keep it running for at least 3 years and generate promotional material both online and at uni which will get more developers involved.
It's a good starting point
Agreed.
but it is far from complete description. And I hope you know why (just remember Linux).
Further agreed. I have solved the primary Linux source-code problem ("no inline comments or function descriptions) since I have full inline comments for every piece of code (I have now added but not checked-in yet (due to my own form of review process) comments for all the USB related files). And as already stated I have full XML doc comments. Further to this, as I write my articles, I will also go back and extend the comments to include references to sections of my articles that are relevant, thus further enhancing the usefulness of both the inline and article forms of documentation.
but I hope you understand the amount of work to be done and will not end with some tricks to hide the missing description within a lot of words like "Sorry but what exactly have I promised?".
I do understand the enormity of the task I am undertaking. However, I dislike you calling my sentence a "trick". My "sentence" was in fact a direct question - I requested from you precise examples of what you thought I was missing (some of which you have now provided).
I've expected to find an architecture description, but even promised articles are missed
You call my sentences "tricks". Well, I would suggest in future that when you hand down criticism of others (especially in slighting, one-line sentences such as yours) that you expand your criticism to something useful and constructive rather than just plain rude and derogatory.
Anyway, thank you very much for your continued discussion of this. You have brought up a couple of useful things to add to my list of articles. Cheers,
Ed