顯示廣告
隱藏 ✕
※ 本文為 MindOcean 轉寄自 ptt.cc 更新時間: 2019-02-19 01:52:19
看板 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
Wherever you are, whatever you do: QNX technology in the world around us - YouTube For more than 35 years, BlackBerry’s QNX technology has been trusted for the world’s most safety-critical, mission-critical embedded systems. Over the years,...

 
[6] https://www.ptt.cc/bbs/Gossiping/M.1549809373.A.F32.html
Re: [問卦] 作業系統是不是理科最簡單科目 - 看板 Gossiping - 批踢踢實業坊
如果作業系統真的是所謂「最容易」的科目,那為何不擺在大學一年級上學期就教呢? 你有沒有想過,為何大部分台灣的資訊工程系都將作業系統課程安排在大三或大二下 學期呢?這門科目難在融會貫通,需要事先精通計算機結構、資料結構、演算法、機率 統計、離散數學,和數位邏輯等等背景知識,而在實作層面還需要熟悉編譯器及其最佳 化,搭配電腦網路和分散式系統一類的認知。
 

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.245.162
※ 文章代碼(AID): #1SQk9uPo (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1550508664.A.672.html
nckuff: 會爆1F 02/19 00:51
sammoon: 趕快推2F 02/19 00:51
ahahahahah: 怎麼選在今天Xd3F 02/19 00:51
Laszlo: 推推推4F 02/19 00:52
ikaros35: 先跪5F 02/19 00:52
wupaul: 推 優質文6F 02/19 00:52
cyc0616: 推7F 02/19 00:52
f24806: 推8F 02/19 00:52
Hsieh0709: 推9F 02/19 00:53
kji590929: 優質10F 02/19 00:53
james80351: 有空11F 02/19 00:53
yywwt: 先推12F 02/19 00:53
holishing: 推13F 02/19 00:53
brad001: 先推14F 02/19 00:53
pikapikachiu: 推15F 02/19 00:53
Minarai: 有空16F 02/19 00:53
UnReal5566: 造福社會17F 02/19 00:53
potter903p: 老師辛苦了~18F 02/19 00:53
a0913865175: 推19F 02/19 00:53
nckuff: 補推20F 02/19 00:54
shadowstrike:21F 02/19 00:54
CowBaoGan: 有神快拜22F 02/19 00:54
pedestrianA: 宅瑟夫23F 02/19 00:54
h601124asd: 推24F 02/19 00:54
g5637128: 跪著推25F 02/19 00:54
cb1210630: 推26F 02/19 00:54
NoOneCares: 先推27F 02/19 00:55
onedaymor: 推28F 02/19 00:55
GTAblue: 推29F 02/19 00:55
s97852: 推30F 02/19 00:55
tkc7: 好文不能沉31F 02/19 00:55
jengjye: 娘子快出來!32F 02/19 00:55
bbo6uis122: 推33F 02/19 00:55
orange7986: 推啦 Unix讚讚讚34F 02/19 00:55
yyyyyyyv: 推推35F 02/19 00:55
kunileyclire: 推36F 02/19 00:56
godline: 推37F 02/19 00:56
oncemore: jserv必推38F 02/19 00:56
youjan: 推39F 02/19 00:56
sad0soul:40F 02/19 00:57
nfsong: 未看先跪41F 02/19 00:57
lemonneko: 推42F 02/19 00:57
reng11726: 推推優質43F 02/19 00:57
Wand: 老師您好44F 02/19 00:57
wolf86220: 推45F 02/19 00:57
jehg900207: 大神的優質清流文來囉!46F 02/19 00:58
b10007034: QNX狂47F 02/19 00:58
DarkerDuck: 推48F 02/19 00:58
bill0205: 推49F 02/19 00:58
alienjj: 推50F 02/19 00:58
kwanles: 推個51F 02/19 00:59
gino1012: 媽我在這52F 02/19 00:59
xinh: 清流53F 02/19 00:59
jserv: @ahahahahah, 課程第一週,借題發揮打廣告54F 02/19 00:59
S0323109: 推55F 02/19 01:00
kuanyuu: 老師好56F 02/19 01:00
liyard: 宅色夫!57F 02/19 01:00
victoryzy: 現在是兩位老師要尬Linux了嗎XD58F 02/19 01:00
briany329: 推59F 02/19 01:02
wbreeze: 推60F 02/19 01:02
sluttysayage: 老師 你的youtube有沒有比較入門的啊??61F 02/19 01:02
sluttysayage: 指標那部 小弟太費看不懂QQ
jackwula9211: 清流專業文63F 02/19 01:03
liulen: 我 ... 怎麼像文組64F 02/19 01:03
grayfox: 推65F 02/19 01:03
jserv: @sluttysayage, 可能現在還不對,繼續寫程式吧66F 02/19 01:03
bomda: 推67F 02/19 01:04
basacola: 先推 可是你太早PO了啦68F 02/19 01:04
j022015: 推一個69F 02/19 01:05
Arbin: 長知識了70F 02/19 01:07
hopesong: 清流71F 02/19 01:07
jserv: @liulen, 我也是文組,講故事比較多72F 02/19 01:07
silver00: 只能推了73F 02/19 01:07
bboxbear: 清流74F 02/19 01:08
waeshine: 推一個75F 02/19 01:08
fight40520: 優文生不逢時76F 02/19 01:09
la8day: 有神推77F 02/19 01:10
ckland: 推78F 02/19 01:10
donkilu: 推jserv大神79F 02/19 01:10
Azucat: 優質80F 02/19 01:11
barry910543: 老師今天直播講課 還要上來回文 也太認真了XD81F 02/19 01:12
s8759403: 推82F 02/19 01:12
Elemath519: 清流QAQ83F 02/19 01:12
jserv: 應該變更標題為「我是 Linux,我有話要說」 (?)84F 02/19 01:12
OpenGoodHate: 有神快拜85F 02/19 01:12
bochengchen: 推推推86F 02/19 01:12
jenny1997: 推87F 02/19 01:12
b0920075: 期待這學期開的課,希望旁聽也收穫滿滿QQ88F 02/19 01:12
ttff: 太神啦 剛剛還在上課現在就來回文 推89F 02/19 01:13
devilkool: 未看先推90F 02/19 01:14
jserv: @ttff, 稍後在辦公室打盹後再來練習寫程式(往裡組前進)91F 02/19 01:14
asdfjoe: 比較好奇兩千六百萬行程式碼看過去要花多久時間 如果一92F 02/19 01:15
asdfjoe: 個人很閒的話
kipi91718: 推!!94F 02/19 01:15
silentence: 寫程式的人某種程度 跟神差不多吧XDD95F 02/19 01:16
jserv: @asdfjoe, 基底不好的話,連20行都看不懂啊 *茶*96F 02/19 01:16
gp61g42ji31: 長知識97F 02/19 01:17
jserv: 重點不是行數,而是程式碼背後蘊含的素養98F 02/19 01:17
silentence: 要讓東西躍然紙上 空有殼子沒有靈魂(?)是不行的99F 02/19 01:17
jengjye: 分模組研究吧...不需要全部看啊,學架構才是重點100F 02/19 01:18
a2156700:101F 02/19 01:18
xiaoyu: 推102F 02/19 01:18
asdfjoe: 話說宅色夫大的Linux核心課程有要什麼前提知識嗎103F 02/19 01:20
hellomotogg: 很好奇 提交的人要把整個核心都摸熟嗎104F 02/19 01:20
assblack: 推105F 02/19 01:20
asdfjoe: 我在想我現在大二看會不會看不懂XD106F 02/19 01:20
jserv: @asdfjoe, 只有一項要求,就是GUTS,勇於接受挑戰的決心107F 02/19 01:21
jserv: 我教過完全不懂程式設計的政治系學生,他旁聽後就轉向學習
asdfjoe: 恩 有空就來看jserv大的Linux核心課程109F 02/19 01:22
jserv: 作業系統和編譯器,如今人在高麗大學電腦科學系深造110F 02/19 01:22
stu52052604: QNX真的猛111F 02/19 01:22
Ardt4113C: 優文112F 02/19 01:22
jserv: 起點真的不是很重要,要看你願意花多大力氣克服"靜摩擦力"113F 02/19 01:23
ZZZZ0: 半夜冒這種文114F 02/19 01:23
asdfjoe: 恩115F 02/19 01:23
MUCCKE: 推啊116F 02/19 01:23
RD5566: 這一定沒35%117F 02/19 01:24
jserv: @hellomotogg, 不用,你改錯別字也是貢獻118F 02/19 01:25
CS5566:119F 02/19 01:26
asdfjoe: 真的改錯別字也是XD 我有一個學長就是提交typo更正120F 02/19 01:27
chuegou: 大神必推121F 02/19 01:27
charlly: 滑鐵盧大學 囧122F 02/19 01:27
jserv: @silentence, 寫程式就是為了成為「電腦的主人」,扮演神123F 02/19 01:30
ts05593818: 老師安安124F 02/19 01:30
number543: 推125F 02/19 01:33
LierX: 推126F 02/19 01:35
perytech: 推!127F 02/19 01:36
Cybershit: 竟然在大趴踢的時候出現128F 02/19 01:36
selfhu: 推我是Linux,我有話要說129F 02/19 01:36
a2470abc: 大神130F 02/19 01:36
holoJ860825i: 推 好文131F 02/19 01:37
shangguan125: 推132F 02/19 01:43
askacis: 有神快拜133F 02/19 01:44
jserv: 配合時事(?),課堂要問學生說AAAAAAAA是什麼意思?134F 02/19 01:45
pokemonoxo: 老師我明天一定上你的課135F 02/19 01:46
jserv: 答: 10101010101010101010101010101010 (偶位元1/反之0)136F 02/19 01:46
jserv: 0xAAAAAAAA 是個很常見的 bit mask
iosian: 鞠躬138F 02/19 01:49
sr29: 推大師 之前讀FreeRTOS受益良多139F 02/19 01:50
jhangyu: 推jserv140F 02/19 01:50

--
※ 看板: Gossiping 文章推薦值: 1 目前人氣: 0 累積人氣: 1740 
分享網址: 複製 已複製
( ̄︶ ̄)b clisan 說讚!
1樓 時間: 2019-02-19 02:22:49 (台灣)
  02-19 02:22 TW
現在都馬學AAAAAAAAAAAA
2樓 時間: 2019-02-19 08:29:17 (台灣)
  02-19 08:29 TW
推!
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇