※ 引述《[email protected] (汀)》之銘言:
> ※ 引述《[email protected] (大王此乃房宮模型)》之銘言:
> > 所以呢?你這個發現可以證明pthread library不是OS的一部分?
> > 需不需要我告訴你POSIX的全名是什麼?
> 看東西要看清楚,
> 我不是在跟你說 pthread 不是 OS 的一部份,
> 而是任意模仿或不模仿 pthread library 所撰寫的 user thread libraries,
> 都有可能不是 OS 的一部份。
> 而且這不是什麼新發現了,
> 而這個舊發現只是告訴你任何不懂該 OS 實作細節的人,
> 均可以光看著 online maunal section 2 & 3 寫出一個 user thread library。
請你明確的定義:一段程式碼合乎哪些條件才叫做「屬於OS的一部分」。
如果你承認POSIX pthread library是OS的一部分,那請你解釋為什麼
其他人自己寫出來的user thread library「不能」成為OS的一部分?
違反了哪些定義?
> > 你這種說法才叫做似是而非,首先,每本OS課本都開宗明義告訴你,
> > OS這組程式目的是作為使用者與硬體的介面,以及應用程式與硬體
> > 的介面,以及運算資源的管理,user thread library既不是單一的
> > application program,目的又是作為application的介面,請問它哪
> > 一點不能稱為是OS的一部分?
> 我想請教你一個很簡單的問題,
> 有一套相當有名的 framework 叫 ACE,
> 它的 overview 可以參考 http://www.cs.wustl.edu/~schmidt/ACE-overview.html,
> 你如果沒聽過又懶得看,可以只看中間那張圖...
> 然後請告訴我,這個 framework 是不是 OS 的一部份。
> 我不清楚你刻意把選擇性事實一律歸納成必要性事實的原因,
> 但是如果你覺得 ACE 也是 OS 的一部份,那我也沒辦法了,
> 我也只能告訴你書不是這樣讀的....
我都還沒告訴你回去重修你的OS咧,還輪得到你來教我書怎麼讀?
ACE是不是OS的一部分?對使用ACE這個Fremawork的networked AP
來說,ACE扮演的角色就是一種OS,不會因為它只是架在另外一種
OS之上而違反這個定義,當然,對於其他不使用這個framework的
AP來說,它不過是另外一組程式碼,那又怎樣?因為它不是system
library所以就不算OS?
> > 拜託,這個叫做常識,修過OS課程的本來就不應該犯這種
> > 基本錯誤。
> > 還有,你先前用user thread library當例子回答別人「thread
> > 在什麼情況下跟OS無關」,在邏輯上,你的回答直接等同於「
> > for all」user thread library跟OS無關。
> 我覺得你解讀文章的方法真的有需要改變,
> 從你解讀我那篇回文和你讀 OS 課本的方式....
> 我真的很懷疑你是用 context-free 的模式在讀,
> 拜託至少提升到 context-sensitive 的模式來讀,
> 我不是質疑你的閱讀能力,而是覺得你用錯方法。
> 針對那個問題,我的回答屬於「當然 for some」,
> 它是 default 的,因為問題本身要的就只是 one case,
> 因此我不必強調 for some,因為問題本身沒有強調 for all,
> 我不相信你長到這麼大會不清楚怎樣用上下文的關係來判斷語義。
我們來看一下整串文字:
一開始發問的是:
> 什麼是 multi-thread
三個人分別回答:
> 恩 OS 裡面會有
> 講Win32API或教人寫遊戲的書會有。
> 請參閱OS恐龍書
你的第一個回答:
> 翻 C++ 沒有,翻 Java 會有...
> 翻 OS 也會有,不過實例不多...
> thread 這東西可以跟 OS 有關,可以跟 OS 無關...
前面本來的回答都是針對「哪些書可以找到multithread這方面的資料」
就只有你回答的最離譜,multithread是OS process處理方面的term,
當然是告訴他去看OS的課本,就只有你自以為高明的要對方去找Java
的書,還嫌OS實例不多,廢話,OS課本教的是multithread的通則,想
看個別OS的實作當然是找個別OS相關的書,輪的到你來嫌實例太少?
接著就有人反問了:
> thread在什麼情況下會跟os無關???
接著你才回:
> library thread,純粹使用 library 來做的情況下。
如果你所謂的「跟 OS 無關的thread library」是從這裡開始,
那我只能說,你的閱讀能力根本連高中生都不到,只是善用一
大堆看似深奧的網頁背景資料和大堆頭的垃圾文字來掩飾你自
己對OS基本概念的缺乏。
> > Windows裡面有很多Undocumented API,也是給內部用的,換個版本
> > 說不定這些API還會有增減,你覺得它們是不是OS的一部分?
> 你這兩行回文跟我上面五行回文根本無關。
> 如果你不知道我在說什麼你可以說看不懂,
> 我可以再說詳細一點讓你懂,但是拜託不要亂回。
> 我在跟你講「利用 API 製作的 library 是不是 OS 的一部份」,
> 你跟我講「某些 API 是不是 OS 的一部份」。
你怎麼知道某些API不是利用其他API製作的?
我以為這種普通常識你不可能不知道,所以我把重點擺在
沒public這點上面,原來你不知道很多API其實只是另外
一些API的包裝,就跟你「利用 API 製作的 library」是
一樣的,這些「2nd level API」算不算OS的一部分?你要
不要回答這問題看看?
> > 為什麼不是?command.com是DOS這個OS的shell,你換成4DOS就不是OS的
> > shell?車胎是車子的一部分,誰告訴你車胎跟車子不同牌子就不是一部分?
> > 再強調一次,一組程式碼是不是OS的一部分,是根據這組程式碼的功能,
> > 不是根據程式碼有沒有public到市面被大家知道。
> 4DOS 是用來讓 user 和某種 OS 之間溝通的一種 shell,
> 4DOS 的確也能夠成為 OS 的一部份,
> 但是 4DOS 真的必須是 OS 的一部份嗎?
> 哪家的 OS 包含什麼東西不是課本定義的,
> 也不是你我可以定義的....
> 課本只是告訴你 OS 必須要有什麼東西,可以有什麼東西,
> 可沒告訴過你什麼東西必須要是 OS 的一部份,
> 也沒有告訴你當 X 是 OS 的一部份時,
> 由於 Y 和 X 是同性質的東西,
> 所以 Y 也必須要是 OS 的一部份。
> 教科書上沒定義的東西,本身就是一個彈性的空間,
> 你自己對教科書沒有定義的部分妄下定義,
> 還要說別人對這種彈性的敘述是不對的,
> 這就真的很奇怪。
我現在再問你一次,你所謂跟OS無關的「OS」是OS這門學問的
領域,還是指對「哪家的OS」?
如果是前者,你對於OS的基本概念有問題,如果是後者,
你根本是文字閱讀能力有問題。
> 還有我的重點不是在程式碼有沒有 public 到市面,
> 我的重點在那個 library 是「自己寫的」,
> 不要每次看到後面就忘記前面。
我要告訴你的就是「自己寫的」並不是重點所在
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 203-203-38-134.cable.dynamic.giga.net.tw