推 walker2009:感覺牽涉很廣@@ OS 計組 組語 compiler 很多很多.. 03/27 03:38
→ walker2009:我也是囫圇吞棗XD 需要有厲害的大大整個有系統的說明 03/27 03:39
→ walker2009:好期待這篇的回應(興奮) 感覺可以學到很多 03/27 03:40
推 wa120:懂原理就好摟 原理是拿來應用的 也不需要到底層 03/27 04:37
→ wa120:像TCP/IP就懂它的handshaking camera就懂它的RGB raw data 03/27 04:39
→ wa120:同樣是Call function,有些人就是可以最佳化 03/27 04:40
→ wa120:差別就是在對原理了不了解 03/27 04:41
推 costbook:修過計算機組織、微處理機實習、系統程式...就知道了 03/27 04:44
→ costbook:或者是弄個嵌入式板子來玩 03/27 04:45
推 wa120:當程式會寫 以前教觀念的書本重看一次真的會超有收獲 03/27 04:46
→ operationcow:去看看 Minix 的程式碼, 自己寫一個作業系統就知道了 03/27 04:57
→ operationcow:以你問的 drawline 為例, CPU 有兩種 mode, text 03/27 05:01
→ operationcow:mode 和 graphic mode, 傳統的 command line, CPU 是 03/27 05:01
→ operationcow:在 text mode, 單位是一個字, 要如何寫就是用 bios 03/27 05:02
→ operationcow:提供的中斷, 現今的 GUI 則是 CPU 處於 graphic mode 03/27 05:03
→ operationcow:寫的方式應是 memory mapped IO 03/27 05:04
→ operationcow:單位則是 pixel 03/27 05:04
→ operationcow:如你所說的, 如果是 standard library cout, 當你是 03/27 05:05
→ operationcow:在 command line 的系統, standard library 最終call 03/27 05:05
→ operationcow:OS 的 API, OS 的 API 則是用 bios 的中斷 03/27 05:06
→ operationcow:如果是在 GUI, 那你輸出的會被轉成像 pixel 的型式 03/27 05:07
→ operationcow:才被畫上螢幕 03/27 05:07
→ operationcow:至於你說的網路, 則牽扯到 network stack, 但是最接 03/27 05:08
→ operationcow:近底層的部分, 還是不外乎剛剛說得那兩種方式 03/27 05:09
→ operationcow:有錯請指正 <(_ _)> 03/27 05:11
推 yauhh:你轉烤麵包機的旋鈕時,不必忙著思考線路上的原理. 03/27 06:15
推 sunneo:弄嵌入式系統 trace kernel就可以猜出些端倪 03/27 06:25
→ sunneo:從之前看到ip 113到公司 時間過好快...@_@ 03/27 06:27
→ sunneo:不過再早期確實會碰到kernel api不足支援的問題 03/27 06:28
推 VictorTom:推y大, 轉烤麵包機的旋鈕時,不必忙著思考線路上的原理 03/27 07:53
→ VictorTom:就算是寫所謂比較底層的東西, 也不見得需要去弄懂每一個 03/27 07:54
→ VictorTom:API/LIB怎麼實作的, 不同vendor不一定實作方式也不同. 03/27 07:55
→ VictorTom:真正有需要的公司, 公司自有一套機制train你給你需要研 03/27 07:55
→ VictorTom:讀的資訊(不管是底層的SW或HW怎麼做). 軟硬體包山包海, 03/27 07:56
→ VictorTom:你想弄懂所有東西, 那就卯起來讀書卯起來trace code吧. 03/27 07:57
→ VictorTom:最後, 寫AP也沒有這麼淺, 或者說寫程式也沒有這麼容易. 03/27 07:58
推 sawang:單純寫AP,也有一堆演算法資料結構可以研究啊 XDD 03/27 10:23
→ sawang:要花的時間也是很多低~ 03/27 10:24
推 Bencrie:呃 ... text跟graphics mode是顯示卡那邊的事吧 @@a 03/27 10:53
→ Bencrie:x86的工作模式是有 real mode跟protected mode XD 03/27 10:54
→ operationcow:遇到行家了, good. 那他是怎麼切換的阿, 我只知道有 03/27 10:56
→ operationcow:兩個 mode 可供切換, 不過不知道他實際怎麼切換的? 03/27 10:57
→ operationcow:看了 EFI 也沒找到相關的程式碼 03/27 10:58
推 Bencrie:API就是要給人家call的,有興趣的東西再深入研究就好了 03/27 10:59
推 clanguage:你要看real mode 切 protected mode 就看 x86 programmi 03/27 11:41
→ clanguage:g guide 就好了 去圖書館也找的到專書 03/27 11:41
→ clanguage:填暫存器填一填 設定分頁和分段 03/27 11:42
→ operationcow:real mode 跟 protected mode 我知道, 這蠻基本的 03/27 12:31
→ operationcow:我是想請問 text mode 和 graphic mode 之間的切換 03/27 12:31
→ QQ29:大家推文的專有名詞我...都沒概念= = 我不是說寫AP很容易@@ 03/27 13:03
→ QQ29:只是覺得寫AP會學到的東西可能有限 技術方面能碰到的機會很少 03/27 13:03
→ QQ29:主要是我從來沒有會過底層 沒有這觀念 有點希望知道這方面的 03/27 13:05
→ QQ29:概觀 不然我只會call有的東西 沒的話我就不知道怎下手了 03/27 13:05
推 costbook:有時候有穩定可靠的開發工具比自己去從頭寫還重要 03/27 14:34
推 wa120:我會從他們的API去推測他們的記憶體管理策略 03/27 14:53
→ wa120:倒是覺得沒有Call function那麼簡單 03/27 14:54
→ wa120:因為在很多情況 資料量大的時候很容易overflow 03/27 14:55
→ QQ29:我也想要有推敲她怎麼寫的能力 但是我就一直不懂.... 03/27 14:58
→ QQ29:某一個環節..... 03/27 14:59
→ fragileness:有興趣的話可以改找driver相關的工作啊XD 03/27 15:01
推 hilorrk:那你要不要學量子力學來徹底瞭解電子是啥東西啊...XD 03/27 20:59
推 dk3208:我覺得寫ap可以學到一些架構面的東西,不一定就比driver容易 03/27 21:34
→ dk3208:你看到那些能夠reuse的component內部也可能只是多call了一 03/27 21:36
→ dk3208:層api 03/27 21:36
→ dk3208:能夠設計這些component也是很有學問的...XD 03/27 21:37
推 StubbornLin:做出那些層次本來就是要讓你不懂底層也能用 03/27 22:00
→ StubbornLin:只是你如果懂底層比較知道如何去最佳化 03/27 22:00
→ StubbornLin:在上層做東西不代表就沒問題要解決 03/27 22:01
→ StubbornLin:因為你依賴的是下面的那些東西,當那些有問題時 03/27 22:01
→ StubbornLin:你可能就得想辦法去讀下面的東西,做出workaround來 03/27 22:02
推 andyjy12:量子力學也說不出電子是什麼東西XD 要場論或String ? 03/28 13:36
推 yauhh:String(弦)可以append嗎? 03/28 13:38
推 yayarice:我覺得原po如果對driver有興趣 可以去學習 03/28 17:51
→ yayarice:但如果只是覺得ap比driver遜那就不必了 不同領域罷了 03/28 17:52