作者pishen (軒)
看板b96902HW
標題Re: [系程] sorted chunk只能存在一個tmpfile裡?
時間Mon May 18 13:18:57 2009
寄信問了施吉昇老師後,老師已經開放兩種作法都允許囉:)
On 2009/5/17, at 下午 3:14, pishen wrote:
老師您好,
想跟老師請問一下,關於這次作業每個 child process 把 sort 結果寫到的 temp
file ,一定只能有一個嗎?
如果是寫到多個 temp file ,這樣 parent process 在接下來做 merge 的部份可以
同時把這些 temp file 讀入,感覺是比較有效率又比較不會出錯的方法。
因為如果要寫到同一個 temp file ,就必須在 child process 寫入時處理 lock 的
問題,才能將每個 sort 的結果(每個結果的大小還可能不同)整齊的排在同一個 temp
file 中,另外在 parent process 做 merge 時,又必須紀錄每個 sort 結果排列的位置
和大小,並調整 offset 來讀取。感覺是個很複雜的 file I/O 問題,跟這次作業希望我
們熟悉的 fork 和 vfork 又沒有很直接的關係,不知道能不能開放兩種 implement 的方
式都允許呢?
還是說有特別的原因必須要我們這樣做呢?
謝謝老師!
best regards,
誠軒
以下是老師的回信: (at 2009年5月17日 下午 10:40)
Ok.
We can open for the two options.
Daniel
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.244.115
1F:→ pishen:其實好像不一定會比較有效率:P 05/18 13:24