導言

Android應可說是科技界2009年第一大事。Android前身為一公司,被Google買下後繼續開發,以開放源碼的方式發行,還成立了Open Handset Alliance (OHA)作為支持Android的商業組織。其中成員如Qualcomm, TI, Wind River等在各自領域都赫赫有名,尚未上市就已經相當轟動。開放源碼(Open source)的手機作業系統,其實在此之前已經出現數個,例如Qtopia1以及其後雷聲大雨點小的Openmoko,再如當時以行動上網裝置(Mobile Internet Device, MID)為主的Maemo等等。不過,Qtopia與Openmoko的成熟度當時並未達到商業化需求,而日前Nokia雖然已經基於Maemo發表了新一代智慧型手機N900,但當時Maemo仍侷限於行動上網裝置,而非電話。

換言之,Android除了擁有眾多大廠支持,而且在開放之初就發表了T-Mobile G1,有產品可證明商品化能力。這意味著,長久以來受制於Windows Mobile,又無能力開發自有作業系統的手機廠商,看見了站在巨人肩膀上做出自有產品的可能性。從2008年底開放以來,2009年HTC, Samsung, Motorola, Acer等等都發表了Android手機,而看來2010年中還有更多。究竟 Android 有什麼特點,與以往根基於Linux的手機差別何在,以及面對其他手機作業系統的競爭有何優劣等等,本文嘗試做一介紹與探討。

技術面淺探

要談Android,就無法迴避技術面的討論,但在此會忽略細節以及犧牲一些語言精確度,試著做一簡介。

系統架構

Android作為一作業系統,其針對的硬體為智慧型手機,並在設計伊始就考慮到3G網路以及觸控螢幕、相機、GPS等現代應用。作業系統作為裝置與人之間的媒介,以及負責讓手機正常運作。與人接軌的那端,使用者介面、應用程式等,一般稱上層。而與機器接軌的部份,比如對打電話的控制、無線網路晶片、顯示圖形到螢幕上、接受觸控螢幕收到的手指觸摸等等,就是由底層來負責。在此我們先由下層開始介紹,再步步往上。

(http://developer.android.com/images/system-architecture.jpg)

Linux Kernel

必也正名乎:一般所稱Linux,其實是統稱,指根基在Linux kerne以及其他許多跟kernel不見得有關的軟體所組成的作業系統。最早,Linux一詞其實是專指kernel,它提供了系統底層與硬體間的基本核心,讓其他程式可以在上頭執行。其最早作者是Linus Torvalds,他用自己的名字,加上採用了與Unix系統相容的介面,將自己的作品命名為Linux。

如前所述,在Linux kernel上頭執行的程式,跟kernel本身不見得有關係。可以是自由軟體,也可以完全不是。把它加上一些自由軟體,例如基本的函式庫、工具、圖形介面,應用程式等等,所組成的一套完整作業系統,才是一般所稱的Linux。為了避免誤解,而且也為了正確傳達自身的貢獻,自由軟體基金會2 建議大家稱呼這樣的一套作業系統為GNU/Linux。其中的原因是,kernel提供底層機制,但系統中其他重要元件幾乎都是來自於GNU,也就是自由軟體基金會。

希望大家還沒被這些名詞搞混。要弄清這些不同的原因是,Android是在Linux kernel上頭運作的,但他並不是GNU/Linux。因為在一般 GNU/Linux裡面會有的東西,Android幾乎都沒有。

Linux kernel的版權是GNU General Public License version 2 (GPLv2)3,這又是什麼玩意呢?GPLv2是所謂的Copyleft4版權,簡單來說,就是為了確保智慧財產能夠繼續公開流傳,所以任何基於此創作的延伸創作,都自動採用了相同版權。GPL本身還有個特色,就是「共同運作」也算是延伸的一部分,意思是說你的程式沒直接改GPL的程式碼,但是連結了GPL的東西跟你的程式共同運作,那你的程式也必須採用GPL版權。

舉例來講,假定今天某公司覺得某GPL軟體不錯,拿來改了改,放在自己的產品裡頭拿出去賣,那某公司就一定要明確的一起散佈修改後的程式碼。如果沒有,那就是觸犯版權了。有個組織叫GPL Violations5,專門抓這種案例,國內公司如D-Link以及ASUS都上 過榜。這下問題來了:如果你是硬體廠商,希望你的硬體能在Linux kernel下運作,那麼就必須要有驅動程式。驅動程式就是按照硬體的規格寫的程式,用來告訴kernel怎麼操作這個硬體。如果驅動程式的程式碼公開,等於就是揭露了一些內部資訊。許多廠商不願意這麼做,所以就提供編好的驅動程式,但不提供原始碼。而kernel的版權所有者,也就是Linus Torvalds以及其他許許多多的kernel作者們,為了支援盡可能多的硬體,對這種行為是採取睜一隻眼閉一隻眼的態度,也就是目前這種編譯好的驅動程式,算是處在灰色地帶。

既然Android採用了Linux kernel,當然得照遊戲規矩來。但我們從前文可知,Android的重點就是商業應用,他們可不願意系統裡有什麼「灰色地帶」,於是採用了一些手法來繞過這問題。例如可以在 kernel這邊開個小通道,告訴大家說要控制這硬體就透過我吧,我只負責傳進傳出,但真正控制的指令都寫在某個不公開程式碼的Android函式庫裡頭。這樣一來,公佈的就只有那個通道,實際要怎麼控制,別人還是不知道。

走筆至此,可以看出Google的原則之一 “Do no evil” 是很有意思的。他們自己的確承諾,而且也願意公開Android的程式碼,但是他們給了其他人“Do evil”的選擇。這樣還算不算是 Do no evil 呢?當作哲學問題吧。

然而,Linux kernel已經發展了相當長的時間,擁有許多優秀的開發者以及廣大的使用者群,是非常穩定的系統核心。這為Android系統提供了相當穩定快速的基礎建設。

Libraries

這裡說的libraries是跑在系統裡頭的函式庫,採用的語言不是Java,他們提供了許多基礎建設。裡頭有幾個值得一提的元件:

Bionic:這是Android版的 libc。libc是 GNU/Linux以及其他類似Unix系統上最基礎的函式庫,一般最常用的是glibc,就是GNU做的libc。而在較小型的裝置上也可以用uclibc之類的。不論是glibc or uclibc,版權都是LGPL6(GPL的略為弱化版)。看到這大概可以猜到了吧,又是Copyleft問題。官方的說法是,除了版權問題以外,還考慮必須輕量以及快速,所以才做了自己的libc。不過輕量、快速,本來就是小型裝置用的uclibc一開始的目標,因此,最主要的恐怕還是版權問題。

Webkit:鼎鼎大名的Apple Safari瀏覽器背後的引擎就是Webkit,Android也包含進去了。支援可離線使用的html 5新發展,產生了各種有趣的可能,這部分值得另文介紹,這裡就不再贅述。

硬體抽象層(Hardware Abstraction Libraries, HAL):提供了操縱系統硬體的方法,上頭接上標準的Android framework,就可以讓使用者用一致的方式操作硬體。例如程式只要下令「拍照」,那麼雖然不同相機硬體拍照的指令下法不同,透過抽象層都可以包裝成一致的介面。HAL包含了Android對各硬體裝置例如顯示晶片、聲音、數位相機、GPS、3G 等等的需求,但他只是抽象的概念,事實上若要支援新的硬體,需修改的程式碼分散各處,要自行去尋找。這部份與系統廠商息息相關,後面會再談到。

Android Runtime

跨平台:Android最顯著的特徵之一,就是應用程式可以在不同的硬體上執行,而有同樣的行為。這聽起來沒什麼,一般我們用Microsoft Windows不就是如此嗎?其實並不那麼單純。可以想像,假定有一台Windows XP電腦,也有一隻Windows Mobile手機,那麼手機上的程式有沒有辦法拿到XP上面來跑,或者是相反呢?在電腦上,所有人跑的作業系統跟硬體,其實有很高的一致性,但是一旦到了小型裝置五花八門的世界,就不是那麼回事了。

一個程式的執行,牽涉到幾個元素:原始程式碼、編譯器、函式庫、CPU。Android的應用程式是採Java程式語言寫成,跨平台的方式也與Java類似。Java頗為普及,且之前在手機方面已有許多應用如遊戲等,稱為Java ME,由昇陽(Sun Microsystem)主導。一般所謂Java其實包含三個層面,其一是Java這個「電腦語言」,也就是像這樣的東西:

class HelloWorld
{
    public static void main(String [] argv)
    {
        System.out.println("Hello, world!");
    }
}

也就是用人比較容易看懂的語言(也許不那麼容易啦,但至少比一堆0跟1來得好)來叫電腦做事,比如上個例子是在螢幕上印一行字Hello, world。所謂程式的原始碼,就是一整篇這樣的文章,結合起來,可以叫電腦執行某些功能。這樣的語言比自然語言容易「翻譯」成電腦看得懂的「指令」,而負責翻譯的,就是「編譯器」。

電腦的核心CPU有很多不同種類。一般我們用的是Intel的產品,有些是32位元、有些是64位元。有些人用的可能是Power,例如以往蘋果電腦的使用者。還有一些小一點的電腦,可能就是用ARM架構。總之,不同的CPU具有不同的指令集合,是不能直接互通的。在此我們可以想像,同樣的程式碼,可以經由編譯器,翻譯成適合不同CPU架構的程式,而他們之間是不能互換的。例如編給ARM使用的程式,在Intel的CPU上頭就不能跑。要如何解決這個問題呢?

這裡引入第二層面:「Java 虛擬機器」(Java virtual machine)。虛擬機器可以想像成一虛擬的CPU,先設定一些共通的指令,然後針對各種不同的架構做個別轉換,如此只要是採用此「共同指令集」的程式,就可以在這虛擬機器上面執行,由虛擬機器負責轉換成目標CPU的指令集。如此一來,我們只需要把用電腦語言寫好的程式編譯成「虛擬機器」看得懂的就行了。Java使用的共通指令就稱做 “Java bytecode”。

最後則是Java runtime library,也就是一個「函式庫」,裡頭存了很多編譯好的現成程式,來讓開發者使用,這樣就可省下很多重覆的工作。比如上頭這例子裡頭的System.out.println就是函式庫提供的。那我們可以想像,如果在程式中我們用了很多某個函式庫裡頭的東西,但是用的人只拿到編譯好的程式,但沒有同樣的函式庫,那這程式還是不能用。比如說,Windows, Linux提供的基本函式庫就很不一樣,所以做同樣事情的程式,寫法可能完全不同。Java函式庫裡頭提供的工具,是有標準可循的,所以以上的程式,不管是要在Windows上頭跑,或是Linux上頭跑,都是一樣的寫法。

於是乎,我們可以把Java runtime library跟Java虛擬機器搭配起來,這樣我們只要用Java這個語言寫程式,裡頭呼叫Java runtime library裡頭的工具,用編譯器編成Java bytecode,交給虛擬機器去執行,就可以在各種平台上面跑一樣的程式了。這兩者的組合稱為「Java Runtime Environment, JRE」,只要針對某環境提供JRE,就可以執行Java應用程式了。雖然這聽起來很棒,但我們可以想像,由於隔了一層虛擬機器,程式跑起來容易比直接下命令來得慢,而且必須額外安裝JRE,用掉較多資源。

Java Runtime讓人們可以在不公開原始碼的情況下,發行編譯好的應用程式,在各種不同的平台上執行,相當適合商業應用。Android循著相同架構,也提供了Android Runtime,但有幾點不同。

Android使用的虛擬機器叫作Dalvik,原本並不是針對Java設計的。它認識的指令集並不是Java bytecode,而叫Dalvik executable,簡稱dex。Android裡頭提供了一個工具程式叫dx,可以把 Java bytecode再翻譯成dex,這樣Dalvik就可以執行它了。這虛擬機器為了適合在電話這種比較小型的平台上使用,而做了許多最佳化的處理,例如適用較慢的CPU、低記憶體使用量、減小應用程式的大小等等。

Android虛擬機器與函式庫合稱Android Runtime,在函式庫方面,提供了大部分的標準Java函式庫,讓Java工程師可以無痛的轉換,而關於手機的部份則提供許多諸如使用者介面、藍芽、GPS相關、網路、3D加速、影音、以及電話本身等等許多現成的函式可用。這些函式使得開發者可以直接取用基礎功能,進而專注於應用程式的開發。

Application Framework

提供應用程式執行環境,針對手機設計,許多觀念與一般個人電腦應用程式有相當不同。在此將開發者網站上的說明大略翻譯如下:

應用程式元件

Android的重要功能之一為,應用程式可在對方允許的情形下,使用其他應用程式的元素。例如,如果你的應用程式想要顯示一排可以捲動的影像,而另一應用程式已經開發出了適合的捲軸元件,並開放給他人使用,你可以直接呼叫這元件來使用,而不需自行開發。你的應用程式不需要包含他人的程式碼,也不需固定連結到某程式。反之,Android框架會在有需要時,自動啟動其他應用程式的相關功能。

要順利運行,系統必須能夠在需要其任一元件時,啟動一應用程式程序,並做出需要的Java物件。所以,與大部分系統上的應用程式不同,Android應用程式並沒有一個單一的「進入點」來使用所有功能。反而是,他們提供元件讓系統可以視需要使用。元件類別有四種:

Activities

Activity表示一使用者介面,用以完成某特定事務。例如,activity可呈現一選單列表,或是顯示相片跟標題。簡訊軟體可能包括一個列出所有傳簡訊對象的activity,一個讓使用者對選擇對象寫簡訊的,以及其他的activity來看舊訊息以及設定功能。他們雖然組成一個使用者介面,但各元件互相之間仍是獨立的,例如,其他軟體需要傳訊時給某人時,可能只需叫出「寫簡訊」的activity,而不需其他。

一應用程式可以只包含一個activity,也可以像剛才描述的簡訊軟體一樣,包含好幾個。當然,需要哪些,以及要多少,都是取決於應用程式的設計。一般來說,其中一個activity會被標為程式執行時第一個看到的畫面。由一個activity移動到另一個,是利用目前的來呼叫下一個。每個activity都分配到一個預設的視窗,可以在裡頭畫東西。一般說來,這視窗跟螢幕一樣大,但它也可以比螢幕小,並浮在其他視窗上。而activity也可以開多個視窗,例如跳出一個視窗來取得使用者回應,或者是針對使用者選擇顯示重要資訊。

視窗內部的視覺組成是由樹狀結構的”view”組成,每個view可以包含其他view,控制視窗中一塊長方形的區域,並可跟使用者互動。換句話說,view可組成activity與使用者互動的「實相」。Android系統中有許多現成的view可供取用,例如按鈕、文字欄位、捲軸、選單、勾選格等等。

Services

Service並沒有可見的使用者介面,而是在背景永久執行。例如,當使用者做其他事情時,service可能在播放音樂,或正從網路上抓取資料等等。

Broadcast receivers

唯一功能為收取以及回應「廣播訊息」。廣播經常來自Android系統本身,例如,手機所處的時區改變,電池快沒電了,或是剛照了一張照片,或是使用者剛改變了顯示介面的語言等等。應用程式也可以發出這類廣播,例如,讓其他應用程式知道某些資料已經下載完成,可以使用了。

一應用程式可以有任意數量的broadcast receiver來收取任何它認為重要的訊息。它沒有使用者介面,然而,他們為了回應廣播訊息,可以呼叫某個對應的activity,或者是發出一訊息通知來告訴使用者發生了什麼事情,以及震動、播放音效、閃爍軌跡球等等。

Content providers

負責對其他應用程式提供或收取資料。資料可存放在檔案系統中,或資料庫、或任何合理的方式。例如:通訊錄。

任何時候,當系統需要某一特別元件時,Android系統會先肯定擁有這個元件的應用程式正在執行,如果沒有,就啟動他。另外還會確認此元件是否已經存在於系統中,若視沒有,就製作一個。

啟動元件:intents

Content provider在有人需要存取時便會由系統啟動,而其他三類元件:activity, service, broadcast receiver都是由一種叫intent的訊息啟動的。一個intent表示的是一種「企圖」。例如,它可能是要求「顯示這張圖片」,或者是「編輯這段文字」,或「編一段訊息傳給這個人」。比如說,某應用程式想傳訊給通訊錄中的某一人,可先發出企圖「瀏覽通訊錄」,則系統中負責此事的元件便被啟動。選取對象後,便呼叫「編輯簡訊」的元件來編輯並接著發送出去。
關於應用程式運作,詳細情形可參考開發者網站上的說明7,在此就不詳述了。

Applications

要開發Android應用程式,並不需要下載整個平台的程式碼,只需要採用Google發行的軟體開發工具(Software Development Kit, SDK)即可。使用的電腦語言是Java,並內建模擬器,可直接驗證寫出的應用程式,而不需擁有實體手機。建議的開發環境為Eclipse,此軟體亦為開放源碼專案,不需付費即可使用,許多公司如IBM等亦根基於Eclipse推出了自有的工具,可說應用相當普遍。Google在這部份提供了Eclipse的一個延伸套件,與模擬器、除錯等等都有整合,並提供完整文件,進入門檻降得相當低。

延伸閱讀:

  1. http://www.betaversion.org/~stefano/linotype/news/110/ (Dalvik: how Google routed around Sun’s IP-based licensing restrictions on Java ME):關於 Android 如何繞過 Java ME
  2. http://blogs.sun.com/jrose/entry/with_android_and_dalvik_at (with Android and Dalvik at Google I/O):對 Dalvik 有興趣的話一定要看
  3. http://sites.google.com/site/io/anatomy–physiology-of-an-android (Anatomy & Physiology of an Android):Google 對 Android 平台內部架構的概觀介紹

notes

1 現已經多次改名,先改為 Qt Embedded,現通稱 Qt,讀音同cute。現已由 Nokia 收購。

2 http://www.fsf.org/

3 http://en.wikipedia.org/wiki/GNU_General_Public_License

4 http://en.wikipedia.org/wiki/Copyleft

5 http://gpl-violations.org/

6 http://www.gnu.org/copyleft/lesser.html

7 http://developer.android.com/guide/topics/fundamentals.html

 

資料來源:http://mmdays.com/2010/08/27/android-1/

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

本篇目的在儘量不觸及技術細節的情況下簡介 Android 架構,並探討其設計的特殊處,以及在版權上的意義。主要資料來源為 Anatomy & Physiology of an Android,有興趣深入研究的讀者可參考。

首先來一張現在大概已經很有名的圖片:

由下到上,可以看到紅色的 kernel 層,綠色的系統函式庫,黃色的虛擬機器,以及藍色的 Java 程式碼。以下將一一介紹。

Linux kernel

必也正名乎:一般所稱 Linux,其實是統稱,指根基在 Linux kernel 以及其他許多跟 kernel 不見得有關的軟體所組成的作業系統。最早,Linux 一詞其實是專指 kernel,它提供了系統底層與硬體間的基本平台,讓其他程式可以在上頭執行。其最早作者是 Linus Torvalds,他用自己的名字,加上採用了與 Unix 系統相容的介面,將自己的作品命名為 Linux。

如前所述,在 Linux kernel 上頭執行的程式,跟 kernel 本身不見得有關係。可以是自由軟體,也可以完全不是。把它加上一些自由軟體,例如基本的函式庫、工具、圖形介面,應用程式等等,所組成的一套完整作業系統,才是一般所稱的 Linux。為了避免誤解,而且也為了正確傳達自身的貢獻,自由軟體基金會建議大家稱呼這樣的一套作業系統為 GNU/Linux。其中的原因是,kernel 提供底層機制,但系統中重要的元件幾乎都是來自於 GNU,也就是自由軟體基金會。

希望大家還沒被這些名詞搞混。要弄清這些不同的原因是,Android 是在 Linux kernel 上頭運作的,但他並不是 GNU/Linux。因為在一般 GNU/Linux 裡面會有的東西,Android 很多都沒有。

Linux kernel 的版權是 GNU General Public License version 2 (GPLv2),這又是什麼玩意呢?GPLv2 是所謂的 Copyleft 版權,簡單來說,就是為了確保智慧財產能夠繼續公開流傳,所以任何基於此創作的延伸創作,都自動採用了相同版權。GPL本身還有個特色,就是「共同運作」也算是延伸的一部分,意思是說你的程式沒直接改GPL的程式碼,但是連結了GPL的東西跟你的程式共同運作,那你的程式也必須採用GPL版權。

舉例來講,假定今天某公司覺得某GPL軟體不錯,拿來改了改,放在自己的產品裡頭拿出去賣,那某公司就一定要明確的一起散佈修改後的程式碼。如果沒有,那就是觸犯版權了。有個組織叫 GPL Violations,專門抓這種案例,國內公司如 D-Link 以及 ASUS 都上過榜。這下問題來了:如果你是硬體廠商,希望你的硬體能在 Linux kernel 下運作,那麼就必須要有驅動程式。驅動程式就是按照硬體的規格寫的程式,用來告訴 kernel 怎麼操作這個硬體。如果驅動程式的程式碼公開,等於硬體規格也公開的差不多了。許多廠商不願意這麼做,所以就提供編好的驅動程式,但不提供原始碼。版權所有者,也就是 Linus Torvalds 以及其他許許多多的 kernel 作者們,為了支援盡可能多的硬體,對這種行為是採取睜一隻眼閉一隻眼的態度,也就是目前這種編譯好的驅動程式,算是處在灰色地帶。

既然 Android 採用了 Linux kernel,當然得照遊戲規矩來。但我們從前文可知,Android 的重點就是商業應用,他們可不願意系統裡有什麼「灰色地帶」,於是採用了一些手法來繞過這問題。他們把驅動程式移到 “userspace”,也就是說,把驅動程式變成在 Linux kernel 上頭跑,而不是一起跑的東西,這樣就可以避過GPL。然後,在 kernel 這邊開個小門,讓本來不能直接控制到硬體的 “userspace” 程式也可以碰得到,這樣只要把「開個小門」的程式碼公佈就行啦。事實上,目前因為 Android 已經發行,所以依法他們已經公開了對 kernel 的修改,其原始碼在 http://git.android.com/

走筆至此,可以看出 Google 的原則之一 “Do no evil” 是很有意思的。他們自己的確承諾,而且也願意公開 Android 的程式碼,但是他們給了其他人 “Do evil” 的選擇。這樣還算不算是 Do no evil 呢?當作哲學問題吧。

關於 Android 對 kernel 的修改,Google 的簡報還提供了兩個重點:

  1. Binder (IPC):提供有效率的程式間溝通管道(Inter-Process Communication)。Android 系統中有很多服務,而上層的應用程式經常要取用這些服務,一般的 Linux 系統已經提供了不少 IPC 的方式,不過 Android 還是搞了套自己的。雖說文件中解釋原因為「一般 IPC 會造成額外資源花費,以及安全問題」,但其實這些都是可以基於原有架構在 kernel 外頭解決的,為何要改在 kernel 裡頭,筆者對此存疑,也只能等找時間去研究程式碼才知了。
  2. Power Management:與桌上型電腦或筆記型電腦不同,手持裝置的電源一向相當有限,必須無所不用其極的去想辦法省電,但又不損及順暢的使用經驗。Android 在此採取了頗為積極的作法:「沒有人說要用,就關掉」。例如某程式在放 MP3 音樂,於是此程式會需要 CPU 的計算能力,那就得開口要。如果與此同時沒其他程式在執行,那麼 LCD 顯示器就可能被關掉,藉以省電。另一特別處,是在於 Linux kernel 一般考慮的都是在電腦上的作法,所以多半只有進入暫停、休眠等等的選擇,而不會如此細緻的去控制到各個小裝置的電源供應。

系統函式庫

這裡說的系統函式庫是指 “native libraries”,是跑在系統裡頭的函式庫,採用的語言不是 Java,提供一些基礎建設。裡頭有幾個值得一提的元件:

  1. Bionic:這是 Android 版的 libc。libc 是 GNU/Linux 以及其他類似 Unix 系統上最基礎的函式庫,一般最常用的是 glibc,就是 GNU 做的 libc。不然在比較小型的裝置上也可以用 uclibc。不論是 glibc or uclibc,版權都是LGPL (GPL 的略為弱化版)。看到這大概可以猜到了吧,又是 Copyleft 問題。官方的說法是,除了版權問題以外,還考慮必須輕量以及快速,所以才做了自己的 libc。不過輕量、快速,本來就是小型裝置用的 uclibc 一開始的目標,因此,最主要的恐怕還是版權問題。
  2. Webkit:鼎鼎大名的 Apple Safari 瀏覽器背後的引擎就是 Webkit,Android 也包含進去了。離線使用的 html 配上 html 5 的一些新發展,產生了各種有趣的可能,這部分值得另文介紹,這裡就不再贅述。
  3. Surface Flinger:提供把各種”surface”組合在一起的能力。在這裡 surface 解釋為程式想要顯示在螢幕的東西,可能同一螢幕上有來自不同程式的內容,而這些內容有可能是 2D 顯示或是 3D 顯示等等之類。Surface flinger 就是把這些東西結合起來,一起送到螢幕上。目前程式碼還沒公布,不過 2D 跟 3D 的混合顯示一直都是問題,根本原因是我們通常告訴 3D 顯示卡的東西都是一些「我要在哪裡哪裡畫上什麼形狀,貼上某某材質然後旋轉多少度」之類的事情,也就是說,我們並不知道最後顯示出來會長什麼樣子,那是顯示卡上頭的 GPU 去算出來的。一般這些東西是顯示在一個有裝飾的視窗裡頭,這裝飾通常是 2D 效果。接下來假定我們想要旋轉這整個視窗,而且裡頭的東西還要繼續動,那等於要隨時把握 3D 視窗裡的東西長什麼樣子,然後把它跟 2D 的視窗框框結合,然後再開始轉動。目前在一般 GNU/Linux 上這件事情還沒有處理的非常好,Android 怎麼做,值得在程式碼公布之後注意。
  4. 硬體抽象層 (Hardware Abstraction Libraries):這就是前文所述的 userspace 驅動程式,如果想要將 Android 在某硬體平台上執行,基本上完成這些驅動程式就行了。其內定義了 Android 對各硬體裝置例如顯示晶片、聲音、數位相機、GPS、GSM 等等的需求。

Android Runtime 前文已有涉及,這裡不再重複。另外藍色部分的 “Application Framework” 主要是跟如何在 Android 上寫程式有關係,之後將另文介紹。

資料來源:http://mmdays.com/2008/10/11/android-%e6%b7%ba%e6%8e%a2%e4%ba%8c%ef%bc%9a%e7%b3%bb%e7%b5%b1%e6%9e%b6%e6%a7%8b/

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

Java

Android 所採用的語言是 Java,先從這開始談起。一般所謂 Java 其實包含三個元素,其一是 Java 這個「電腦語言」,也就是像這樣的東西:

class HelloWorld
{
    public static void main(String [] argv)
    {
        System.out.println("Hello, world!");
    }
}

也就是用人比較容易看懂的語言(也許不那麼容易啦,但至少比一堆 0 跟 1 來得好)來叫電腦做事,比如上個例子是在螢幕上印一行字 Hello, world。我們還會需要一個「編譯器」,來把這語言從人看得懂的,翻譯成電腦看得懂的。容後再論。

第二個元素是「Java 虛擬機器」(後稱JVM, Java virtual machine)。電腦的核心 CPU 是有很多不同種類的。一般我們用的是 Intel 的產品,有些是 32 位元、有些是 64 位元。有些人用的可能是 Power,例如部分蘋果電腦的使用者。還有一些小一點的電腦,可能就是用 ARM 架構。總之,不同的 CPU 使用方法也不同,指令是不能直接互通的。虛擬機器就是設定一些共通的指令,然後針對各種不同的架構各寫一個程式去配合這套指令。如此一來,我們只需要把程式編譯成「虛擬機器」看得懂的就行了。Java 使用的共通指令就稱做 “Java bytecode”。

其三是 Java runtime library,也就是一個「函式庫」,裡頭存了很多編譯好的現成程式,來讓開發者使用,這樣就可省下很多重覆的工作。比如上頭這例子裡頭的 System.out.println 就是函式庫提供的。那我們可以想像,如果在程式中我們用了很多某個函式庫裡頭的東西,但是用的人只拿到編譯好的程式,但沒有同樣的函式庫,那這程式還是不能用。比如說,Windows, Linux提供的基本函式庫就很不一樣,所以做同樣事情的程式,寫法可能完全不同。Java 函式庫裡頭提供的工具,是有標準可循的,所以以上的程式,不管是要在 Windows 上頭跑,或是 Linux 上頭跑,都是一樣的寫法。

二跟三兩者加起來,合稱 “Java Runtime Environment”, JRE. 它可以讓編譯好的 Java 程式「跨平台」。怎麼說呢?我們用 Java 這個語言寫程式,呼叫 Java 函式庫裡頭的工具,最後用編譯器編成共通的指令集,交給虛擬機器去執行。如此一來,同樣的程式在各個地方都能跑了。這雖然聽起來很棒,但我們可以想像,由於隔了一層虛擬機器跟函式庫,一定會比直接下命令來得慢,而且也要有人針對某作業系統跟某 CPU 架構去寫了這套東西,大家才能用。另外一個想法就是,那為何不直接把程式碼公開,讓大家針對不同的情況去處理,這樣就不需要虛擬機器,速度也一樣快,不就兩全其美了嗎?自由軟體走的就是這樣的路子。

問題是,許多公司不想公布自己的程式碼,因為必須要靠它賺錢。Java 讓他們可以不公布程式碼,只發行編譯好的程式,就在各平台上執行。使用者只需要安裝虛擬機器跟函式庫就行了。我們可以說,Java 是適合商業應用的。這點是很重要的一個特性。

以上的觀念大概瞭解了以後,我們看看 Android 在這部分做了什麼。

一、語言部分

Android 使用的 Java 語言並沒有不同,原本熟悉的工程師仍可以繼續使用。

二、虛擬機器

Android 使用的虛擬機器叫作 Dalvik,原本並不是針對 Java 設計的。它認識的指令集並不是 Java bytecode,而叫 Dalvik executable,簡稱 dex。Android 裡頭提供了一個工具程式叫 dx,可以把 Java bytecode 再翻譯成 dex,這樣 Dalvik 就知道怎麼執行它了。這虛擬機器為了適合在電話這種比較小型的平台上使用,而做了許多最佳化的處理,例如減低記憶體的使用,而且可以有效率的同時執行好幾個程式。它仰賴底層的 Linux 作業系統來幫他處理一些事情,意味著目前 Dalvik 是綁在 Linux 上的

三、函式庫

Android 提供了大部分的標準 Java 函式庫(來自於Apache Harmony),並把他們轉換成 dex 的格式,如此 Dalvik 才認得。除此之外,還提供了很多獨有的函式,讓使用者可以直接呼叫來使用電話、GPS等元件,或者是一些視覺的元件來取得跟其他 Android 程式相同的外觀。

Android 虛擬機器與函式庫合稱 Android Runtime。它有幾個特性:

  • 不能直接執行編譯好的 Java 程式。要轉換成 dex 檔案後才能執行。
  • 若此程式使用了 Android 未提供的函式,仍不能執行。
  • 若我們拿到了 Android 應用程式,無法在 Java Runtime 上跑起來。原因為 1. 必須把 dex 轉回 Java bytecode,這難度目前不明。2. 沒有 Android 提供的獨有函式。

仔細思考的話,會發現所謂 Android Runtime 跟 Java Runtime (尤其是 Sun所提供的套件)的不同處很多,只是「剛好」Android 提供了很多 Java 函式庫裡的功能,讓 Java 工程師可以無痛的轉換罷了。另外就是他仍然保持了對商業應用的親和性,只要發行編譯好的 dex 檔案,而不需公布程式碼。

資料來源:http://mmdays.com/2008/09/29/android-%e6%b7%ba%e6%8e%a2%e4%b8%80/

香醇咖啡 發表在 痞客邦 留言(1) 人氣()

那是他們的初夜.她的,和他的.

她在他懷裡說.她是他的.以後都只是他的.

他抱著她說,他以後再也不碰別的女人了.

 

 

那一階段.他們好的如膠似漆...

女人.一旦把自己給了他.就覺得自己的一切都是他的了.

認定了一輩子都要和他在一起.不再輕易說分手.她也是

 

 

所以以後的一切她都忍了.

他們做薆的次數從每週3次變成每週1次.再變成每月一次.

他說他沒有精力.

算了.你要注意身體,她說.

每晚的約會變成電話.再後來用幾條消息代替.

甚至有時候連消息都沒有.他說我們老夫老妻了.

幹嗎這麼在乎形式啊.她沒有說話.

他說晚安.她哭了.


她不知道他們之間出了什麼問題.

他會對她這樣...記得誰和我說過.

如果一個男的不碰她了.就是不愛她了.

 

 

後來她知道他和另一個女的上過床了.

據說那個女的不是第一次.但是她能讓他很快樂.

他和另個她天天粘在一起.

 

 

而她和他,已經快兩個月沒有發生過關係了.甚至連聯繫都很少.

 

 

他看到她的時候有點驚訝.

她一看到他就哭了.她說你已經快兩個月沒有碰過我了.

他沒有說話.拉起她去了附近的一家賓館.一路上什麼話也沒有說.

他們像以往一樣開了房間.她洗完澡出來.他還是一動不動坐在沙發上.他連看都沒有看她一眼.

那一刻.她心都碎了.

她強忍住眼淚.脫下浴衣.他還是沒有反應.

她說,最後一次好麼?他沒有說話.從口袋裡拿出避孕套.

她說不用了.我不會要你負責任的.這是我們的最後一次.

她想盡辦法讓他快樂.想盡辦法滿足他.

她要讓他知道.她能給你的,我也可以.

但是她還是發現無論她怎樣努力.

他們之間都已經結束了.以前他都會把她全身吻遍.

但是今天他沒有.

 

 

完了她躺在床上問他.還記不記得他們的第一次?

他邊抽煙邊說,那是很久以前的事了吧.

她說那你還記得你那時候說過的話麼?

他說..人是會變的.我們分手吧.

 

她到現在還清楚的記得他的那句話,人是會變的.

並且,她也發現了.人真的會變的.

 

 

分手以後的她,白天整天躲在家裡.

唯一能做的事情就是上網.有一次在網上認識了一個男的.

他說他要看她的身體.看一次100QB.

她突然想到他們的最後一次了.

他對她的身體一點興趣也沒有.她哭了.竟然脫光了衣服.

晚上她就和那個從來沒有見過面的網友去開了房間.

她讓他很快樂.他讓她做他女朋友.她拒絕了.

 

 

第二天,她又開始尋找新的對象.晚上去一夜情.

她感覺自己已經和****一樣了.她和不同的男人上床.

有的很帥.有的很醜.小的十六七歲.老的五六十歲.

而且.她從來都不要求他們用套子.
她要自己身上沾滿了不同男人的氣味.這樣就不會聞到他的味道了.

 

 

在QQ上碰到他.他換了名字.她沒有認出是他.

他說可以看看麼?她以為又是個來看身體的傢伙.

她照樣把衣服脫光.攝像頭對著自己的身體.

看到對方圖像的時候.她忘記了是什麼感覺.

那張臉曾經無數次出現在記憶裡.現在.卻只在夢裡.

她笑了.

他約她見面.他說你怎麼變成這樣.

她回答他,人總會變的.不是只有你會.

他說,你為什麼要這麼作踐自己.你這樣和****有什麼區別.

她說,區別啊.我不收錢的.

但是如果對象是你.你給我一百萬我都不會再和你上床了.

 


一口煙吐在他臉上.她走了.

後來從朋友口中得知.他每天去酒吧帶不同的女孩子回家過夜.

 

 

曾經,她在他懷裡說.她是他的.

以後都只是他的.他抱著她說,他以後再也不碰別的女人了. 

 
看完,覺得好殘酷...
 

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

某公司今天舉辦一場面試,結束後。以下是人事官跟總經理的對話
人事官:「今天有三個人來面試,董事長說三個人都要錄用,請總經理想個職務給他們吧~」
總經理:「三個人各是什麼樣的人?他們假日願意加班嗎」
人事官:
「第一個人希望月領3萬,無論發生啥事情,隨時都願意任勞任怨地加班~」
總經理:
「很好!請他來當底層工程師吧!機房最需要這樣的人!!」
人事官:
「第二個人期望月領5萬,不太願意加班,但只要有重大事件發生,即使假日也會呆在職務上」
總經理:
「恩..看他經歷還不錯,請他當課長吧!」

人事官:
「第三個有點...他期望月領7萬以上,無論發生啥重大事件、無論死多少人,只要節日他就一定要過、下午五六點就走人。更糟的是有人罵他,他還會很理直氣壯嗆回去~這樣的人可以擔任啥職務呀?」

總經理:
「沒關係~~~~~~~~~~~~~~~~~

   他可以當我們秘書長!」
 

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

 
三朝 寶寶出生第三天
報酒 寶寶出生第三天
剃胎髮 寶寶出生後第12天或第24天
彌月 寶寶出生後滿一個月
收涎 寶寶出生後滿四個月
抓周 寶寶出生後滿一歲
 
三朝  (出生第三天) --

寶寶出生後的第三天,在習俗上稱為三朝。

這一天要幫寶寶洗澡,洗澡時在浴盆內放入桂花心、橘子葉、三個小石子。桂花心象徵富貴;橘子葉代表甘甜以及繁榮的意思,希望以後能夠子孫滿堂;而小石子有兩種說法,第一就是要幫小寶寶作膽,所以要挑選大小適中的石頭(膽子不能太小也不能膽大包天),而且形狀要圓,個性才會柔和圓滑。第二種說法,則是希望寶寶「頭好壯壯」,能有一個如石頭般的強硬頭殼。

洗完澡穿上新衣之後,則要準備雞酒、油飯祭拜祖先及守護神。不過,要記得一般祭拜時都會將牲禮也就是雞腳反折塞入雞腹內,可是行三朝之禮時,雞腳要放在外面,代表孩子會有一雙健壯的腳,另外,俗話也說腳長有吃福,表示孩子以後有豐衣足食的福份。


準備用品

1. 桂花心、橘子葉、三個石頭、浴盆。2. 雞酒、油飯、祭拜用品。

 
報酒  (出生第三天) --

報酒又稱報喜,也是三朝這天要做的習俗。

當祭祀祖先等儀式完成後,就要送雞酒、油飯至娘家,通知娘家小外孫已經出生了,而娘家則會回以各種補品,讓產婦調補身體。

同時也會送雞酒、油飯給媒人,以感謝媒人當初作媒,分享新生的喜訊,不過,因過去重男輕女的關係,有些人只有在生男丁時,才會送雞酒、油飯給媒人。此外,也會將雞酒、油飯分送鄰居,讓大家一起增添新生命的喜悅。

準備用品

雞酒、油飯。

 
剃胎髮 ---

「剃胎髮」指的當然就是為寶寶執行他在出生後的第一次理髮儀式,其意義有二:1.  去除穢氣 2.  希望寶寶的頭髮能長得又濃又密;但「剃胎髮」這個習俗可不只有剪剪頭髮而已,通常在為寶寶剃髮之後,還有一些為寶寶祈求聰明、漂亮、財運等等的儀式。假如妳恰好是剛生產後的媽咪,並正想為寶寶討個好兆頭的話,就請跟著我們一起準備用品,共同為寶寶許一個美好的未來吧!


準備用品 圓形的石頭、銅板、紅雞蛋1個、紅鴨蛋1個、蔥少許。
祈願方式

在剃髮之後,於寶寶洗澡的水盆內放入熱水、石頭、銅板和蔥(如依古籍中所記,則尚須加上煮過雞蛋和鴨蛋的水),並用其為寶寶洗頭和洗澡;洗澡時,先用石頭在寶寶的胸前輕點三下,此即「做膽」,意為希望寶寶長大後膽子大的意思,值得注意的是,石頭的選擇務必要是圓形的,如此寶寶的性情才會較為圓滑。接下來,則是用紅鴨蛋滾過寶寶的身體、紅雞蛋滾過寶寶的臉上,並一邊口唸吉祥話,如「鴨卵身、雞卵面、卡好的姻緣來相提」等;此外,在寶寶的頭上滾紅蛋尚有「紅頂」的意義,為盼其將來功成名就、升官的吉兆。至於銅板和蔥也並非虛置,銅錢象徵有財運、好運等富貴之意,「蔥」則是與「聰」同音,具有祈使孩子聰明的意思。  

 
彌月 --

彌月禮由來已久,古籍中即有記載,滿月日需宴請親友吃湯餅,因此
滿月宴席尚有「湯餅宴」的雅稱。

準備用品 紅龜粿、紅桃、禮燭、油飯(或蛋糕)、米糕、紅蛋 。
外婆「送頭尾」的
準備項目 -------
嬰兒從頭到腳所穿戴的全部衣物。包括帽子、鞋襪、衣服、
尿布、包巾、棉被、嬰兒車、背巾、銀牌、金鎖、手鐲、腳鐲等。
 
  • 下一胎想生男孩,就不能送背巾,因為「巾」與千「金」同音, 送背巾表示下一胎將生女千金之意。

  • 在衣服或帽子上都必須繡上金萬字、金帽徽,表示是外婆送的,也有保平安的用意。

  • 親朋好友也會送禮,所以要有油飯加象徵喜氣圓滿的紅蛋、米糕、雞酒等答禮,現代人大部份是回贈蛋糕,也有請吃滿月筵席。

收涎  (做四月日) --


寶寶滿四個月的那一天,要準備牲禮、紅龜粿、酥餅等供奉神佛祖先,娘家也得和彌月時一樣送頭尾,同時親友也可隨意贈禮;最後,產婦則以湯圓、紅桃或酒宴作為答禮,此即所謂的「做四月日」在做四月日這項禮俗中,最具趣味的就是「收涎」,意思為收起寶寶的口水,為寶寶解決流口水的毛病;另外在做四月日當天,還需用紅線繫結寶寶的手腳,避免寶寶長大後做不正當的事,而成為一個堂堂正正的人。

準備用品 牲禮、紅龜粿、酥餅。 外婆須「送頭尾」。
頭尾用品

帽子(金帽徽)、鞋子、帽子、衣服、褲子。
娘家也要和做滿月時一樣「送頭尾」,特別
要送褲子,表示寶寶要快快開始學走路。

作法

用12個或24個酥餅穿上紅線,掛在寶寶胸前,由媽咪抱著,並請長輩或親友取酥餅,在嬰兒嘴唇做楷抹狀,再念吉祥話「收涎收乾乾,讓你媽咪明年生男孩,收涎收利利,讓你明年招小弟。」希望借眾人之力,共同祈求寶寶不再流口水,來年再添丁。


 
抓周 (度晬) ---


準備用品 米篩、書、印章、筆墨、算盤(計算機)、錢幣、雞腿、豬肉、尺、蔥、芹菜、蒜、稻草、刀劍、聽筒等。
頭尾用品 帽子、上下著衣服6套(雙數)、軟皮學布鞋、助步車(手推車)、益智玩具、推車(輕便型)。
作法 週歲這天最重要的儀式就是選才,又稱為抓周,等於是中國式的性向測驗,祭拜後,在神壇前準備一個米篩,裡面放12-14樣物品: 書、印章、筆墨、算盤(計算機)、錢幣、雞腿、豬肉、尺、蔥、芹菜、蒜、稻草、刀劍、聽筒等,再讓嬰兒坐在米篩中央,讓他任意抓取,用以預測將來命運或會從事的行業。


各種物品代表的職業:
文化界是個研究學問的讀書人 筆墨 藝術界能成為書畫家
印章 能成為政府官員能掌權 算盤 商人在商界發展
錢幣 將來會很有錢 雞腿 有吃的福氣將來不愁吃穿
很會做生意的生意人 設計師
生性聰明 善於精算
芹菜 生性勤勞 稻草 從事農業工作
刀劍 能當軍官 聽筒 將來會當醫生

祈願方式:

從剃髮、彌月到收涎、度晬,多樣的傳統成長禮,在在
都表現了中國人喜獲麟兒的歡欣;假如你也相當欣賞日本
延續自今的成年禮,並且每年都會慶祝聖誕節的話,何不
開始試試咱們中國傳統文化禮俗,既可增添閤家的趣味,又可為寶寶討個好兆頭喔!

 
 

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

由於先前整理eSATA的傳輸速度,所以也一併閱讀了SATA相關技術資料,故整理成篇以便查閱。

SATASerial ATA(Serial Advanced Technology Attachment)的縮寫,亦稱串行ATA。它是一種電腦總線,主要功能是用作主機板和大量儲存裝置(如硬碟光盤驅動器)之間的數據傳輸之用。

SATA是一種可足以完全取代舊式PATA(Parallel ATA)的新型硬盤接口,因採用串行方式傳輸數據而得名。在數據傳輸上這一方面,SATA的速度比以往更加快捷,並支持熱插拔,使電腦運作時可以插上或拔除硬件。另一方面,SATA總線使用了嵌入式時脈訊號,具備了比以往更強的糾錯能力,能對傳輸指令(不僅是數據)進行檢查,如果發現錯誤會自動矯正,提高了數據傳輸的可靠性。不過,SATA和以往最明顯的分別,是用上了較幼的排線,有利機箱內部的空氣流通,某程度上增加了整個平台的穩定性。

現時,SATA分別有SATA 1.5Gbit/sSATA 3Gbit/s即將推出的SATA 6Gbit/s三種規格。

排線和電源線

SATA排線

傳統的 Parallel ATA 使用 單模信號放大系統「single-end-signal-amplified-system」。在這種系統中,雜訊會隨著正常信號一起傳輸、放大,不易被抑制;在高速時尤其嚴重,為了有效的減少雜訊的干擾,我們只好使用高達5V的電壓來傳送正-常訊號,使大電壓的正常訊號蓋過小電壓的雜訊信號。雖然大的電壓可以有效的抑制雜訊,但是大的電壓同時也表示驅動電路的生產成本將因此上升,大電壓更不利於高速傳輸系統的設計和製造,高達5V的傳輸電壓限制了追求高速和低成本的可能性。

和 Parallel ATA 相比,新的SATA 使用了差動信號系統「differential-signal-amplified-system」。這種系統能有效的將雜訊從正常訊號中濾除,良好的雜訊濾除能力使得SATA只要使用低電壓操作即可,和 Parallel ATA 高達5V的傳輸電壓相比,SATA 只要0.5V(500mv) 的峰對峰值電壓即可操作於更高的速度之上。「比較正確的說法是:峰對峰值『差模電壓』」。

和 Parallel ATA 的 5V 驅動電壓相比,0.5V的SATA系統節省電力,其驅動IC的生產成本也較為便宜。

SATA支援進階主機控制器介面(AHCI)功能,可讓SATA儲存裝置啟用進階SATA功能,例如NCQ熱插拔

SATA 1.5Gb/s為第一代SATA介面,坊間的非官方名稱為SATA-1[1],傳輸速度為1.5Gbit/s。

SATA 3Gb/s2004年正式推出,坊間的非官方名稱為SATA-2[1],符合ATA-7規範,傳輸速度可達3.0Gbit/s。這顯示SATA的速度提升是以幾何級數增長,這點和PATA的一級級算術級數增長是不同的。

SATA 3Gb/s比SATA 1.5Gb/s進步的地方在於:

  1. 3.0Gb/s的高傳輸速度;
  2. 支持真正的SATA指令排序(NCQ);
  3. SATA 3Gb/s資料線長度最多2m。SATA 1.5Gb/s只是1m,PATA更短到50cm;
  4. 全新的圍擋式接口更穩固。

SATA 6Gb/s2009年9月推出,傳輸速度達到6.0Gb/s。

eSATA是External Serial ATA的略稱,是為面向外接驅動器而制定的Serial ATA 1.0a的擴展規格。雖然規模比較小,但已經有相對應的產品在市面流通。

  • 為了防止誤接,eSATA的接口形狀與SATA的接口形狀是不一樣的。
  • 連接線的最大長度為2m。
  • 支持熱插拔。
  • 傳輸速度可以達到現在主流的USB2.0的傳輸速度的2倍以上。
  • 提高接頭的插拔耐用度

eSATA與其他規格的比較

名稱  ↓ 理論頻寬 (Mbit/s)  ↓ 實際速度 (MB/s)  ↓ 接線最大長度 (m)  ↓ 電源供應  ↓ 每頻道最多可接設備  ↓
eSATA 3000 300 2 with eSATA HBA (1 with passive adapter) [2] 1(15 with port multiplier
串列SCSI 3000 375 8 4
SATA 3.0Gb/s 3000 300 2 1(15 with port multiplier
SATA 1.5Gb/s 1500 150 1 1 per line
PATA 133 1064 133 0.46(18 英寸 2
FireWire 3200 3144 393 100; alternate cables available for 100 m+ 15 W, 12–25 V 63 (with hub)
FireWire 800 786 98.25 100[3] 15 W, 12–25 V 63 (with hub)
FireWire 400 393 49.13 4.5[3][4] 15 W, 12–25 V 63 (with hub)
USB 2.0 480 60 5[5] 2.5 W, 5 V 127 (with hub)
Ultra-320 SCSI 2560 320 12 15 (plus the HBA)
Fibre Channel
透過銅線
4000 400 12 126
(16777216 with switches
Fibre Channel
透過光纖
10520 2000 2–50000 126
(16777216 with switches
Infiniband
12X Quad-rate
120000 12000 5 (銅線)[6][7]

<10000 (光纖)

1 with Point to point
Many with switched fabric

 

 

 

AHCI(Advanced Host Controller Interface 進階主機控制器介面),是一種允許軟體與SATA儲存裝置溝通的硬體機制,可讓SATA儲存裝置啟用進階SATA功能,例如原生指令佇列(NCQ, Native Command Queuing)及熱插拔。AHCI詳細定義了一個記憶體架構規範給予硬體製造商,規範如何在系統記憶體與SATA儲存裝置間傳輸資料,目前(2008年6月)最新AHCI規範為1.3版。

許多SATA裝置控制器可個別啟用AHCI功能或與RAID功能合併使用,英特爾就建議如果在其支援AHCI晶片組上使用RAID功能,採取AHCI模式組建RAID可以獲得最大彈性,因為AHCI可在完成安裝的作業系統中切換RAID組建模式。

在一般硬碟上Fujitsu、HITACHI、Seagate、WD...等均在3.5英吋及2.5英吋提供相關支援技術

在固態硬碟方面目前僅英特爾控制晶片支援AHCI功能(並無單一販售)。


Windows Vista核心已完全支援AHCI,Linux系統核心2.6.19版起支援,其他較舊作業系統則需要相關硬體製造商提供驅動程式才可以支援。

原生指令排序(Native Command Queuing,簡稱NCQ),原先是改善伺服器硬碟存取控制技術,應用在[[SCSI介面][SATA1.0/2.0/3.0介面]][SAS介面] 硬碟讀寫的加速技術,其介面開啟磁碟陣列RAID亦有所提升。透過硬碟韌體、硬碟控制器以及作業系統三者的互相配合,改善硬碟內部磁區的讀取順序,可以提高硬碟效能約30%,亦能夠輕微減輕硬碟損耗的速率。NCQ對用於伺服器上的硬碟的效率提昇尤為明顯。

本圖闡述一顆硬碟在沒有NCQ及有了NCQ的存取順序分別。兩顆硬碟所要求的內容順序均為1、2、3、4,但NCQ硬碟可以透過改變讀寫次序而增加效率。
 

原理

一般硬碟使用的硬碟格式通常為Windows 98核心所使用的FAT32系列,或是Windows NT所使用的NTFS,此種硬碟格式在存取資料時,時常會出現散亂的情況,導致一個檔案被不規則的分散成許多的區塊存放於磁盤上面,時間一久,檔案散亂的程度會日趨嚴重,由於傳統的硬碟讀取方式,會從檔案的開頭依序讀取到結尾,若檔案散亂的程度愈嚴重,則讀取頭需要來回移動的距離就越長,導致硬碟讀寫效能逐漸下降。一旦發生這樣的問題,解決方案便是使用磁碟重組軟體來進行硬碟重組,將散亂的檔案重新排列為連續的區塊,但由於執行磁碟重組可能會需要搬動大量的磁碟區塊,如果太常執行磁碟重組,除了會提高系統負載,亦將會縮短磁碟機的使用壽命,NCQ即為了解決此種情況而誕生。 NCQ的概念原本是應用在伺服器上常見的SCSI介面上,在SCSI的規格中即包含此項技術,只是不叫做NCQ,將此項技術經過些許修改後稱為NCQ,並將其應用在SATA介面上,後來的SAS介面也支援此項技術。 啟用NCQ技術的硬碟,在讀取檔案時,會依照檔案在硬碟上的分佈,將存取的順序作最有效率的排序,以減少機械臂移動的距離,進而達到省時以及延長硬碟壽命的效果。

優勢

於 SATA II NCQ 協定中,新增3個功能,分別是:

  • Race-free status return mechanism:
    硬碟在完成任一指令後,可以無須再進行Handshake即可繼續另一個指令,以便讓多個指令快速接序或同時執行。
  • Interrupt aggregation:
    硬碟由於以NCQ模式執行多個指令,所以原本每一個指令完成後必須中斷(interrupt) 以便讓系統接續處理的模式,轉成可以在多個指令完成後再一次提出(interrupt) ,故介面控制器(host controller) 對於多個指令只須處理一次中斷即可。
  • First party DMA(FPDMA):
    硬碟完成資料讀取後,無須靠 host controller 的DMA動作取得特定記憶體位置,而是由硬碟本身建立 DMA setup FIS(Frame Information Block)直接對 host controller 送出記憶體存取通知,如此無須驅動程式的運作,可以有效提升存取效率。

條件

開啟NCQ,除硬碟本身必須支援NCQ外,作業系統(OS) 與介面控制器(controller) 的支援也是不可或缺的條件。舉例說,在Microsoft Windows平台上,從Windows Vista開始才支援NCQ,而Windows XP若要使用NCQ,則要額外安裝支援軟件。

支援NCQ技術的晶片組

支援NCQ的硬碟控制器(部分):

  • JMicron
    • JMB360
    • JMB361
    • JMB362
    • JMB363
    • JMB365
    • JMB366
  • nVIDIA
    • nForce 4 Ultra, nForce 4 SLI
    • nForce 410
    • nForce 430
    • nForce 550
    • nForce 570 Ultra, nForce 570 SLI
    • nForce 590 SLI
    • nForce 650i Ultra, nForce 650i SLI
    • nForce 680i SLI
    • nForce 780i SLI
  • Intel [1]
    • ICH6M, ICH6R
    • ICH7DH, ICH7M, ICH7MDH, ICH7R
    • ICH8DH, ICH8DO, ICH8M, ICH8M-E, ICH8R
    • ICH9DO, ICH9M, ICH9M-E, ICH9R
    • ICH10D, ICH10DO, ICH10R
  • VIA
    • VT 8237S
    • VT 8251
  • ATI
    • SB 600
    • SB 700
    • SB 750
  • ALiULi
    • M1573
    • M1575
    • M1567
    • M1697
  • SiS
    • SiS966/SiS966L
    • SiS968

資料來源:http://zh.wikipedia.org/wiki/SATA

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

滾輪老古董 LED光學不夠看 雷射光學最新穎
     電腦在日常生活中扮演的角色,從過去單純的文書處理、程式運算,到今天的影音視訊、電玩娛樂,功能越來越多樣化,而擔負起控制介面重任的滑鼠鍵盤,也隨著電腦任務的不同而逐漸進化,感應技術從傳統的滾輪、LED光學,進步到今日最新的雷射光學,操控性也從單純的游標控制,逐漸延伸到畫面縮放、指紋辨識等附加效果,讓電腦使用者一根指頭就能掌控一切。


感應技術邁向雷射新標竿
     感應技術一直是無線滑鼠進化的指標規格,目的是讓使用者能有更精確的游標定位,而且能夠在各種表面上工作,過去無線滑鼠採用的大多是LED光學照明技術,感應原理是利用物體表面粗糙度產生的陰影來辨識,因此在瓷磚、金屬等光滑表面操作時會相當不順暢,目前最新的滑鼠感應技術為雷射光學,讓游標定位更靈敏也更精確。雷射光學的感應原理,是透過雷射光速直接反射出表面的細節,無需利用陰影來辨識,據說可提供比傳統LED光學滑鼠強20倍的表面追蹤能力,因此傳統光學滑鼠無法正常感應的大理石、瓷磚、金屬、漆面木桌、相片紙、毛玻璃等光滑的表面,雷射滑鼠也能夠精確的將位移資訊傳給電腦。如何得知雷射光學滑鼠的感應能力有多強?從技術層面來看,計算滑鼠跟電腦間的訊號傳送速率(report rate)單位為rps(report per second),也就是每秒滑鼠傳送給電腦的位移訊號數,rps越高,代表電腦游標與手中滑鼠動作的一致性越高,一般USB有線滑鼠通常是125rps,傳統無線滑鼠為50rps。雷射感應技術還有省電的好處,原因是LED光束會發散,光源會隨距離減弱,比起光束集中的雷射更耗電。

一根指頭 就能掌控一切
 除了感應技術精進外,新款滑鼠鍵盤產品也朝向更完整的操控介面發展,希望使用者能有更便利的操控性,最流行的是一種俗稱「鏡頭縮放滑動器」的滾輪,只要一根指頭就能讓畫面放大縮小,就像是相機變焦的zoom-in及zoom-out效果。這種小工具經常被用在看大型的文件、網頁或圖片,只要把按鍵往下一按,再向前或向後捲動滾輪即可放大縮小,最適合在Windows XP的影片模式下瀏覽圖片,完全不必開啟看圖軟體。另一個讓操控性更強的設計就是多樣化的快速鍵,方便快速瀏覽經常使用的網站、檔案及資料夾,也可設定為迅速切換程式的快速鍵或捲頁便捷鍵,適合瀏覽大範圍網頁或長文件使用。如果嫌這些設計的操控性還不夠強,只有靠指紋才能登錄電腦的滑鼠,真的是「一根指頭就能掌控一切」!讓一台電腦的不同使用者都必須靠自己獨一無二的指紋才能登錄,方便之處在於可以快速在同一部電腦上切換不同的使用者。

傳輸範圍更廣 攜帶性更強
 除了雷射滑鼠外,藍芽滑鼠也有新品問世,還可以「撈過界」的扮演起「藍芽無線集線器」,原因是滑鼠專用的充電器也有集線器功能,可以讓電腦成為藍芽設備的控制中心,和10公尺內支援藍芽傳輸的設備互相連線,包括掌上型電腦、行動電話、耳機麥克風、印表機等。另一個深受上班族歡迎的新款滑鼠設計,是無線滑鼠的接收器可以收納在滑鼠底部,方便攜帶及省電,是一款專為筆記型電腦使用者所設計的滑鼠,可同時適用於左手與右手的使用者,當滑鼠在未使用狀態時,接收器可以收入滑鼠底部並自動切斷電源,可快速收入公事包內不佔空間,也能節省耗電量因而延長電池壽命。

資料來源:http://www.libertytimes.com.tw/2004/new/oct/25/life/information-1.htm

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

名稱  ↓ 理論頻寬 (Mbit/s)  ↓ 實際速度 (MB/s)  ↓ 接線最大長度 (m)  ↓ 電源供應  ↓ 每頻道最多可接設備  ↓
eSATA 3000 300 2 with eSATA HBA (1 with passive adapter) [2] 1(15 with port multiplier
串列SCSI 3000 375 8 4
SATA 3.0Gb/s 3000 300 2 1(15 with port multiplier
SATA 1.5Gb/s 1500 150 1 1 per line
PATA 133 1064 133 0.46(18 英寸 2
FireWire 3200 3144 393 100; alternate cables available for 100 m+ 15 W, 12–25 V 63 (with hub)
FireWire 800 786 98.25 100[3] 15 W, 12–25 V 63 (with hub)
FireWire 400 393 49.13 4.5[3][4] 15 W, 12–25 V 63 (with hub)
USB 2.0 480 60 5[5] 2.5 W, 5 V 127 (with hub)
Ultra-320 SCSI 2560 320 12 15 (plus the HBA)
Fibre Channel
透過銅線
4000 400 12 126
(16777216 with switches
Fibre Channel
透過光纖
10520 2000 2–50000 126
(16777216 with switches
Infiniband
12X Quad-rate
120000 12000 5 (銅線)[6][7]

<10000 (光纖)

1 with Point to point
Many with switched fabric
 

香醇咖啡 發表在 痞客邦 留言(2) 人氣()

蠻危險的,一個不小心疏忽就會致命,真的要注意阿!
1950年代,澳洲有一家醫院發現,每年總會有一、兩個年幼的小孩因某種怪病被送進這家醫院治療,進而死在這家醫院。他們之間有一些相似的病程進展:剛開始時只是一些咳嗽、喉嚨痛、流鼻水或是耳朵痛等感冒的症狀。但是就在這些症狀好轉之後不久,小孩子開始不斷的嘔吐,接著出現意識混亂、痙攣發作、並出現暴力行為,而後昏迷、死亡。屍體解剖發現,他們的大腦腫脹,肝臟細胞內充滿了脂肪!

這家醫院裡的一位雷氏醫師(Dr. Douglas Reye)當時認為這可能是藥物或是毒物引起的一種特異疾病,但是他們一直找不到確實的證據。1963年,美國北卡州的一個小鎮暴發流感,當時也發現了16名因類似病程而死亡的個案。雷氏醫師收集了這些病程及解剖發現都類似的致死個案,提出了所謂的雷氏症候群(Reye syndrome)。

接下來幾年,世界各地也開始報告出雷氏症候群的案例,它們通常都是在B型流感或是水痘流行的時間及地點發生。後來經由越來越多的個案資料的統計發現,雷氏症候群的發生和罹患流感或水痘時用來退燒的阿斯匹靈(Aspirin)有強烈的相關。終於,醫師們開始呼籲不要讓罹患水痘及流感的小孩以阿斯匹靈來退燒。之後幾年,用於小孩的阿斯匹靈用量大減,而雷氏症候群的個案數也成比例大為下降。雷氏症候群和阿斯匹靈的相關性因此更受到進一步的懷疑。

●雷氏症候群的臨床表現

雷氏症候群好發於幼兒,但是可能發生在任何年齡。任何季節皆可發生,但最常見於上呼吸道感染盛行的冬春季。它有一個雙峰式的病程,(biphasic course),通常患兒先感染到流感、一般感冒、或是水痘之類的病毒感染,在上呼吸道的症狀漸漸緩解的時候,或者水痘出現後的3-5天,患兒突然開始不斷的嘔吐,在幾個小時到1-2天之內開始出現哭鬧、意識不清、接著可能發生抽搐,意識越來越差,終致昏迷,最後可能導致死亡。

由於患者通常之前健康,只是染上了不太可能致命的上呼道感染或是水痘,卻在症狀好轉的當時,突然病情惡化而喪命,家屬往往無法接受,經常衍生醫療糾紛。

●為什麼會發生雷氏症候群

雷氏症候群的病因至目前仍不清楚。但是,由統計上發現,雷氏症候群好發於流感及水痘之類病毒感染流行的1月到3月,通常流感流行之後,雷氏症候群的個案就開始增加。所以,雷氏症候群和病毒感染有關,尤其是流感和水痘。

根據追溯調查,至少有90%以上的雷氏症候群個案,在之前的病毒感染中使用了阿斯匹靈之類的含水楊酸(salicylate)藥品。而且,就在醫界發現了這種強烈的相關,而開始呼籲不要在病毒感染時使用阿斯匹靈來退燒後,雷氏症候群的個案便開始顯著的減少。所以,雷氏症候群的發生可能和阿斯匹靈的使用有關。

弔詭的是,在病毒感染的病程當中,因使用阿斯匹靈,而引發雷氏症候群的機率可能不到千分之一。也就是說,不是在病毒感染中用了阿斯匹靈就一定會發生雷氏症候群。所以,這中間可能還有個人體質的因素存在。

總的來說,雷氏症候群的致病機轉雖然仍不清楚,但以目前的證據看來,可能是病毒感染、個人的特異體質、以及和阿斯匹靈之類的水楊酸藥物的使用,這三個因素綜合影響所致。

●雷氏症候群的診斷及治療

對於罹患感冒、流感、及水痘之類的病毒性感染的患者,若在病程好轉的當時,突然出現厲害嘔吐及意識混亂的情形時,就應該提高警覺,注意是否有雷氏症候群的可能,應該及早送醫。

雷氏症候群其實是全身多器官性的影響,但最主要的變化是肝臟的脂肪變性(fatty degeneration)及大腦水腫。肝臟的脂肪變性使三酸甘油脂(triglyceride)在肝臟大量堆積,肝功能衰竭,患者的肝指數會昇高,凝血時間延長,血中氨會增加、血糖會降低。大腦水腫會使腦內壓昇高,是患者意識混亂、痙攣發作及昏迷死亡的主要原因。

因為雷氏症候群的致病機轉並不清楚,所以醫療人員所能給予的主要是支持性的治療。治療的方向主要有二:一是,對異常的肝功能給予支持性的治療,以待肝功能自行復原;另一是,控制昇高的腦壓,盡量減少腦組織的傷害。

隨著病情嚴重程度的不同,患者需要的醫療可能有很大的差異。對於症狀輕微的患者,需要的可能只是觀察。而對於腦內壓明顯昇高的患者,則需住進加護病房,積極介入腦壓的控制,因為這是患者將來腦神經功能恢復程度,以及是否致命的最大決定因素。

●預後如何

輕微的雷氏症候群可能很快而且完全的康復,嚴重者則可能在幾個小時內就步入死亡,就算有幸存活也可能留下神經學上的後遺症。由於雷氏症候群的病程進展快速,必須以內科急症來看待。唯有提高警覺,早期診斷,及早積極介入治療,才能使患者有較好的預後及較低的死亡率。所以,雷氏症候群的預後好壞與是否能早期診斷出來密切相關。

在雷氏症候群被提出來的早期,它的死亡率高達80%,隨著診斷及治療的進步,死亡率曾降低到20-30%。近幾年來,阿斯匹靈的使用減少,雷氏症候群的患者較少發現,但,相對的,大家對它的警覺性也就降低了,反而不容易早期診斷,而使得死亡率有再度提高的趨勢。

●如何預防雷氏症候群的發生

還是老話,預防勝於治療!謹以以下幾點,提醒大家小心防範雷氏症候群的發生:

1.不要以阿斯匹靈之類的含水楊酸製劑來讓病童退燒。
2.有些成藥可能含有阿斯匹靈或水楊酸成份,儘量不要用於小孩。
3.對罹患感冒、流感或是水痘的小孩,若是出現厲害嘔吐、活動力明顯變差、意識表現異常時,應該立即送醫診察。
4.免疫力較差,容易遭受病毒感染的小孩,應該讓他們接受水痘疫苗及流感疫苗的接種。


原文已刊登於'育兒生活雜誌'2001年十月號(第137期)
資料來源:http://p066.ezboard.com/pgs/fwranglersezboardfrm15.showMessage?topicID=7.topic
 
 

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

是非題:
1. H1N1 新型流感類似SARS,目前感染後的致死率很高。
Ans:X
說明:SARS 的致死率約為百分之十,H1N1 新型流感的致死率約千分之二到四,
遠低於SARS。
2. H1N1 新型流感的潛伏期大約是1-7 天,最可能是1-4 天。
Ans:O
3. H1N1 新型流感的傳染途徑主要是接觸傳染和空氣傳染,和一般流感病毒的飛
沫傳染大不相同。
Ans:X
說明:H1N1 新型流感傳染途徑與一般季節性流感類似,主要是透過飛沫傳染與
接觸傳染。
4. 大部分感染新型流感者,症狀輕微,未使用克流感即痊癒。
Ans:O
5. H1N1 新型流感感染的危險徵兆包括:持續高燒數天、呼吸急促、嘴唇發紫或
變藍、血痰、胸痛、意識不清、低血壓等。
Ans:O
6. 新型流感的併發症和季節性流感類似,包括肺炎、心肌炎、腦炎或敗血症等。
Ans:O
7. 為因應新型流感,若學校達停課標準施行停課後,即可完全阻斷病毒在社區
中傳播,即可不需注重呼吸道衛生及咳嗽禮節。
Ans:X
說明:學校實施停課後並不能完全阻斷病毒在社區中傳播,仍需注重呼吸道衛生
及咳嗽禮節
8 為因應新型流感,一旦學校停課,家長應維護停課學生之安全,督導學生不可
至人潮聚集場所;如有發燒或呼吸道症狀要儘速就醫,並將學生的健康狀況通
知學校老師。
Ans:O
9. 正確的洗手包括五個步驟:濕、搓、沖、捧、擦。其中"搓" 的動作是擦上
肥皂或洗手液,兩手交叉並互相摩擦,兩手搓揉手掌及手背,作拉手姿勢以
擦洗指尖,至少須20 秒。
Ans:O
10. 有發燒、咳嗽或打噴嚏的人應該戴口罩的原因,一方面是可以避免自己的飛
沫傳染給別人,另一方面是自己生病時抵抗力較弱,要避免再感染其他病原。
Ans:O
11. 因為 N95 口罩可以提供最好的保護,所以無論在任何情況下,佩戴N95 口
罩是最好的選擇。
Ans:X
說明:一般民眾如果需要戴口罩,只要使用一般平面(外科)口罩即可。
N95 口罩過濾效率高,但呼吸阻抗大,除非有曝露風險高,否則不建議
使用。
12. 根據世界衛生組織的統計,目前新型流感已持續蔓延170 餘國,全世界感染
新型流感的個案已超過17 萬人,死亡人數已超過1400 人。
Ans:O
13. 目前全球的新型流感疫情都集中在北半球,南半球尚未發生流行。
Ans:X
說明:截至2009 年8 月底止,根據世界衛生組織(WHO) 最新疫情通報,南半
球新型流感疫情似已過了第一波的流行高峰。
14. 根據美國的資料顯示,新型流感在年輕族群的致病率遠高於年老者,相較之
下,季節性流感的死亡個案多為65 歲以上的老人。
Ans:O
15. 所有疑似新型流感病例包括輕症病患都需要確診,因此只要出現類流感症狀
就應該要求醫師採集上呼吸道檢體檢驗。
Ans:X
說明:民眾出現類流感症狀就醫時,應遵循醫師診療後之建議,由醫師專業判斷
是否須採集上呼吸道檢體檢驗。
16. 自 98 年8 月15 日起,全國健保合約醫療院所「符合類流感症狀」且「快速
篩檢呈陽性反應」者,可健保給付提供抗病毒藥物。
Ans:O
17. 在服用抗病毒藥物期間,如有出現身體不適的狀況,可以先自行觀察兩天,
不須急著就醫。
Ans:X
說明:在服用抗病毒藥物期間,如有出現身體不適的狀況,應儘速就醫以處理可
能發生的副作用。
18. 感染流感的兒童及青少年應避免服用阿斯匹靈,因為有可能使極少數的患者
發生嚴重的” 雷氏症候群”。
Ans:O
19. 目前已經有臨床研究指出,接種季節性流感疫苗可以預防H1N1 新型流感。
Ans:X
說明:目前並沒有臨床研究支持接種季節性流感疫苗可以預防H1N1 新型流感。
20. 如果曾經打過流感疫苗的人,就不能吃抗病毒藥劑,因為抗病毒藥劑會影響
流感疫苗產生的抗體。
Ans:X
說明:抗病毒藥劑並不會影響流感疫苗產生的抗體,因此打過流感疫苗的人仍可
以吃抗病毒藥劑。
選擇題:
1. 目前H1N1 新型流感在疫情處理上是第幾類法定傳染病?
1) 第一類,應於24 小時內通報,於指定隔離治療機構施行隔離治療
2) 第二類,應於24 小時內通報,必要時得於指定隔離治療機構施行隔離治療
3) 一般輕症不須通報,若為流感重症則屬第四類,應於一週內通報
Ans:3)
說明:H1N1 新型流感自2009 年6 月19 日起自第一類法定傳染病移除,併入第
四類法定傳染病「流感併發重症」,只有併發呼吸道、神經系統重症、心肌炎、
細菌感染及其他需重症治療之新型流感病患才須通報。
2. 目前世界衛生組織關於新型流感的分級為何?
1) 第五級
2) 第六級” 溫和” 的大流行
3) 第六級” 嚴重” 的大流行
Ans:2)
說明:由於H1N1 疫情已擴散至全球各大洲,世界衛生組織於2009 年6 月12 日
宣佈H1N1 疫情進入嚴重度「溫和」的第六級。
3. H1N1 新型流感屬於下列何種流感病毒?
1) A 型
2) B 型
3) C 型
Ans:1)
說明:H1N1 新型流感屬於A 型流感病毒,A 型流感尚有H2、H3 等型別。
4. 下列何者不是H1N1 新型流感常見的症狀?
1) 發燒
2) 下肢水腫
3) 肌肉痠痛
Ans:2)
說明:人類感染H1N1 新型流感症狀與季節性流感類似,包括發燒、咳嗽、喉嚨
痛、全身酸痛、頭痛、寒顫與疲勞,有些病例出現腹瀉、嘔吐症狀。
5. 在我國公布的H1N1 新型流感病例定義中,發燒的定義為超過
1) 37.5℃
2) 38℃
3) 38.5℃
Ans:2)
說明:我國公布的H1N1新型流感病例定義中,臨床條件為具有急性發燒的呼吸道
疾病 (發燒超過攝氏38℃),且其臨床症狀包括從輕微的類流感到較為嚴重的肺
炎等。
6.H1N1 新型流感個案的住院標準為
1) 現階段一旦被醫師診斷為H1N1 新型流感感染一定要住院
2) 經醫師診治後,認定必須服用抗病毒藥物的患者必須住院
3) 出現呼吸困難必須使用呼吸器者有必要住院
Ans:3)
說明:現階段H1N1 新型流感之輕症個案不一定須要住院,但若出現呼吸困難等
危險徵兆者有必要住院,住院時循標準防護措施及飛沫傳染防護措施。
7. 下列何者最不可能為H1N1 新型流感的傳播途徑?
1) 照顧H1N1 病人沒有佩戴口罩
2) 吃豬肉
3) 與確定病例搭乘同班機鄰座超過八小時
Ans:2)
說明:H1N1 新型流感的傳播途徑主要為接觸和飛沫傳染,吃豬肉並不會感染新
型流感。
8. 一般成人的H1N1 新型流感何時具有傳染性?
1) 症狀出現前一天至症狀出現後七天
2) 症狀出現至症狀消失期間
3) 發燒期間
Ans:1)
說明:一般成人的H1N1 新型流感,在症狀出現前一天至症狀出現後七天具有傳
染性。
9. 根據世界衛生組織的統計資料,目前感染H1N1 的致死率約為多少?
1) <1%
2) 5%
3) 5-10%
Ans:1)
說明:根據世界衛生組織的統計資料,目前感染H1N1 的致死率約為千分之二到
四 (數字有可能會變動,請以WHO 網站公佈之資料為主)。
10. 那些作法不能有效預防H1N1 新型流感?
1) 勤加洗手
2) 減少出入公共場所
3) 少吃豬肉
Ans:3)
說明:吃豬肉並不會感染H1N1 新型流感,因此少吃豬肉並不能有效預防新型流
感。
11. 民眾若出現類流感症狀,應注意事項中,何者為非?
1) 生病時儘量不上班不上課
2) 儘早自行服用抗生素以免重症的發生
3) 應戴上口罩並儘速就醫
Ans:2)
說明:民眾若出現類流感症狀時,應儘速就醫,不應自行服用抗生素。
12. 以下何者不是正確的呼吸道衛生與咳嗽禮節?
1) 有咳嗽等呼吸道症狀時應戴口罩,當口罩沾到口鼻分泌物時,應立即更換並
丟進垃圾桶
2) 打噴嚏時,應用面紙或手帕遮住口鼻,若無面紙或手帕時,可用衣袖代替
3) 如有呼吸道症狀,與他人交談時,只要保持30 公分以上的距離便可以不用戴
口罩
Ans:3)
說明:如有呼吸道症狀,與他人交談時,最好保持1 公尺以上的距離或者佩戴口
罩。
13. 關於戴口罩的時機何者錯誤?
1) 醫護人員與病患接觸時
2) 有感冒症狀搭飛機時
3) 一般民眾無症狀外出時就應戴口罩
Ans:3)
說明:一般健康民眾外出時不須戴口罩。
14. 口罩的分類及用途,以下何者錯誤?
1) 一般口罩僅能過濾較大的顆粒,僅適平時工作清潔時使用
2) 外科口罩可阻擋80%次微米顆粒,約二至三天更換一次即可
3) N95 口罩可阻擋95%以上次微米顆粒,應避免重覆使用
Ans:2)
說明:外科口罩應每日更換。
15. 在H1N1 新型流感流行期,民眾若自覺有類流感症狀應儘量避免外出,但若
有需要外出或至公共場所時應佩戴何種口罩?
1) 外科手術口罩
2) 活性碳口罩
3) N95 口罩
Ans:1)
說明:民眾若出現類流感症狀有需要外出時,應佩戴外科手術口罩。
16. 一般民眾如有發燒咳嗽症狀,應如何確定自己是感染H1N1?
1) 可依症狀研判
2) 可依旅遊史研判
3) 必須採集檢體送驗
Ans:3)
說明:一般狀況並無法依病患的症狀或旅遊史研判確定是否感染H1N1,必須採
集咽喉或鼻咽拭子送驗RT-PCR 或病毒培養才能確定。
17. 以下何種工具可以確認我是不是得了H1N1 新型流感 ?
1) 胸部X 光檢查
2) 流感快速篩檢
3) 咽喉拭子病毒培養
Ans:3)
說明:流感快速篩檢只能得知是否為A 型或B 型流感,並不能確定是不是H1N1
新型流感;要確認還是要採集咽喉或鼻咽拭子進行RT-PCR 或病毒培養。
18. “克流感"是什麼?
1) 疫苗
2) 抗病毒藥物
3) 消毒劑
Ans:2)
說明:"克流感" (Tamiflu, 學名是oseltamivir)是一種治療流感病毒感染的藥物。
19. 下面何者不是對H1N1 新型流感有效的治療藥物?
1) 克流感 (Tamiflu)
2) 瑞樂沙 (Relenza)
3) 金剛胺 (Amantadine)
Ans:3)
說明:H1N1 新型流感病毒對金剛胺具抗藥性。國外陸續報告於零星個案身上分
離出對於克流感產生抗藥性的新型流感病毒株,不過多數新型流感病毒迄今對於
克流感仍具感受性,尚未發現對於瑞樂沙出現抗藥株。
20. 抗病毒藥物"克流感"在治療H1N1 新型流感的時機方面,何者正確?
1) 在有症狀的任何時間服用效果都很好
2) 在出現症狀的一週內服用效果最佳
3) 在出現症狀的48 小時內服用效果最佳
Ans:3)
說明:根據季節性流感之研究顯示,症狀開始後48小時內開始治療療效最佳,然
而有些研究顯示對住院患者超過48小時才投予克流感仍有縮短住院天數或減低
死亡率的助益。
21. 一般情形下,以"克流感"治療H1N1 新型流感的建議療程為
1) 3 天
2) 5 天
3) 7 天
Ans:2)
說明:一般情形下,以”克流感”治療H1N1 新型流感的建議療程為每日兩次,持
續5 天。
22. 抗病毒藥物"瑞樂沙"的使用方法為何?
1) 口服
2) 吸入
3) 針劑注射
Ans:2)
說明:" 瑞樂沙"為吸入性的抗病毒藥物,因此五歲或以上之患者方可使用。
23. 目前健保給付克流感抗病毒藥物的依據是
1) 臨床症狀經醫師診治為H1N1 新型流感
2) 流感快速篩檢( influenza rapid test) 確診為A 型流感
3) RT-PCR 檢驗確診為H1N1 新型流感
Ans:2)
說明:目前健保給付克流感之用藥條件為:限符合類流感病例定義,且檢驗A
型流感病毒抗原陽性之病患使用。
24. 關於新型流感停課建議,下列何者正確?
1) 三天內同班級內出現兩名以上經診斷為流感者該班停課五天
2) 一所學校內出現一名確定病例就全校停課五天
3) 一個星期內同班級出現兩名以上確定病例就該班停課七天
Ans:1)
說明:依據H1N1 新型流感中央流行疫情指揮中心98 年8 月18 日第21 次會議
決議,訂定「325」停課建議為:高級中等(含)以下學校、幼稚園、補習班於3
天內同一班級有2 名以上(含2 名)學生經醫師臨床診斷為感染流感時,建議該
班停課5 天(含例假日)
25. 學校一旦因新型流感停課後,患者何時可返校上課?
1) 症狀解除後滿24 小時
2) 症狀解除後滿48 小時
3) 在家隔離滿7 天後
Ans:1)
說明:H1N1 新型流感中央流行疫情指揮中心訂定之「325」停課建議中,關於
患者返校的建議為:患者應至症狀解除後滿24 小時才能返校上課。
26. 如果我有H1N1 新型流感相關的疑問,可以撥打疾病管制局的免費諮詢專線
1) 1999
2) 1922
3) 1955
Ans:2)
說明:疾病管制局的免費諮詢專線為1922 (台北市的市民熱線為1999)。
27. 以下何者不是感染H1N1 新型流感後產生嚴重併發症的高危險群?
1) 5 歲以下的兒童
2) 慢性肺病患者
3) 高血壓患者
Ans:3)
說明:
下列為感染新型流感後併發重症的高危險群:
(一) 5歲以下的兒童;
(二) 65歲或以上的老人;
(三) 長期服用阿斯匹靈的兒童和青少年(18歲或以下),以及感染流感病毒後
可能併發雷氏症候群(Reye syndrome)的高危險族群;
(四) 孕婦;
(五) 有慢性肺、心血管、肝、腎、血液、神經、肌肉、或代謝疾病的成人
和兒童(包括氣喘、鐮刀型貧血症、糖尿病,但高血壓除外);
(六) 免疫抑制(包括因藥物或愛滋病毒感染造成的免疫抑制)的患者;
(七) 護理之家和其他慢性照護機構住民。
28. 當孕婦懷疑感染流感時,下列考量何者錯誤?
1) 根據前次流感大流行與季節性流感疫情,孕婦較易引起嚴重的併發症
2) 當孕婦懷疑感染流感時,應儘早進行抗病毒藥物治療
3) 使用克流感時不可哺餵母乳
Ans:3)
說明:新型流感病毒是否會經由母乳傳染仍不清楚,但因季節性流感甚少造成病
毒血症,故推測其經由母乳傳染也是極為罕見。母親使用克流感時仍然可以哺餵
母乳,但為避免經由飛沫及接觸傳播,應鼓勵生病的婦女使用唧筒將母乳抽出至
奶瓶中,並由健康的家人代為餵食。
29. 下面關於流感疫苗的敘述何者錯誤?
1) 季節性流感疫苗與新型流感疫苗並不相同
2) 季節性流感疫苗的保護力可持續數年,因此去年接種今年就可不必再接種
3) 今年自10 月1 日起民眾可開始施打季節性流感疫苗
Ans:2)
說明:季節性流感疫苗因每年流行的疫苗株不同而有不同的保護力,應每年施打。
30. 下列何者不適合施打流感疫苗(包括新型流感疫苗)?
1) 對雞蛋過敏者

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

提醒大家要做好自我防疫與檢測喔!

 

H1N1新型流感

一般感冒

3-6小時內會急速發高燒(37.8度以上)                   且會急速的全身性肌肉酸痛

逐漸發燒及全身性肌肉酸痛

80%以上會有嚴重的頭痛

輕微的頭痛

無流鼻涕但有咳嗽及喉嚨痛

流鼻涕及咳嗽

幾乎沒有打噴嚏(較不常見)

打噴嚏

37.8度以上之高燒會持續3-4

偶會發高燒

嚴重的全身性肌肉酸痛、關節疼痛

輕微的全身性肌肉酸痛、關節疼痛

大多數的人會有發燒惡寒

偶會有惡寒

持續會有嚴重的疲勞感與虛弱

輕微的疲勞感

扁桃腺不會腫

扁桃腺會腫

會有嚴重的胸部壓迫感

無胸部壓迫感

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

 

為了您的健康,拒用6 號杯~

看完此篇文章後,立刻拿起身邊的塑膠物,

只有5號的材質能裝熱飲哦!

底部回收符號上就會有相關的數字。

我住的地方附近有大學、中學、小學 ,每天早上校門口賣早餐的餐車都門庭若市,我常想,現在的父母都不做早餐給孩子 吃了嗎?午餐已經在學校吃,有時晚上還補習,孩子吃不到媽媽煮的菜,是幸或不幸?
我想提出的是,你知道孩子在外面吃得安全嗎?也許你會說:

早餐買豆漿、米漿、或奶茶,難道不安全嗎?其實,不是食品本身不安全,

你可以將裝著豆漿、奶茶的白色杯子底部轉過來, 仔細的瞧一瞧,有沒有標示著6號。

6號是什麼意思呢?
目前一般塑膠類都有標示號碼,不同號碼代表不同成分;

6PS聚丙乙烯燃燒時會釋放

苯乙烯這種毒素我們通稱為「環境荷爾蒙」,

也就是它的化學結構很像人體內的荷爾蒙結構,一旦食入後,

人體會誤把它當荷爾蒙用而產生異狀,這些物質如農藥、戴奧辛、油漆……等都是。
最近有報導說,使用殺草劑,使附近的雄青蛙變成雌的,其實自然界早就發現這種現象了很多雄性動物的性器官變小了,有雌性化的現象,也出現了很多同性戀的動物,人類身上也發現相同的情況。
當科學家發現人類十年來,男性的精蟲數減少50﹪時,開始緊張了,也驚覺「環境荷爾蒙」的嚴重性,但大部分的人卻天天與它為伍,

渾然不知每天早餐喝下的是一杯有毒的飲料

也因此,過動兒憂鬱症躁鬱症癌症越來越多,

也有人把兒子當女兒養了18年,才發現原來自己生的是兒子。
這種種現象,都可能與「環境荷爾蒙」有關。
我希望大家共同拒用這種6號杯子,讓它銷聲匿跡,以免禍害萬年,但我更覺得,政府有責任與義務禁止PVCPS材質的東西作為食品容器。
這種白色軟軟的杯子,因為不能回收,經常被棄置滿地, 當一般垃圾丟棄、焚化,會產生苯乙烯長期用來喝飲料則有導致癌症的可能,

這種殘害下一代的東西,我們能坐視不管嗎?
媽媽們還是多發揮愛心在家做早餐,或是用自己的食器,或要孩子自備水壺去裝飲料? C讓我們一起來拒用6號塑膠杯!< SPAN lang=EN-US style="FONT-FAMILY: Arial; FONT-SIZE: 10pt; FONT-WEIGHT: bold">
() 目前一般塑膠類都有標示號碼,不同的號碼代表不同組成成分:

1號:PET  寶特瓶
2號:HDPE 高密度聚乙烯
3號:PVC
 聚氯乙烯
4號:LDPE 低密度聚乙烯
5號:PP   聚丙烯(能耐100度以上的溫度)
6號:PS
  聚丙乙烯,耐熱度60-70度,

裝熱飲料會產生毒素

 
 
 
 
 

香醇咖啡 發表在 痞客邦 留言(0) 人氣()

昨天有小朋友問Oboe:「歐老師請問一下,“加油!” 的英文該怎麼說呢?」

小朋友困難的單字文法學多了,但偏偏想說一些簡單的句子時,卻不知道該怎麼用英文來表達。看來她一定是很想幫他的朋友用英文來加油打氣一下,但歐老師上課有講,英文是很難用中文直譯來翻的,如果你把加油說成 add oil,可是會讓聽到的人當場昏倒或是忍不住倒地大笑的喔!所以,到底該怎麼說會比較恰當呢? 其實,不同的情況下,能使用加油打氣的英文也不同,舉例來說:

我們最常聽到的就是Go!Go!Go! 還有Come on!
這兩句常能在比賽時聽到,像棒球比賽,當有人快要跑回本壘得分時,隊友會在場邊大喊Go!Go!Go!Go!希望選手能順利奔跑回本壘,而Come on!也有相似的加油效果,兩句都是表示:「加油!快啊!跟上啊!」



Go for it!
是當情勢正好時,譬如說拔河比賽爭奪冠亞軍,你就可以跟他說:Go for it! 意思就是:「加油! 去贏個冠軍回來吧!」或著是朋友想追求男(女)朋友,又猶豫不決時,你也可以跟他說Go for it!就表示「勇敢去追吧!」


Don’t give up!
當情勢對他很不利,或者做某件事總是失敗時,你就可以說:Don’t give up!就是想告訴他:「加油! 別放棄!」的意思。


Hang in there!
同樣是情勢不好時,譬如說:比完拔河,400接力後,接下來又要比100短跑,他已經面露疲態時,你就能用Hand in there ! 意思就是「加油!要撐住!」

Cheer up!
當同學因為某事而垂頭喪氣時,你可以用Cheer up!來鼓勵他,表示「加油!振作一點!或是高興一點!笑一笑吧!」的意思。

You can do it!
當你想鼓勵他繼續做一件有挑戰的事,你就能用You can do it!「加油!你一定能做到的!」來鼓勵他繼續完成。

Just do it!
想必大家都很熟悉,Nike的廣告詞,和上句類似。當你想鼓勵朋友「加油!別想太多!去做就對了!」就可以用Just do it!來表達。

你還有想到什麼其他加油打氣的英文嗎?可以寫在下面的「回應」(comment)告訴大家吧!

資料來源:http://blog.roodo.com/yses/archives/7579379.html

香醇咖啡 發表在 痞客邦 留言(1) 人氣()

美國一項最新研究顯示,學習第二語言的黃金時期是從出生到7歲,大腦在這個階段最易接收第二語言的聲音和模式。  研究人員希望研究成果能幫助成人更輕鬆地學習外語。
  “雙語”寶寶
  每一種語言都有獨特的發音規則。科學家發現嬰兒具有與生俱來的能力,能夠區別各種語言的發音,但這種能力在嬰兒1歲左右開始退化。
  美國華盛頓大學的帕特麗夏·庫爾博士通過一個例子證明他們的發現:日本人無法區分英語中字母“L”和“R”的發音,rake和lake經常被混讀。一名7個月大的日本嬰兒和一名同齡美國嬰兒對“L”和“R”的發音都能正確區分,但日本嬰兒長到11個月卻喪失大部分區分兩種發音的能力。
  在雙語環境中長大的孩子,與只學一門語言的孩子花同樣時間便可以掌握兩門語言。一般來說,“單語”和“雙語”寶寶都是1歲左右開始說話,到1歲半時大約能夠學會說50個單詞。
  義大利的研究人員通過實驗發現,“雙語”寶寶不僅不比“單語”寶寶學習語言花費的時間多,而且雙語教學還能使孩子的大腦變得更加靈活。
  最佳時期
  研究發現,7歲是學習新語言的最佳時間,一旦過了青春期,人們學習語言的能力就會顯著下滑。
  “人類大腦在青春期前更具可塑性,”庫爾說,“但對成年人而言,學習新語言的過程與孩提時代截然不同,說一口地道外語的希望非常渺茫。”
  儘管兒童學習外語有先天優勢,但一項由美國應用語言中心發起的調查顯示,過去10年中很多美國小學削減了外語課程。1997年,約有25%的小學教授外語,這一數字在2008年縮減為15%。
  “我們認為可以從孩子學習語言的魔力中,提取一些原則、方法,然後把這些方法運用於成人語言教學,”庫爾說。
  她參與的一個國際研究小組致力於將這種語言教學課程變得更具操作性。
  補救教學
  已經錯失學習外語良機的人怎麼辦?庫爾與日本科研人員共同開發了一個電腦語言教學程式。這個語言教學程式用“媽媽腔”教學,“媽媽腔”誇張的語氣和緩慢的語速就像是父母在教幼兒說話。
  一些日本大學生借助這個語言教學程式學習後取得了不錯效果。庫爾說,“這雖然是最初步的嘗試,但它(語言教學程式)的收穫顯著。”
  庫爾的另一項實驗顯示,當日本學生反覆聽電腦播放的“誇大版”“L”和“R”的發音後,可以更好地區別這兩種發音。
  她希望研究成果用於成人學外語。“嬰兒學習外語時的基本原理可以運用到成人語言學習培訓中,讓成人的學習更輕鬆,”她說。
  庫爾還建議家長們儘早讓孩子接觸外語,會說外語的家長可以在家裏說外語,或是定時讓孩子身處另一種語言環境。
  “你會驚喜地發現,孩子們以海綿吸水的速度學習外語,”她說。

香醇咖啡 發表在 痞客邦 留言(0) 人氣()