Not difficult -- essentially you just partition it like this:
0-20GB: FAT32
20-39GB: ext2
Of course, you'll want to have some room left to have a Linux swap partition, so keep that in mind.
If you already have windows installed, you'll have to use something like Partition Magic to shrink down the existing partition to 20GB. Linux installs typically let you partition your hard drive during OS installation (or it can use existing partitions, of course). Windows gives you much less control and will use up all the space it can usually.
After you get Linux installed, you'll want to use LILO (LInux LOader) to boot Linux and Windows. You can install it to the MBR.