• 請在 lilina.csie.ncnu.edu.tw 的個人目錄下先建立 up5 的子目錄. (注意大小寫). 在此目錄內置入這次作業所需檔案
    若你在自己電腦上寫作業, 請在上傳後測試一遍, 程式可否執行與是否正確 由 lilina 決定.
  • 作業所需檔案為:
    • Makefile (請參關 make 之相關文件)
    • README
    • 其它 .....
  • 作業說明:
    與第四個作業類似, 但現在 parent 與 child 間不用建 pipe. 所有的 process 共 用一個 fifo 來傳資料. 用 signal 來完成對 fifo 的讀取順序的掌控.
    要求:
    • 從 argv 建立 binary tree,
    • 每一個 process 印出一行 messages, 其內容與上一個作業相同. 但順序為 pre-order.
    • 每個 process 印出的 order 與 bfs traversing 的順序一致.
  • 注意事項:
    • 前三項與第四題同, 此處不予重複.
    • 請勿在 signal handler 內待太久, 如執行 while(1), fork(),.. 之類的, 最好在 signal handler 內只作簡單的變數值的變更.
  • 關於 Makefile 的要求:
    最少要有二個 target:
    default target: 產生所有的執行檔.
    clean: 清除所有的執行檔, *.o 及空檔等, 將目錄回復到只有 source 的狀態.
  • 關於 README 的要求:
    說明你的執行檔名字, 如何執行, 如何測試等.
  • 附上我寫的 第三個作業 及 第四個作業 以供參考. 請勿照抄.
  • Due day, 2004/04/28 00:05am