Introduction to MTP: Media Transfer Protocol

http://shiwawa.blog.hexun.com.tw/8323038_d.html

微軟制訂了一套名為媒體傳輸協議(MTP)的新USB類別,希望協助Windows CE設備與Apple iPod產品系列匹敵。MTP協議與MSC的主要差異在於通信的層次、低階傳輸協議及設備控制的層級。本文將討論MTP協議的細節、MSC與MTP之間的異同之處,並介紹一些MTP傳輸範例.

安全地傳送數字內容不是一件容易的事,為使用者開發一套簡化操作的底層技術就更加困難。眾多從事創作與傳送數字音頻及視頻內容的廠商現在正面臨這項重大挑戰。微軟為新一代掌上設備開發了一套具備豐富功能的用戶界面,現已推廣一個新的傳輸協議——媒體傳輸協議(Media Transfer Protocol),簡稱MTP。

  數字版權管理(DRM)機制是用來保護有版權或付費的影音內容,這對於消費性掌上產品市場而言相當重要。由於欠缺數字內容傳送的控制技術,內容供貨商多半不願意發行如電影這類數字內容。若能開發出適合的保護協議,內容供貨商會樂於將其知識產權加以數字化,微軟表示其MTP正是目前所需的保護協議。

MTP采用分層化設計

  MTP與現今大多數的通信協議層次相似,都采用分層化設計。我們將MTP協議分成三層:物理層(Physical Layer)、傳輸層(Transport Layer)以及指令層(Command Layer)。這些功能層有別於OSI模式的前三個層面,但其概念是相同的。MTP所用的數據傳輸層是Picture Transfer Protocol(PTP)規格。其中許多指令也是PTP指令,並可通過不同廠商的PTP延伸自行擴充。

物理層

  需要註意的是,就物理層的層面而言,PTP與MTP是相同的,PTP與MTP在此層中可互通運用。本文將全文使用MTP。

  USB設備通過端點與主控端進行通信。一個USB端點對應一個主控端獨立信道。每個設備需要一個特別的雙向端點,即控制端點,其代號為端點0。主控端會利用這個端點來控制設備並判斷其各項特性。其他端點皆為單向信道,具備獨立排序與流量控制功能。MTP設備包含提供以下通信信道的四個端點:

◆ 主控端的Data OUT(海量數據輸出端點)
◆ 主控端的Data IN(海量數據輸入端點)
◆ 主控端的Commands(requests) OUT(共享控制端點:EP0)
◆ 傳送至主控端的Events IN(中斷輸入端點)

  IN與OUT代表USB設備中的數據傳送方向。USB是一種以主控端為中心的通信協議;所有IN的數據流量都會流向主控端,而OUT的數據流量皆流向設備端。

傳輸層

  MTP的數據傳輸層源自於PTP(USB Still Image Class)。USB Still Image Class規格了指令如何通過PTP進行傳輸、如何響應指令、如何中止傳輸,以及指令如何進行格式化。它並沒有規格指令本身,我們將在下面探討指令。

  USB傳輸狀態結構有三個主要狀態:指令狀態(Command Phase)、數據狀態(Data Phase)以及響應狀態(Response Phase)。主控端始終通過數據線激活指令狀態。指令狀態可能會持續多個數據包(尤其是較舊的USB 1.1設備),但所有被定義的指令皆小於64位。

  在指令狀態中,主控端會傳送一個單一指令到設備端。這些送出的指令會裝在有固定格式的存儲器(Containers)中,如表1所示。

  如果指令有一個數據狀態,IN或OUT數據狀態就會緊隨在指令狀態之後。傳送至存儲器中的數據屬於Container Type 2,而非指令區塊的Container Type 1。最後,設備發出一個響應信號,顯示指令的執行結果。響應編碼與指令有關連,它們通常含有指令所有預期的結果。例如,允許響應GetObjectHandles出現超過10種可能的響應編碼,其中包括OK以及Store_Not_Available。

指令

  PTP與MTP將設備中大部分元素視為對象。日常生活中用戶使用設備的大多數指令都會涉及對象。

通信協議運作流程

  觀察樣本數據流量的內容,很容易看出通信協議的運作流程。圖4的CATC流程圖顯示在主控端與設備之間激活通信的過程。

  主控端激活所有標示為OUT的傳輸,設備端則傳送所有標示為IN的數據。傳輸時全部采用解碼數據。例如,Transfer35的數據包含在Transaction230776中。

  Transfer35:這裏可以看到存儲器實際運作的狀況。長度字段(0x10/16小數)從LSB傳送至MSB,之後有類型(Command=1)及指令碼(OpenSession)。MTP執行ID為0,顯示這是聯機中的第一項傳輸。

  Transfer36:結束一項傳輸,顯示主控端成功完成傳輸(Code=OK)。

  Transfer37:主控端要求設備中存儲元素清單(GetStorageIDs)。例如,附有擴充卡的Palm Pilot可能有兩個元素,一個支持主存儲器,另一個支持擴充卡。

  Transfer38:這是數據存儲器的第一個範例。設備響應它有一個單一存儲元素,標示為0x1(邏輯)與0x1(物理)。這個指令完全編碼如表3所示。

  Transfer39:以一個OK指令碼關閉Transaction1。

  Transfer40:開始下一項MTP傳輸。

MTP添加延伸技術 擴充PTP規格

  我們用了大量篇幅介紹MTP與PTP的共同點,因為MTP需要70%至80%的執行工作,但MTP會在大大小小的層面上提升PTP。在通信協議上進行的小規模改良,會對功能產生極大的影響。

  MTP增加了許多以各種新方式定義的新對象。這種設計可為各個播放清單提供支持,這些播放清單是任何MP3或媒體播放裝置的重要關鍵。MTP也增加了對Palm這類PDA設備的支持,可加入日歷、聯系人及群組對象等功能。當然,MTP也加入了對影像對象的支持。

  通過加入特定的數字版權管理(DRM)屬性,包括DRM狀態、URL(在授權權限過期時,讓DRM可以要求付費)、使用次數和其他相關屬性,讓產品更容易加入數字版權管理的支持,MTP可讓DRM的支持功能更容易執行。

  MTP還添加了許多延伸技術,使數據處理更加容易。它擴充了PTP規格,因此可傳輸大型(超過4GB)的文件。它也讓存儲器與數據被分割成不同的USB數據包。這樣可以使USB芯片(包括Cypress EZ-USB FX2LP與EZ-USB SX2系列產品)能更有效率地處理數據包。

增強版MTP讓主控端與MTP外圍設備緊密結合

  微軟在基本MTP結構中加入一系列優化設計,借此提升在Windows操作系統中使用MTP設備的效果。如果您是一臺設備(Resopnder),這些功能已包含在微軟的免版稅授權範圍內。若您是主控端(Initiator),這些“Enhanced Initiator”功能的授權屬於基本功能之外,您必須與微軟公司洽談授權合約。

  增強版MTP的目的是讓主控端能與MTP外圍設備緊密結合,獲得更好的終端用戶體驗。許多增強版MTP功能的目的是一次處理多個對象,從而提高同步性能。

法律問題

  如果用戶從微軟網站下載MTP規格,就會發現說明書的前三頁是終端用戶授權協議(End User License Agreement,EULA)。建議用戶在開始任何MTP研發工作前,最好請律師詳讀這份授權書。EULA的重點包括:

◆ 基本MTP規格可免費使用:“微軟授予您以下有限的、非獨家、全球性、免版稅、不可讓渡、不可轉讓、不可再授權的使用權限。”
◆ “Enhanced Initiator”功能不在此授權範圍之內。“本協議並未授予您在解決方案中運行“Enhanced Initiator”功能或此規格中所述功能的權限。”
◆ 必須履行整套規格:“您在解決方案中的工具設計,必須遵從整套規格。”

為保護數字內容版權提出對策

  追根究底,制定另一種傳輸規範的根本標準還是終端用戶的需求。面對消費性市場要求簡單、多功能的掌上產品的壓力,以及內容創作業界要求妥善保護數字內容版權的呼聲,微軟正致力解決這種兩頭燒的問題。

  為了讓雙方都能滿意,微軟提出媒體傳輸協議。技術人員須了解底層技術,方能發現滿足顧客的產品特性和優勢。因此,雖然學習新的通信協議可能不會是件簡單的事,但之後消費者必然會感謝您的努力。


PMP test

Exam Policies & Procedures 2011

Initiation 11%

Planning 23%

Executing 27%

Monitoring and Controlling 21%

Closing 9%

Professional and Social Responsibility 9%

Overall 200 questions in 4 hours.

No. of Scored Questions 175

No. of Pretest(Unscored) Questions 25.


邊際效用

http://www2.nsysu.edu.tw/debate/images/5-3.html

只要是要學經濟學的,免不了要碰到邊際這兩個字
譬如說邊際效用
他指的是「多增加一點消費,所多增加的效用」
邊際成本就是「多增加一點產出,所多增加的成本」

舉個例子,
一個很餓的人,第一碗飯對他的價值很高,給他的快樂可能是100單位,
第二碗飯他已經不那麼餓了,所以價值是50單位,
第三碗飯他已經差不多飽了,價值剩10單位。
到了第四碗飯,價值是0。
第五碗飯他已經很飽了,價值是負的,如果要他吃,還要給他錢才行

所以,當他還沒吃飯時,一碗飯的邊際效用是100,
吃了一碗飯時,一碗飯(也就是第二碗)的邊際效用是50
吃了兩碗飯時,一碗飯的邊際效用是10
吃了三碗飯時,一碗飯的邊際效用是0
吃了四碗飯時,一碗飯的邊際效用是 -10….以此類推..

大部份的時候,邊際效用都是越來越小的,包括錢也是。
想想看,如果某人有一千元,
他的第一個一百元,會去買對他來說最有價值的東西
第二個一百元,次之
第三個一百元,再次之

一個直覺的想法是,同樣是一萬元,對我的效用比對王永慶的效用大多了。
因為我的一萬元是第一個一萬元,而王永慶的一萬元是第N個一萬元 (N很大~)
所以,既然錢也是邊際效用遞減的,
財富的平均就很重要了。
一千元分給一千個人,每一塊錢都是第一個一元,
可是一千元集中在一個人身上,只有一塊錢是第一個一元
其他999元的價值就越來越小………

有了邊際效用遞減的概念
就可以導出經濟學最基本的定理—

需求法則: 價格越高,需求量越低。

蘋果漲價,買的人就少了,蘋果變便宜,買的人就多了
蘋果可以代換成:汽車、房子……等等

讓我們來細部一點的解釋這個情形:
假設第一顆蘋果對小明的「價值」是10元
二                                  9元
三                                  8元
四                                  7元

那麼很明顯的,當蘋果的「價格」是10元時,小明會買 1 顆蘋果
9                      2
8                      3
7                      4

所以,當蘋果的「價值」等於「價格」時,小明會停止購買。
價格在經濟學上有一個更理論的名詞:成本。
蘋果的價格,不就是小明多得到一顆蘋果的成本?
所以我們可以這麼說:
當多買一顆蘋果給小明帶來的效用等於小明多買一顆蘋果的成本時,
小明會停止購買。

區分一個東西的價格和價值,對我們瞭解這個世界有點幫助。
一小時從高雄到臺北是坐飛機的價值,1860元是它的價格。
公司未來的獲利能力是股票的價值,股票指數是它的價格。
讓自己未來的薪水高一點是念大學的價值,四年的光陰和學費是它的價格。


OpenGL ES

OpenGL ES 2.0 簡單介紹

OpenGL ES 和 OpenGL 一樣,是 khronos 所維護、定義的免授權費、跨平台的 3D Graphics API,不過和 OpenGL 不同的是,OpenGL ES 主要是針對嵌入式系統(embedded system)的環境(像是手機、PDA);而近年來網頁上的多媒體技術越來越複雜、多樣化,也漸漸地需要用到 3D Graphics 的硬體加速,所以也出現了基於 OpenGL ES 2.0 而發展、直接在網頁上做 3D 顯示的 WebGL

也由於 OpenGL ES 所針對的環境一般來說效能都較差、有支援的功能也較少,所以OpenGL ES 的技術方面的進展會比 OpenGL 來的慢、而且也有較多的限制。

目前 OpenGL ES 有兩個大版本,一個是基於 OpenGL 1.3 / 1.5、使用「fixed function pipeline」的 1.0 / 1.1,另一個則是基於 OpenGL 2.0、使用「programmable pipeline」的 2.x。兩者最大的差別,就在於 OpenGL ES 2.0 移除了 fixed function pipeline 的功能,而要使用透過 vertex / fragment shader 來實作的 programmable pipeline。

opengles_1x_pipeline opengles_20_pipeline_thumb[6]

上面兩張圖取自 OpenGL ES 網站的 fixed function pipeline 和 programmable pipeline 的流程圖。以這兩張流程圖,應該可以清楚地發現:vertex shader 就是對應到本來的 transform 和 (pre-vertex) lighting 的部分,fragment shader 則是對應到 texture、colour sum、fog、alpha test 等功能;也就是說,這些(橘色的部分)本來在 fixed function pipeline 時會由系統做掉的計算,現在在 programmable pipeline 都要自己寫 shader 程式來做計算了。

這樣的好處,是 render 的方法可以變得相當地有彈性,程式開發者可以根據自己的需求,來調整這兩大塊的計算方法,來達到自己需要的功能;但是相對的缺點就是,就算是最簡單的程式,都還是需要自己編寫 shader 程式,某種程度上也提高了入門的門檻。

而另外和傳統 OpenGL 在開發上差異較大的部分,包括了:

  • 在 OpenGL ES 2.0 裡也沒有 OpenGL 的 matrix stack,程式開發者必須要自行計算投影矩陣以及各物件的 transform matrix,再傳到 shader 裡做計算;雖然在 GPU 端的程式是有矩陣計算的功能,但是在 CPU 端就需要自己實作矩陣計算的基本演算法了。
  • 在 OpenGL ES 裡沒有 glBegin() / glEnd() 這種 immediate mode 的函式,vertex 資料必須用 buffer object 或 vertex array 來處理。
  • 取消了 GL_QUADS / GL_POLYGONS 這兩種 primitive 類型。
  • vertex 的所有資訊(包含本身的位置、顏色、normal 等等)都變成以抽象的 vertex attrib 來處理,需要自行定義並在 vertex shader 裡計算。
  • Lighting、material 也都是以抽象的形式,以 uniform 變數形式傳進 shader 並自行計算。

這些只是一些比較大的差異,其他還有一些地方也都不一樣,就不在這邊列舉了。而實際上,以這些部份來看,OpenGL ES 2.0 在概念上與其說是接近 OpenGL 2.0,其實更接近 OpenGL 3.x 的 Core profile 了~所以基本上以 OpenGL 3.0 的概念來寫 OpenGL ES 2.0 的程式,應該會更為適合;只是 OpenGL ES 2.0 的功能又比 OpenGL 3.x 少了些就是了。


Android JNI實例

http://huenlil.pixnet.net/blog/post/23801824

Android 的SDK中沒有包括JNI的支持,而且對如何支持JNI也沒有任何文檔說明。不過既然整個Android 平台是開源的,我們可以通過Google發佈的源代碼來找到一些線索(比如frameworks/base/media/jni/目錄),依葫蘆畫瓢的實現上層JAVA程序通過JNI來呼叫Native C程序中的函數。


HKDSE Tips – grammar 語法

http://hkdsefighter.blogspot.com/search/label/grammar%20%E8%AA%9E%E6%B3%95

 


英語的非限定動詞初步(2010修訂) (2)

四、不定詞表示「目的」:

在課本(p. 50)有這麼一句話:
I ran back home to get my umbrella.
這裡to get my umbrella表示回家的目的,作副詞的用。這種用法在英語裡相當常見。

五、「感官動詞」之後接原形動詞或V-ing的形式[1]

其實,課本裡並沒有列出,但一般講義或參考書中經常出現,所以不得不為同學介紹。所謂的「感官動詞」,主要指「看到」、「聽到」,以及「感覺到」,包含seewatchhearlisten to、feel。look at雖然也和「感官」有關,但是它的意思為「注視靜止的事物」,所以理論上不應再接上任何動作。例如:
I saw Tom run through a red light.或[2]
I saw Tom running through a red light.

六、名詞之後的不定詞:

課本(P.115)有這麼個句子:
When is a good time to go?
句中的to go是用以修飾前面的a good time。記得嗎?我們曾經不止一次的說過:「英語中,若是用兩個以上的字來修飾一個名詞時,必須置於其後。」之前的例子如:
They are reading together at the park [near their house].
這句話到下學期還會有進一步的例證。

 

柒、何時用「不定詞」;何時用V-ing

最安全的方法,自然是查閱字典。這也就是為什麼從七年級開始老師就鼓勵同學準備一本字典。當然,這是不太可能做到的(我們總是會遇到沒有學習過的單字)。那麼該怎麼辦呢?

前面我們說過,不定詞是最活躍的一種非限定動詞。因此,(偷懶的)同學僅需記得不能使用不定詞的情況。其餘的,就來個一招半式闖江湖,to V到底。會了吧!(慚愧!教同學做壞事)

 

一、必須使用不定詞的情況:

在下列字詞之後一定要用不定詞[3]
ask(要求)、learn(學習)、plan(計畫)、prepare(準備)、teach(教)、tell(告訴、叫)、want[4](要)、would like(想要)…

二、必須使用V-ing的情況:

在下列字詞之後一定要用V-ing
avoid(避免)、enjoy(喜愛、享受)、finish(完成)、miss(懷念)、can not help[5](不得不/忍不住)、not mind(不介意)、not stand(難以忍受)、practice(練習)、spend(花費)…:

三、接上不定詞或V-ing表示不同的含意:

有些動詞,在意義不變的情況下,後面可以接不定詞,也可以接V-ing,但卻有不同的含意。例如:forget(忘記)、need(需要)、remember(記得)、want(需要),以及stop(停止)。舉例來說:
I forgot to do my homework. 忘記/做功課。
I forgot returning the money. 忘記曾經還了錢。
又如:
Peter needs to clean the classroom. 需要()打掃教室。
The classroom needs cleaning. 需要()打掃。
這些都是經常出現於考試的句子。詳細的說明請看下一章。

四、句型…enough (…) to…too…to

…enough (…) to表示「足以」;…too…to表示「太…以致於不能」。比較:
Tom is old enough to go to junior high school.
I have enough money to buy that new computer game.
I was too tired to study.
此處的不定詞提供一個比較的標準。

五、介詞之後,不能用不定詞,一定要用V-ing

比較:
I am sorry to be late. (此處的不定詞表示原因)
I am sorry for being late.
又如:
They are talking about having a party on Christmas.

六、「虛主詞」it之後,通常用不定詞,而非V-ing

首先介紹「虛主詞」。我們前面說過,不定詞和V-ing都可以在句子中扮演主語/主詞的功用。例如:
[To be on time] is important. ———– (A)
[Being on time] is important. ———– (B)
頭一句裡,我們可以將不具任何意義的it置於括號的位置,再將不定詞移到句尾:
It is important [to be on time]. ——— (C)
(C)這種用法較(A)更加常見。提醒同學:雖然一般說來,虛主詞it用以替代不定詞,但是還是有代替V-ing的例子:
It is fun picking shells at the beach.(可用)
It is no use crying over spilt milk.(必用)

七(補充,不必熟記)、要接原形動詞的片語:

以下兩個課外的片語後面要接原形動詞:can not but(不得不/忍不住)、had better(最好)。例如:
The little boy could not but cry.
You had better start doing your homework right away.

 

捌、不定詞和V-ing的基本差異:

首先聲明:

以下的部分並非每一位同學都需要閱讀。

截至目前為止,我們一直迴避一個基本的問題:為什麼要有不定詞和V-ing兩種不同的形式。當然還包括衍生出的另一個問題:不定詞和V-ing有什麼不同?

一般說來,這兩種用法沒有什麼(太大的)不同[6]。對於絕大部分能夠接不定詞和V-ing的動詞來說(再次提醒:必須在同一個意義之下),我們可以自由選擇。而許多書籍,包括我們使用的課本習作,都提供了換句的練習(p.82)。當然,若是基於句法的原因(例如介詞之後必須用V-ing),我們根本不必討論意義上是否有所不同。

可是,對於少數的動詞,例如前一章提到過的有些動詞之後只能接不定詞,‚有些動詞之後只能接V-ing,以及ƒ有些動詞之後兩個都能接,卻適用於不同的情境等,要怎麼解釋其間的差異呢?

我們提供兩個判斷的標準:

1. 主動去做的用不定詞;被動接受的用V-ing[7]

2. 尚未發生的用不定詞;其餘的(包括已經、正在)用V-ing
同學們不難想像:不定詞to V是不是和未來時間的be going to有重疊的部分,而V-ing和進行式be V-ing有重疊呢?我們舉幾個例子說明:

1. Peter wanted to play basketball after school.

我們可以想見:「打球」這件事該當發生在「想要」之後。

2. We finished eating dinner at9:00.

當然得先「吃」才能「完」。

同學們請自行解析下面兩個句子:

3. Mom was angry because I forgot (to clean ‚cleaning) the living room.

4. Hey! Do you remember (to see‚seeing) me at Jane’s house?

 

附錄(一)、不定詞的代稱:

還記得在七年級時,我們曾經討論過一個問題:

A: Do you have a dog?

B: Yes, I (do ‚have ƒhave one „have a dog).

其間,只有‚是錯的。原因是:have為「及物動詞」,後面必須接上一個受語。我們可以用one或其他的數量詞代替前面提到的a dog,作為受語。同樣的問題可能發生在下面的情況:

A: Do you like to play video games?

B: Yes, I (do ‚like ƒlike _____ „like to play video games).

請問,上題中畫線部分要填入什麼?

答案是:to。它可以替代前面提過的to play video games。「代稱」的現象僅存於不定詞;其他的非限定動詞則無。

 

附錄(二)、主語:

我們先看下面這對中/英文的句子:

我愛小賴,但是討厭他抽煙。

I love Lai, but I hate him to smoke.

我們想想:我討厭的是他—小賴嗎?當然不是。我所討厭的是「他抽煙」這件事情。在中文的句子裡,這一點比較容易為人接受,只需用括弧便可解釋清楚:

我愛小賴,但是討厭[他抽煙]。

但是在英文的句子中,就有點麻煩。我們先加上括弧:

I love Lai, but I hate [him to smoke].

發現了嗎?him用的是受格。這一點沒有什麼好奇怪的,因為它在like的後面嘛!。可是,事情沒有這麼單純。首先我們將不定詞改為V-ing

I love Lai, but I hate [his[8] smoking].

此時,所有格比較常見。我們把情況弄得更複雜些:

[小賴]抽煙使得他媽媽非常生氣。

[Lai’s smoking] made his mom very angry.

[For Lai to smoke] made his mom very angry.

It made Lai’s mom very angry [for him to smoke].

在V-ing的部分沒有問題—維持所有格的形式。但是在不定詞的部分,好端端地在句首放一個受格的字不是很奇怪嗎?因此,加上一個(沒有意義的)for,讓句子看起來自然些。

 

附錄(三)、否定:

先看下面這一對句子:

我沒有叫你來。 ———————— (A)

我叫你不要來。 ———————— (B)

相信同學都能區別兩句的不同。那麼,在英語中,我們要如何區分呢?請看:

I didn’t tell you to come. ————– (A’)

I told you not to come. —————– (B’)

是的!在(B’)句中我們把加not在不定詞to come的前面。其他的非限定動詞的用法也一樣。例如:

John’s not studying hard made his mom very angry.

Mr. Wang made the boys not stand there.

 

~完~


[1]如同「使役動詞」,「感官動詞」之後,當然也還有其他的用法。我們此處僅討論「原形動詞」。有興趣的同學可以翻閱字典,裡面會列出每一個字的各種用法。

 

[2] 如果你問:「這兩種用法有何不同?」那麼,恭喜你,你已經學會正確的學習方法了。不過,暫時不告訴你。希望等你看完整篇講義(特別是最後一章)之後能夠自己回答。

[3] 再次強調:決定用法的,並非字詞本身。每一個字詞常常會有不只一個解釋。某一個特定的解釋有對應的特殊用法。

 

[4] want(要)出現在否定句時,可以接V-ing。另外want還可以解釋成(需要),用法就如同下文的need

 

[5] 此處加上not表示通常出現於「否定句」之外,還可以出現在「疑問句」。同學不可不察。

[6] 極少數的專書裡的確有加以區別,但是大概沒有多少人會認真地區分。為了避免增加同學不必要的負擔,我們略而不論。

[7] 這項標準僅適用於need(需要)和want(需要,不是「想要」)。欠缺相關的句法緣由,同學們只能硬記。

[8] 其實,受格的him也可以接受。但是一般坊間的書籍甚少提及。為了避免增加同學的負擔,我們僅討論所有格。


英語的非限定動詞初步(2010修訂) (1)

英語的非限定動詞初步(2010修訂)

An Introduction to the Non-Finite Verb in English (Rev. 2010)

 

壹、前言/定義:

乍看標題,相信同學們一定感到滿頭霧水。沒有關係。如果沒有興趣,可以直接跳到標題「貳」。

首先解釋什麼是「非限定動詞」,當然得先從「限定動詞」談起。記得在學習英語之初,就向同學們強調:「每一個英語句子恰有一個動詞[1]。」接下來我們做過三次修正。連接詞可以連結兩個動詞,‚祈使句的動詞形式為「原形動詞」,以及ƒ應該將動詞出現的範圍從句子限縮為「子句」。現在我們要做第四次(也是最終的)修正:每一個非祈使句的英語子句,除非有連接詞連結,恰有一個「限定動詞」。而「限定動詞」指的是能夠反映「時間、人稱、單複數」的動詞[2]。我們舉幾個例子說明[3]

(1) I am a student. …現在、第一人稱、單數

(2) Ted hated English. …過去

(3) Helen was watching TV. …過去、第三人稱、單數

(4) Peter may be playing computer games. …現在

第四個例子比較極端:它一共有三個動詞(may、be、playing)。除了第一個之外,beplaying都不能能夠反映時間、人稱和單複數。比較:

(5) Peter would be playing computer games.

我們發現,它們都不會隨著時間、人稱和單複數的改變而有所不同,因此被稱為「非限定動詞」(non-finite verb)。

若是一個子句(因為句義)不止有一個動詞,該怎麼辦呢?當然除了主幹的動詞外,其餘的動詞都必須改變為非限定動詞的形式。

 

貳、非限定動詞的種類:

傳統文法將非限定動詞區分為「原形動詞(簡稱V0)」、「不定詞(簡稱to V)」、「動名詞」、「現在分詞」和「過去分詞(簡稱P.P.或Ven)」等五項。但是其中「動名詞」和「現在分詞」長相雷同,只是出現的位置不同,因此比較晚近的書籍中已將它們合而為一。另外「現在」、「過去」的說法與實際的狀況不盡相符,所以改稱為「-ing分詞(簡稱V-ing)」和「-en分詞(簡稱V-en)」。

原形動詞指的是動詞在字典中列出時的形式;沒有經過任何的形式變化。不定詞的基本形式為to之後加上原形動詞。-ing分詞為原形動詞加上-ing字尾[4]。-en分詞比較麻煩:它分為規則變化和不規則變化。不規則變化需要查字典;規則變化和過去式一樣:在原形動詞之後加上-ed字尾[5]

 

參、非限定動詞的功用:

非限定動詞的第一個功用是形成各種時態和特殊句型:助動詞之後必須使用原形動詞。‚祈使句必須使用原形動詞。ƒ進行式必須使用V-ing分詞。„完成式[6]必須使用V-en分詞。…被動語態*必須使用V-en分詞。†句型「go V-ing」。

非限定動詞的第二個功用則是改變動詞的「詞性」(轉品)。我們首先花一些時間介紹「詞性」的概念:

詞類的劃分是研究語法的第一步,畢竟得要先認清誰是誰才能進一步將它們安排到適當的位子上,但是該如何劃分卻不是一件容易的事。有人從意義著手;有人從功能起步:哪些詞類會出現在句子的哪些位置,哪些詞類和哪些詞類可以或不能伴同出現等;現在還有人從行為模式入門,也就是說哪些詞類可以衍生出哪些不同的字形[7]。從「意義」著手,好處是簡單易懂,但是卻無法解釋下面兩個句子中畫線部分的差異:

1) 誠實是一種美德。

2) 小明很誠實

此時,「功能」就能幫助我們區分兩者的不同:第一個句子裡的「誠實」是名詞;第二個句子裡的「誠實」是形容詞。

到底一個語言有多少詞類,是一個很難回答的問題。漢語就不必說了,到現在還沒有定論[8];就連世界上受人研究最多的英語,劃分為「八大詞類」到底恰不恰當,也還有許多爭議。為了方便同學和傳統的文法觀接軌,我們仍然採用此說。當然對於其中不盡合理之處會在適當的時機說明。閒話少說,現在就進入正題。

傳統研究英語的人將英語的詞彙區分為八大詞類:名詞、代名詞、形容詞、動詞、副詞、連接詞(連結詞)、介詞(介繫詞)、感嘆詞。

中國學生學習英語的時候,常常無法適應的一點就是「詞類變化」 。比方說,漢語的「美」這個字可以歸屬於至少四種詞類:

    1 名詞:自然就是「美」。

    2 形容詞:「美」人如花看不足。

    3 副詞:「美」言。

    4 動詞:「美」髮、「美」容。

可是在英語裡,就有四個不同的「美」:beautybeautifulbeautifully,和beautify。更麻煩的是,英語中並非每一種詞類都有固定的詞尾,同時有時一個單字也可以劃歸不同的詞類,例如:fast可以當作形容詞─fast train,也可以當作副詞─run fast。依據個人的經驗,建議同學在背單字的時候,盡量將相關的家族記起來。在使用英語的時候,「說」和「寫」,有意想不到的幫助。

簡單來說,經由「非限定」的過程,我們可以將「原形動詞」以外的動詞形式轉變為:名詞、形容詞、以及副詞[9]。另外,我們也會以特例的方式介紹一些「原形動詞」的用法。

 

肆、基本觀念:

同學們應該會有一個疑問:英語為什麼會有這麼些不同的動詞變化形式?

答案是:這些不同的形式傳達了不同的意涵。我們甚至可以說,只要瞭解其間的差異,剩下的問題自然迎刃而解。在前一篇講義裡,我們曾透過rememberstopneed等動詞初步討論過to V和V-ing的差異。現在我們進一步地完整介紹。

1. 不定詞的基本意涵[10]
簡單的說:不定詞有六個基本的意涵:將要、‚能夠、ƒ必須、„目的…結果†原因。很有趣的是,有六個含有to的片語可以相對應,分別是:be going tobe able tohave to in order toso as to,和owing to(這是比較勉強的連結—因為此處的to是介詞而非不定詞的一部分,也就是說:owing to之後若是有動詞,必須用V-ing的形式)。

2. V-ing的基本意涵:
同學們回憶一下,第一次見到V-ing是在什麼時候?對了,就是「進行式」。因此,「正在」自然是V-ing的基本意涵了。

 

伍、不定詞轉化為名詞後的功用:

在正式討論之先,我們先談談什麼是「名詞」:
名詞是表示人或事物的名稱的詞,傳統的文法這麼說。在句子裡它可以作為句子的「主語/主詞[11]」、「賓語/受語/受詞」、「主詞補語/主語補語」、「受詞補語/賓語補語」、「同位語/同位格」以及介詞的受詞。

不定詞是非限定動詞中最活躍的一支。當它轉化為名詞後,可以出現在句中的下列位置:

1. 賓語/受語/受詞:這是課本(8.2)的主題。我們舉例說明:
His mom likes [to read novels].比較:
His mom likes [novels].

2. 主語/主詞:例如:
[To be on time] is important.比較:
[English] is easy.

3. 主語補語/主詞補語:例如:
His work is [to mop the floor].比較:
His father is [a bus driver].

4. 受語補語/受詞補語:例如:
We believe him [to be honest].比較:
We believe him [an honest boy].

5. 同位語/同位格:例如:
His work, [to mop the floor], is so easy.比較:
His brother, [Steve], is sick.

我們從上面的例子看出:除了「介詞的受詞」一項以外,不定詞可以出現在所有名詞的位置。

 

伍、V-ing分詞轉化為名詞後的功用:

能夠當成名詞來使用的,除了不定詞外,還有V-ing分詞。而且在介詞之後,也僅能使用V-ing分詞。

1. 賓語/受語/受詞:這是課本第九課的主題。我們舉例說明:
His mom likes [reading novels].比較:
His mom likes [novels].

2. 主語/主詞:例如:
[Being on time] is important.比較:
[English] is easy.

3. 主語補語/主詞補語: 例如:
His work is [mopping the floor].比較:
His father is [a bus driver]

4. 受語補語/受詞補語:這部分暫時存而不論。因為此時V-ing分詞的詞性未定。現今的語法書已經不再討論非限定動詞的詞性。

5. 同位語/同位格:例如:
His work, [mopping the floor], is so easy.比較:
His brother, [Steve], is sick.

6. 介詞的受詞:例如:
They agreed about [having the game outdoors].比較:
They agreed about the price.

7. 形成「複合名詞」:
複合名詞指的是由兩個(以上)的名詞結合成一個名詞。例如:book bag(書包)、movie ticket(電影票)等等。當然,既然V-ing具有名詞的特性,自然可以形成複合名詞。舉幾個例子說明:chewing gum(口香糖)、washing machine(洗衣機)、drinking water(飲用水)。
提醒同學:有些字,結尾是ing,但卻是完完全全的名詞[12]。例如:bowling(保齡球)、feeling(感覺/感情)、swimming(游泳)。這些字出現在句子中時,可能是純名詞,也有可能是V-ing。同學們不必費心去分辨。

 

陸、課本中已出現其他非限定動詞的用法[13]

一、「使役動詞[14]」之後要用原形動詞[15]

我們經常說:Let’s go!但是這整個句子的結構到底是怎麼回事?首先,let為原形動詞(因為整個句子是祈使句),意思為「讓、使」。go出現在let之後,必須採用原形動詞的形式。

英語的使役動詞一共有四個半!!!???其中一個現在已經很少使用,國中課本中皆未列入,因此不予列入:
let(讓、使)、have(使)、make(使),而半個為help(幫助):後面接原形動詞或不定詞。例如:
Peter helped me (to) clean up the classroom.

二、busy之後的動詞要採用V-ing的形式:

當我們說一個人很忙碌的時候,我們經常會提及他在忙著做什麼。此時,busy之後的動詞要採用V-ing的形式。其實這一點倒是很容易理解:「在」不就是「正在」?當然要以V-ing的形式表達。例如:
Mom is busy cooking[16] dinner in the kitchen.

三、go之後的動詞要採用V-ing的形式:

課本中列出了許多go V-ing的用法:
go fishing、go swimming、go shopping、go hiking、go mountain climbing、go bowling、go jogging、go camping…
同學們要熟記這些用法。


[1] 大部分的語言都是以「動詞」為中心,可是漢語則否。例如:我很高興。(以形容詞為中心)爸爸在阿公家。(以地方副詞為中心)在下孫中山。(以名詞為中心)細心的同學會發現上述幾個句子若是翻譯成英文,都會有一個be動詞。

 

[2] 英文名稱為finite verb,以往也稱為tensed verb。

[3] 在這幾個例子中,就意義而言,只有一個動詞,其餘的皆因應時態的需要出現。

[4] 動詞加-ing並非一成不變。在七年級時已經介紹過相關的規則。不再贅述。

 

[5] 和V-ing一樣,動詞加-ed也有一定的規則。從略。

[6] 加上星號表示超過目前的進度,僅為維持完整論述而提出。同學們此刻不必深究。

 

[7] 譬如說:名詞有「單複數」的變化、形容詞和副詞有「比較、最高級」的變化等等。或者說,不同詞類有固定的詞尾變化:例如:看到「-ly」,我們就可以猜想這個字大概是副詞。

 

[8] 當代漢語受到西洋語言的影響,常以「的、得、地/底」區分修飾詞的三種功能。前者等同英語的形容詞;後二者等同英語的情狀副詞。但是,並不是每一個人都遵循這條語法規則。請看徐志摩的這首詩—再別康橋—大家應該耳熟能詳吧:
輕輕我走了,正如我輕輕來。
誰敢說徐志摩寫錯字?

 

[9] 晚近的研究又有不同的解析,但那已經超出一般學習英語者必須關注的範疇。為了避免徒增困擾,我們依循傳統的說法。

[10] 這部分係個人心得,僅供同學參考。

[11] 同學們不必管學術名詞的不同,儘管使用自己熟悉的名稱即可。

[12] 這些字都可以在字典中直接查到。最佳的證明是feeling有複數的形式:
Please don’t hurt your parents’ feelings again.

 

[13] 以下內容經常出現於各項考試之中,可以說是這份講義撰寫的目的。同學務必仔細閱讀。

 

[14] 決定是否為「使役動詞」的,並非動詞本身。動詞(甚或說每一個字)常常會有不只一個解釋。某一個特定的解釋有對應的特殊用法。

 

[15] 「使役動詞」之後,當然還有其他的用法。我們此處僅討論「原形動詞」。有興趣的同學可以翻閱字典,裡面會列出每一個字的各種用法。

 

[16] 也可以說成:Mom is busy with cooking dinner.


旋元佑文法

http://oscarweng.blogspot.com/2007/12/blog-post.html

 


模仿 or 學習,Steve Jobs 準備決定接班人?

每件事大家總是都可以正反兩面評判…重點也許是自己的作品是否可以讓大家願意花時間"談" ^^

分久就會合,合久就會分,介面簡單久了就會有更多人想要進階一點,介面變困難了又想要簡單一點,很難說誰抄誰,市場需求總是會變化…使用者是複雜的,改善使用者體驗,理論上應該是年輕人主導,以Jobs的年紀,他會朝極簡也不意外,但聰明的下一代,真的就這樣的使用程度??? 也許還有更大的改善空間在後面…^^

http://chinese.engadget.com/2011/06/09/after-pervasive-steve-jobs-era/