i need a c program for page allocation algorithm in operation system. its a simulation of what happens in the cpu.

Back around the time of the 80286 design (when if you wanted windows you would have been referred to a carpenter) in the commercial "Our cpu has more <whatever> than yours" littleness that goes on, intel went to 20 address lines. But they only had 16 bit registers. This was sad and stupid. So they invented 4 bit paging or segmentation registers. Your ram addresses then had the paging register as the top 4 bits and the 16 other bits were the data register. Ram appeared on certain pages, not others (hence memory mapping, etc.)
/end history lesson

So when you address the ram on a page that doesn't exist, you got a segmentation fault. In fact, now it means a memory error. The program crashed, or your ram is buggy. Eliminate the letter with memtest86, and then email the maintainer.

I would grep exp.tcl for that word highestAntennaZ_ . From there it sorts things and crashes. Google has plenty on this: