How do you intend to document your OS?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
brain
Member
Member
Posts: 234
Joined: Thu Nov 05, 2009 5:04 pm
Location: UK
Contact:

How do you intend to document your OS?

Post by brain »

...as in the subject!

Personally, with my OS i intend to actually spend some time writing a proper API guide for the driver/kernel module interface, and language reference for my modified BBC BASIC language. The API guide would doxygen based, saving me typing, but the language guide would have to be typed up laboriously by hand. Of course, i could probably find an open licensed (GFDL or such) copy of a BBC BASIC reference somewhere, and simply extend it to include my own keywords, and remove any that are unsupported.

What are your own approaches to this, and anything else that you need to document that you plan to have others extend?
User avatar
Kazinsal
Member
Member
Posts: 559
Joined: Wed Jul 13, 2011 7:38 pm
Libera.chat IRC: Kazinsal
Location: Vancouver
Contact:

Re: How do you intend to document your OS?

Post by Kazinsal »

I need to document. Badly.

Actually, no, I need to document properly.

Here's my problem: I tend to document sparsely while I'm coding because I don't expect to revise that code or reference it infrequently enough that I need more than IntelliSense telling me what function parameters are. I'm thinking of using the documentation generator included in Visual Studio, but the system is very XML-based and thus very messy looking at first glance, which could clutter up my source files.

Still, it's something I'm looking forward to implementing when I get home from Las Vegas tomorrow night.
Prochamber
Member
Member
Posts: 100
Joined: Wed Mar 13, 2013 2:27 am

Re: How do you intend to document your OS?

Post by Prochamber »

For my BASIC commands and API functions I have a plain text file that had standard fields for each item, like name, description, input parameters, output parameters and notes. I do smaller regular releases and write the documentation about the functions after implementing them. It's nothing fancy but it works. Anything more complex and I probably wouldn't have any time/enthusiasm to do it. I make sure to write about commands about implementing them or they'll never get done.

Eventually I plan to put it into HTML documentation.
TachyonOS - Violates causality on 95% of attempts. Runs at approximately 1.5c.
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: How do you intend to document your OS?

Post by AJ »

For OS Development, I always use Doxygen - mainly because it adds such little work. For application development, I tend to use C# and use the built-in XML documentation.

Cheers,
Adam
Mikemk
Member
Member
Posts: 409
Joined: Sat Oct 22, 2011 12:27 pm

Re: How do you intend to document your OS?

Post by Mikemk »

I'll find a while if i ever get to the first release.
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
User avatar
Owen
Member
Member
Posts: 1700
Joined: Fri Jun 13, 2008 3:21 pm
Location: Cambridge, United Kingdom
Contact:

Re: How do you intend to document your OS?

Post by Owen »

I'm not really doing much OS development work at the moment; I seem to have succumbed to the "curse of the C library" like Solar before me. So, I'll comment on what I'm doing for PDCLib.

Well, like good C libraries... man pages. Because I'm apparently a lunatic of the sorts rarely found outside the BSD developer communities, Man pages written directly using the apporpriate ROFF macros
User avatar
thepowersgang
Member
Member
Posts: 734
Joined: Tue Dec 25, 2007 6:03 am
Libera.chat IRC: thePowersGang
Location: Perth, Western Australia
Contact:

Re: How do you intend to document your OS?

Post by thepowersgang »

There was a period when I had pretty darn good doxygen documentation for my kernel API, but that's lower quality nowadays. But I still put basic doxygen/javadoc headers on all my functions, just they're never processed.

As for other APIs, mostly they're source documented (i.e. read the source you ning-nong)
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: How do you intend to document your OS?

Post by Combuster »

NaturalDocs user - better than doxygen for my practical needs. The documentation is built together with the nightly build run, so it stays pretty much up to date.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: How do you intend to document your OS?

Post by AJ »

Hi,

I've just had a look at NaturalDocs and it does look a nice format compared to Doxygen.

Cheers,
Adam
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: How do you intend to document your OS?

Post by dozniak »

AJ wrote:I've just had a look at NaturalDocs and it does look a nice format compared to Doxygen.
It looks promising, but there's still no full language support for C/C++. It'll have to wait, at least for me.
Learn to read.
User avatar
JackScott
Member
Member
Posts: 1032
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Mastodon: https://aus.social/@jackscottau
GitHub: https://github.com/JackScottAU
Contact:

Re: How do you intend to document your OS?

Post by JackScott »

For API documentation, I use Doxygen. I never actually bother building the documentation HTML files (though my Makefile does have an option to do so) but I have it because my IDE (Netbeans) uses the Doxygen information as hints to do code hinting and pop-up documentation.

There are all sorts of other documentation that you need for an operating system though: kernel developers documentation (only part of which is the API documentation), application developers documentation (with another set of API documentation in that), and then finally user documentation for the poor souls who eventually have to use the OS. Of course, I haven't got around to writing any of that.
Post Reply