That will depend a lot on what distribution you're using.
In Slackware it's the scripts in /etc/rc.d (most are spawned by the rc.S, rc.M scripts)
SuSE and Debian use SysV init scripts which are links in a runlevel directory to (/etc/init.d) spawned from the links in the rc.S directory upon startup. You best bet is to have a look at /etc/init.d/README.
These methods give a much more fine-grained control of the sequence of starting/stopping services when changing runlevels. It's a pretty complex system but quite logical once you know how it works.
So if you have a more specific question about how to start an application or service this is probably the time and place to ask.