how can i allocate more ram then i have?

char *str;

if ( ( str = (char *) malloc(100000000) ) == NULL)
{
printf( "Not enough memory to allocate buffer\n");
exit(1);
}
printf( "String was allocated!\n" );


100000000b/1024b*2=95Mb >> Sting allocated!!
but i have only 64Mb

virtual memeory??