看板 Gossiping作者 jserv (松鼠)標題 Re: [問卦] 作業系統學Linux就好?時間 Tue Feb 19 00:50:57 2019
※ 引述《yw1002 (瑋瑋1+1>2)》之銘言:
: Linux 核心設計: 賦予應用程式生命的系統呼叫
: https://www.youtube.com/watch?v=POfVChOoJ6k
Linux 核心設計: 賦予應用程式生命的系統呼叫 - YouTube
Linus Torvalds 在 2001 年紀錄片《Revolution OS》說過: 「作業系統就是你永遠不會看到的東西,因為沒有人直接使用作業系統,人們使用的是程式。在他們的電腦上,作業系統唯一的使命就是,幫助其它程式執行,所以作業系統從未獨立運行,而僅是默默等待程式,來向它要求現有資源、某個存在硬碟上的檔...
: Linux 核心設計: 不僅是個執行單元的 Process
: https://www.youtube.com/watch?v=sah_jMF4pdw
Linux 核心設計: 不僅是個執行單元的 Process - YouTube
Linux 核心對於 UNIX Process (繁體中文翻譯為「行程」,簡體翻譯為「進程」) 的實作相當複雜,不僅蘊含歷史意義 (幾乎每個欄位都值得講古),更是反映出資訊科技產業的變遷,核心程式碼的 task_struct 結構體更是一絕,廣泛涵蓋 process 狀態、處理器、檔案系統、signal 處理、底...
: 聽說Linux原始碼已經經過全世界開源貢獻者協力增加到幾百萬行了
依據 Phoronix 的統計,Linux 核心原始程式碼在 2018 年的最後一日:
** 總共程式碼行數為 26132637 (兩千六百萬行!)
** 檔案數量為 62972 個
** 程式碼貢獻者數量: 19549 位 (將近兩萬人!)
** 修改提交次數: 807944 (活躍開發的日子中,平均每日有 158.2 次修改)
只講「幾百萬行」不太夠喔 :-)
另外,「Linux 核心設計」課程 [2] 教材陸續上線,歡迎一同感受這兩千多萬行
Linux 原始程式碼的威力。
[1]
https://www.phoronix.com/misc/linux-eoy2018/index.html
[2]
http://bit.ly/linux-2019q1
課程進度表:
http://wiki.csie.ncku.edu.tw/linux/schedule
: 那是不是Linux已經等同於作業系統了?
: 我如果要從頭自寫作業系統
: 不可能比Linux更好?
要看你對「等同」的定義。依據 TOP500 的統計數據 [3],從 2017 年 11 月起,
世界前 500 大的超級電腦都運作著 Linux 作業系統,但在 (具備網路連線的) 車用
電子領域中,BlackBerry 旗下的 QNX 作業系統仍為主要採用選擇,Linux 目前在
車用電子領域發展還算早期。
1980 年,當時就讀於加拿大滑鐵盧大學 (University Ave W, Waterloo) 的
Gordon Bell 與 Dan Dodge,選修 CS350 [4] 作業系統課程,該門課程要求學生要
開發出一套作業系統核心,於是這兩位以電腦科學的概念 (當時缺乏實做訓練),再
加上一些設想,而撰寫出一個即時作業系統核心,他們認為這個作業系統核心能滿足
商業需求,就成立 Quantum Software Systems,並於 1982 年發表了第一個版本的
QNX,最早的版本稱為 Quick UNIX,一直到 AT&T 公司的律師來函,認為 UNIX 一詞
侵犯到 AT&T 的商標權,才將更名為 QNX。
全球超過兩千萬輛汽車裝載 QNX 的授權軟體,包括全數位儀表板、藍牙免持系統、
多媒體娛樂中控系統、車載聯網模塊和 3D 導航系統。QNX 還提供業界最大、最廣泛
且通過量產驗證的汽車資訊娛樂生態系統。此外,QNX 廣泛地執行在許多領域,舉凡
核電站、軍用無人駕駛機、軍用無人駕駛坦克等等,包含台北捷運車廂廣播系統 [5]
要跟 Linux 一較高下的機會很多,但應該先聲明在哪個領域競爭,上述如核電廠、
軍用無人駕駛武器,和車載電子的範疇,Linux 顯然不是 QNX 的對手,「不可能比
Linux 更好」不成立。
忘了說,看 QNX 的發展歷史,總覺得很勵志,兩個大學生在課堂自幹作業系統,長期
積累與蛻變後,就直接變更我們所處世界的面貌,原來網友問說「作業系統是不是理科
最簡單科目」[6],是指做出來的成果要造成普世影響的難易度啊!
[3]
https://www.top500.org/statistics/details/osfam/1
[4]
https://www.student.cs.uwaterloo.ca/~cs350/
[5] QNX 展示影片:
https://www.youtube.com/watch?v=vs765Xpen-Y
[6]
https://www.ptt.cc/bbs/Gossiping/M.1549809373.A.F32.html
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.245.162
※ 文章代碼(AID): #1SQk9uPo (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1550508664.A.672.html
推 yywwt: 先推12F 02/19 00:53
推 tkc7: 好文不能沉31F 02/19 00:55
→ Wand …
推 Wand: 老師您好44F 02/19 00:57
推 xinh: 清流53F 02/19 00:59
→ jserv: @ahahahahah, 課程第一週,借題發揮打廣告54F 02/19 00:59
推 victoryzy: 現在是兩位老師要尬Linux了嗎XD58F 02/19 01:00
推 sluttysayage: 老師 你的youtube有沒有比較入門的啊??
指標那部 小弟太費看不懂QQ61F 02/19 01:02
推 liulen: 我 ... 怎麼像文組64F 02/19 01:03
→ jserv: @sluttysayage, 可能現在還不對,繼續寫程式吧66F 02/19 01:03
推 bomda: 推67F 02/19 01:04
推 Arbin: 長知識了70F 02/19 01:07
→ jserv: @liulen, 我也是文組,講故事比較多72F 02/19 01:07
→ jserv: 應該變更標題為「我是 Linux,我有話要說」 (?)84F 02/19 01:12
推 b0920075: 期待這學期開的課,希望旁聽也收穫滿滿QQ88F 02/19 01:12
推 ttff: 太神啦 剛剛還在上課現在就來回文 推89F 02/19 01:13
→ jserv: @ttff, 稍後在辦公室打盹後再來練習寫程式(往裡組前進)91F 02/19 01:14
推 asdfjoe: 比較好奇兩千六百萬行程式碼看過去要花多久時間 如果一個人很閒的話92F 02/19 01:15
→ jserv: @asdfjoe, 基底不好的話,連20行都看不懂啊 *茶*96F 02/19 01:16
→ jserv: 重點不是行數,而是程式碼背後蘊含的素養98F 02/19 01:17
→ silentence: 要讓東西躍然紙上 空有殼子沒有靈魂(?)是不行的99F 02/19 01:17
推 jengjye: 分模組研究吧...不需要全部看啊,學架構才是重點100F 02/19 01:18
→ asdfjoe: 話說宅色夫大的Linux核心課程有要什麼前提知識嗎103F 02/19 01:20
→ asdfjoe: 我在想我現在大二看會不會看不懂XD106F 02/19 01:20
→ jserv: @asdfjoe, 只有一項要求,就是GUTS,勇於接受挑戰的決心
我教過完全不懂程式設計的政治系學生,他旁聽後就轉向學習107F 02/19 01:21
→ asdfjoe: 恩 有空就來看jserv大的Linux核心課程109F 02/19 01:22
→ jserv: 作業系統和編譯器,如今人在高麗大學電腦科學系深造110F 02/19 01:22
→ jserv: 起點真的不是很重要,要看你願意花多大力氣克服"靜摩擦力"113F 02/19 01:23
推 ZZZZ0: 半夜冒這種文114F 02/19 01:23
推 RD5566: 這一定沒35%117F 02/19 01:24
→ jserv: @hellomotogg, 不用,你改錯別字也是貢獻118F 02/19 01:25
→ asdfjoe: 真的改錯別字也是XD 我有一個學長就是提交typo更正120F 02/19 01:27
→ jserv: @silentence, 寫程式就是為了成為「電腦的主人」,扮演神123F 02/19 01:30
推 LierX: 推126F 02/19 01:35
推 selfhu: 推我是Linux,我有話要說129F 02/19 01:36
→ jserv: 配合時事(?),課堂要問學生說AAAAAAAA是什麼意思?134F 02/19 01:45
→ jserv: 答: 10101010101010101010101010101010 (偶位元1/反之0)
0xAAAAAAAA 是個很常見的 bit mask136F 02/19 01:46
推 sr29: 推大師 之前讀FreeRTOS受益良多139F 02/19 01:50
--