How to keep from crashing?

The only computer I have available to me right now is an HP laptop, definitely not optimized for 3D modeling, animation, and rendering. I can generally get my scenes set up well enough, but when I try to render anything that’s too complex, Blender crashes. Usually it’s because my sub-surf is up too high or my materials are too complicated. Or there’s just too much information involved. Needless to say, this isn’t helping my learning curve and is really putting a damper on some of my projects.

The real problem is that I don’t fully understand the rendering process in Blender. I don’t really know what each of the “passes” does or if there’s a way to break down a render in pieces that my computer can handle better. Does anyone know of any good tutorials on this? Also, any advice or explanation on Blender’s renderer?

I know it’s inconvenient to try another OS for one piece of software but…
Whenever I have problems with Blender rendering a scene because it’s too big, I just boot up into Ubuntu Linux and render it there and it’ll work.

I’m not too familiar with Ubuntu Linux… Anywhere I can find a crash course?

And in the meantime, any other hints and tricks to help with rendering and prevent crashes?