lab === step 1 ▶ open two linux terminal windows Find the terminal icon in the accessories pulldown and click on it. You may have to right-click the icon for the second terminal window. step 2 ▶ copy the .pl files to your ~/bin directory If you don't have a ~/bin directory, use mkdir bin in your ~ (home) directory. Use emacs to copy the files (see Dr. Shred). You can also use cp filepath directory where cp is the linux command for copy. step 3 ▶ change the permissions on the .pl files They should be executable. First type cd bin to make the bin directory your current directory. Type sudo chmod +x dr_shred_up.pl sudo chmod +x dr_shred_mem.pl The sudo command allows you to issue commands with root privilege. step 4 ▶ create the interprocesse communication fifos You will run two perl programs at the same time which requires a linux object known as a "fifo" or first-in, first-out queue. A queue has the common meaning of a set of objects grouped in a particular order, like a line at a movie theater. In this case the objects are the data sent between the two perl processes. To create the fifos, type the followin a the linux prompt: mkfifo mem_ad.ffo mkfifo mem_da.ffo mkfifo mem_rw.ffo mkfifo fifo_name step 5 ▶ test the fifos c_1 > c_2 - writes the standard output of c_1 to the standard input of c_2. If c_2 is a file or a fifo, the standard output of c_1 is written the file or fifo. c_1 < c_2 - writes the standard output of c_2 to the standard input of c_1. If c_2 is a file or a fifo, the data from the file or fifo is read and directed to the standard input of c_1. echo string - writes string to the standard output cat - prints its the standard input In one of the terminal windows type echo "1011111" > mem_ad.ffo This writes to the fifo, assuming the bin directory is the current directory and cat < mem_ad.ffo in the second terminal window. This reads from the fifo step 6 ▶ run the perl processes In one of the terminal windows type ./dr_shred_up.pl assuming the bin directory is the current directory and ./dr_shred_mem.pl in the second terminal window. step 7 ▶ observe the results You should see dr_shred_up.pl sending to dr_shred_mem.pl "1" to the $rw variable "10101010" to the $ad variable dr_shred_mem.pl sending to dr_shred_up.pl "1011111101111111101111111111111011111111110111110111111111111000" to the $da variable.