看板 Gossiping作者 jserv (松鼠)標題 Re: [問卦] 為什麼顯示卡不能取代CPU直接裝作業系統時間 Sat Feb 24 01:46:03 2018
※ 引述《rick102233 (rick102233)》之銘言:
: 現在顯示卡的運算這麼強,還能橋接多張
: 後來AMD漸漸推出APU不就代表明明可以做在一起,性能還不差,而且還維持一樣大小
: 那卡王各個都這麼大張,若是類比成APU豈不飛天
要看「類比」的基準點在哪,才能討論。不是每個開發網站服務的工程師奮鬥
幾年後,都能搞出可「飛天」的 SpaceX 出來。
回到主題:「是否能在 GPU 上執行作業系統?」
這是個好問題,我們要先思考「作業系統是什麼?」
在 Wikipedia [1] 提及以下:
> An operating system (OS) is system software that manages
> computer hardware and software resources and provides
> common services for computer programs.
我們可看出:
a. 作業系統的本質是軟體,但作用很特別,和電腦硬體打交道;
b. 作業系統的「定位」在於使用者操作的應用程式和硬體之間;
c. 作業系統管理系統資源並且提供通用的服務;
在紀錄片《Revolution OS》[2] 中,Linux 核心的草創者 Linus
Torvalds 解釋作業系統原理時,他明確提到:
> 作業系統就是你永遠不會看到的東西,因為沒有人直接使用作業系統,
> 人們使用的是程式。在他們的電腦上,作業系統唯一的使命就是,幫助
> 其它程式執行,所以作業系統從未獨立運行,而僅是默默等待程式,
> 來向它要求現有資源、某個存在硬碟上的檔案或要求其它程式將這個
> 程式連接到外面去,然後作業系統再一步步地,試著讓人們寫程式容易
> 一些
我們再繼續思考:「電腦裡頭除了 CPU,不也有 GPU 嗎?」
是的,而且依據上述思路,只要在 GPU 上得以管理資源並且提供通用服務
的特殊軟體,在概念上即可是作業系統。
你沒聽過不代表不存在或不可行。先岔開話題,小弟我前天喜滋滋換用
Nokia 3310 3G [3] 手機,終於回到手機在身邊,不用頻頻留意電池刻度,
只要回覆電話和簡訊的輕鬆日子 [4],這樣的手機顯然是一款硬體裝置,
而且其上具備應用程式 (可下載 Java 程式),但你會理會裡頭的作業系統
叫做什麼名字嗎?會想知道裡頭的作業系統是否存取到 GPU 嗎?很可能不
會想知道,我就懶得細節 (儘管我知道是 Series 30+)。
故作玄虛到此,原主題「是否能在 GPU 上執行作業系統?」又該如何解呢?
UT Austin 和 Yale University 的研究人員幾年前發表一篇論文
"GPUfs: The Case for Operating System Services on GPUs" [5]
已經透過在 NVIDIA GPU 上的實作,開發出得以管理 GPU 資源的系統軟體,
涵蓋了典型作業系統服務 (主要是檔案系統)。在該論文尾聲提到:
> System-wide supportfor operating system services, as demonstrated
> by GPUfs, alleviatesthis basic constraint of the programming model,
> and could benefitmany GPU applications including those developed
> with the help ofother GPU productivity tools.
上面的 GPUfs 就是針對 NVIDIA GPU 開發出的檔案系統,連同對應的作業系統
服務,程式碼發佈在 GitHub:
https://github.com/gpufs/gpufs
搭配看 Wikipedia 的定義,這樣的概念實作當然可稱為作業系統,只是不算
通用作業系統 (general purpose operating system)。
(如果你看到這裡還沒離開的話,幫你畫重點) 原命題成立,不過執行於 GPU 的
作業系統的通用性較低。
[1]
https://en.wikipedia.org/wiki/Operating_system
Operating system - Wikipedia
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. ...
[2] 新竹交通大學資訊工程系「自由開源軟體與專案協作」課程
(2014-2017) 的師生對《Revolution OS》做了一系列解說和
資訊補充,請見:
https://hackmd.io/s/SyuRJIPI-
[3] 復刻的 Nokia 3310 手機由 HMD Global 進行品牌管理、鴻海旗下的富智康
進行生產、售後、研發、供應鏈管理
[4] 網友的開箱文:
http://www.eprice.com.tw/mobile/talk/4529/5042181/1/rv/nokia-3310-2017-3G-版-review/
[5] 請見:
http://bford.info/pub/os/gpufs-cacm.pdf
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.113.20
※ 文章代碼(AID): #1Qa5DXqn (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1519407969.A.D31.html
推 atpx: 已跪, 大神居然回這種文4F 02/24 01:48
推 probsk: 你GPU系?10F 02/24 01:51
→ jserv: @NVIDIA, 感謝神支援12F 02/24 01:52
推 L1ON: 哇靠。14F 02/24 01:54
推 Arbin: 這樣也釣到...17F 02/24 01:55
→ jserv: @a94037501, 我也文組,讀論[文]再[組]合裡頭概念到程式中19F 02/24 01:56
推 Aeolusfly: 看到第二頁覺得不對勁 跳出去一看 果然是大神 跪21F 02/24 01:56
→ jserv: @BradPeter, 不舒服要跟老師說,不要悶在心裡呀22F 02/24 01:57
推 dyadi: 推23F 02/24 01:57
推 mayK: 膝蓋軟ㄌ25F 02/24 01:59
→ jserv: @m21423, 看不懂是因你還沒成為[論]文組,上面有連結喔:-)30F 02/24 02:01
→ kamichu: 喜孜孜的使用nokia 331031F 02/24 02:01
推 YU0158: 老師這時間才要吃午餐對吧33F 02/24 02:03
→ jserv: @kamichu, 我把摸玻璃的時間省下來,就可以上來Ptt發廢文35F 02/24 02:03
推 figgy: 看不懂但已跪36F 02/24 02:05
噓 cosmite: 在作業系統與硬體間還有一層韌體, 不管你是想叫他嵌入式系統或BIOS, 那才是真正控制硬體、控制指令集的層面.37F 02/24 02:06
→ jserv: @cosmite, 有個課程叫做nand2tetris,可幫助你回歸本質學習40F 02/24 02:09
→ cosmite: 我是業界人士了 以前當學生 8051也都有碰過.42F 02/24 02:12
→ jserv: 作業系統甚至可不依賴韌體執行,如 CSAIL 的
LEAP FPGA Operating System (CSAIL)44F 02/24 02:16
→ jserv: @YU0158, 我午夜讀論文配宵夜,朝向專業文組邁進47F 02/24 02:21
→ cosmite: FPGA已經很偏硬體了, 以一般end user對OS的印象不外乎Windows/Linux/iOS/Android. 大架構的產品通常都會把硬體/韌體/軟體(包含OS) 拆得很細.49F 02/24 02:23
推 mia3: 推個大神52F 02/24 02:24
→ jserv: @cosmite, 標題沒聲明 GPOS 呀53F 02/24 02:24
→ cosmite: 當然沒辦法以一蓋之. 但你這種說法對外行人來說有誤導之嫌(?). 畢竟多數/社會大眾對作業系統(OS)的印象不外乎我上述所列居多, 而其是無法直接與硬體溝通的. 因其無法直接控制指令碼, 須透過韌體層來幫助中斷/傳達.55F 02/24 02:29
→ wiydluck: 簡單的說 GPU能當作CPU用 但不會比較好60F 02/24 02:32
推 Ericcws: 上篇噓的臉好腫lol62F 02/24 02:38
推 arms6806: 沒有line 長輩也不會想用63F 02/24 02:39
推 Debian: 跪著看這篇文章。67F 02/24 02:40
推 asdg62558: GPU 不像 CPU 的指令集 那樣通用吧79F 02/24 03:35
推 jelly63: 所以我是在用比爾蓋茲發明的Windows 作業系統還是Windows 程式……?你說沒人直接使用作業系統……我還有點亂82F 02/24 04:13
→ king00000000: 回樓樓上,你可以想想看你用Windows做了什麼,你會這麼覺得是因為現在windows內建很多“程式”,像計算機、小畫家等等,你把這些拿掉後想想看你還能做什麼,只能點點滑鼠開一堆空資料夾而已,這些都不能被稱為“使用”電腦吧,只能稱為“管理”87F 02/24 06:03
推 a0913: 先推93F 02/24 07:00
推 kiwi0530: 老師辛苦了,還要在八卦板上教書95F 02/24 07:38
推 AInnor: Pushhhhh大神96F 02/24 07:41
推 johnny3: windows最基本的程式是檔案總管explorer.exe97F 02/24 07:44
推 GARIGI: 文組版本:不行105F 02/24 08:26
推 kig88: 推推107F 02/24 08:49
噓 s942816: 為你發的論文感到擔心108F 02/24 08:49
推 gametv: 這id必須推110F 02/24 08:59
推 Brothre23: 左轉看ID發現果然是jserv 跪m(_ _)m115F 02/24 09:49
推 JameC: jserv必推116F 02/24 09:51
推 ilsr: 嗯嗯,跟我想的很像(嚼薯條120F 02/24 10:07
推 argc: 上了一課 謝謝124F 02/24 10:40
推 soyjay: 看到一半往上拉 原來是老師...很怕上一次講了大撒幣老師就被消失了啊...125F 02/24 10:43
推 penta: 系上教授 給推128F 02/24 10:49
推 Wand: 整個八掛版都是 jserv的教室134F 02/24 12:00
噓 zzss2003: 推cosㄧ票,OS需要透過firmware才有辦法控制hardware,不然就不會有firmware這個詞140F 02/24 12:31
推 ck237: 大神快拜~143F 02/24 13:09
推 raagi: 有神快拜145F 02/24 13:14
推 eterbless: 看到第二段拉上去看 宅色夫果然又是你148F 02/24 14:56
--