2009年6月18日 星期四
OS學期心得
這學期給我的第一印象是
放假也放太多了吧~~~
到學期末好幾星期連續補課
幾個禮拜下來有種快掛掉的感覺
------------------------------------
uCOSII 與 linux 學習成效比較:
uCOSII 感覺比較有重點, 容易吸收
到最後 linux 老師在教得時候
有點搞不太懂重點在哪裡 想讓我們了解什麼
或許是 linux 東西太多太雜了 不好教 也不好懂
或許是 時間太短了 教得比較急促
----------------------------------
最後想抱怨期末proj...
也許是我能力欠缺
花了還蠻多時間在研究
雖然最後有做出來
可是卻遲交了
這是我第一次遲交作業 還蠻難過的
-------------------------------------
整體來看 受益頗多的
至少讓我更了解OS做作些什麼
想當初大一時 連作業系統是什麼都不知道
以前剛接觸到fedora freeBSD時
用起來都會怕怕的
現在已經可以跟用windows XP 一樣運用自如
放假也放太多了吧~~~
到學期末好幾星期連續補課
幾個禮拜下來有種快掛掉的感覺
------------------------------------
uCOSII 與 linux 學習成效比較:
uCOSII 感覺比較有重點, 容易吸收
到最後 linux 老師在教得時候
有點搞不太懂重點在哪裡 想讓我們了解什麼
或許是 linux 東西太多太雜了 不好教 也不好懂
或許是 時間太短了 教得比較急促
----------------------------------
最後想抱怨期末proj...
也許是我能力欠缺
花了還蠻多時間在研究
雖然最後有做出來
可是卻遲交了
這是我第一次遲交作業 還蠻難過的
-------------------------------------
整體來看 受益頗多的
至少讓我更了解OS做作些什麼
想當初大一時 連作業系統是什麼都不知道
以前剛接觸到fedora freeBSD時
用起來都會怕怕的
現在已經可以跟用windows XP 一樣運用自如
OSSemPend()
OSEventCnt=1
task到kernel中執行完此event再回到user mode下繼續執行
前提: task 2已經進入critical section, OSEventCnt=0,
因為OSEventCnt=0, 讓task 1進入waiting狀態 並觸發sched() 把控制權交給task 2
等待task 2執行完, 呼叫sched() 讓task 1繼續執行
前提: task 2已經進入critical section 且沒有動作, OSEventCnt=0,
因為OSEventCnt=0, 所以task 1進入waiting狀態,
又因為task 2一直沒有動作, 所以最後task 1被timer叫醒
回到user mode
task到kernel中執行完此event再回到user mode下繼續執行
前提: task 2已經進入critical section, OSEventCnt=0,
因為OSEventCnt=0, 讓task 1進入waiting狀態 並觸發sched() 把控制權交給task 2
等待task 2執行完, 呼叫sched() 讓task 1繼續執行
前提: task 2已經進入critical section 且沒有動作, OSEventCnt=0,
因為OSEventCnt=0, 所以task 1進入waiting狀態,
又因為task 2一直沒有動作, 所以最後task 1被timer叫醒
回到user mode
訂閱:
文章 (Atom)