UNIX System Programming by Yang-Sae Moon
Page 1
Homework #12 (1/2)
프로그램을 작성하고 , 프로그램과 실행 결과를 프린트하여 제출한다 .
1. Message queue 를 사용하여 다음 기능을 하는 sender/receiver 프로그램을 작성하시오 .
( 자기 학번으로 IPC key 두 개를 만들어 사용하세요 . 예 : 0x19123401, 0x19123402) Sender는 사용자가 입력한 문장을 message queue 를 사용하여 receiver 에게 보낸다 .
Receiver는 sender 에게서 받은 문장에서 소문자는 대문자로 , 대문자는 소문자로 변환하고 , 변환된 결과를 다른 message queue 를 사용하여 다시 sender 에게 보낸다 .
Sender는 receiver 에게서 받은 문장을 출력한다 .
상기 과정을 계속해서 반복한다 . (“.” 을 입력하면 종료한다 .)
( 힌트 ) islower(), isupper(), tolower(), toupper() 함수 사용
UNIX System Programming by Yang-Sae Moon
Page 2
Homework #12 (2/2)
2. Shared memory 를 사용하여 다음 기능을 하는 프로그램을 작성하시오 .
( 자기 학번을 IPC key 값으로 사용하세요 . 예 : 0x19123403)첫 번째 프로그램은 shared memory 에 1.414, 3.142, 1.771 의 값을 갖는 세 개의 실수를 저장한다 .
두 번째 프로그램은 shared memory 에 저장된 세 실수 읽어서 , 각각 2.72 를 곱한 후 다시 저장한 다 .
세 번째 프로그램은 shared memory 에 저장된 세 개의 실수를 읽어서 출력한다 .
3. 강의노트 16 의 세마포 예제 프로그램을 작성 / 수정하고 실행하시오 .
( 자기 학번을 IPC key 값으로 사용하세요 . 예 : 0x19123404)강의노트의 semex.c 를 프로그래밍 하시오 .
파일에 카운터를 5 개 저장하고 출력하도록 수정하시오 .
각각 “ semex 1” 과 “ semex” 을 수행하고 , counter.txt 파일의 변화를 함께 캡쳐하시오 .