Most DOS extenders come with some interface to DOS services. Read their docs
about that, but often, they just simulate int 0x21
and
such, so you do "as if" you are in real mode (I doubt they have more than stubs
and extend things to work with 32-bit operands; they most likely will just
reflect the interrupt into the real-mode or vm86 handler).
Docs about DPMI (and much more) can be found on http://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface).
DJGPP comes with its own (limited) glibc derivative/subset/replacement, too.
It is possible to cross-compile from Linux to DOS, see the
devel/msdos/
directory of your local FTP mirror for
metalab.unc.edu; Also see the MOSS DOS-extender from the
Flux project
from the university of Utah.
Other documents and FAQs are more DOS-centered; we do not recommend DOS development.
Windows and Co. This document is not about Windows programming, you can find lots of documents about it everywhere... The thing you should know is that there is the cygwin32.dll library, for GNU programs to run on Win32 platform; thus, you can use GCC, GAS, all the GNU tools, and many other Unix applications.