精華區beta Programming 關於我們 聯絡資訊
※ 引述《[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