※ [本文轉錄自 Linux 看板]
發信人: john-enter@yahoo.com.tw (John), 看板: Linux
標 題: Minix 網站
發信站: http://groups.google.com (Wed Apr 7 19:22:59 2004)
轉信站: ptt!ctu-reader!ctu-peer!news.nctu!news3.optonline.net!newshosting.com!
Hi, 無意冒犯廣大的Linux使用者
大家好, 有鑑於網路上似乎沒有多少關於Minix的繁體網站. 我自己又正在學Minix, 所以我想開一個站,
用於切磋和寫一些Minix技術文件. 讓不瞭解(或誤解)Minix的人或對Linux認為太難的人,
或甚至你想要徹徹底底改變一個OS(改變Process Scheduling...etc)的但不想改Linux人可以參考的網站.
開站內容則是以Minix本身為主, 而不是講如何用Minix做其它的事(架網站, 設network)
我想這也與各位使用Linux的原因不同.
----------
我其實想開中文Minix站, 因為好像沒多少繁體中文Minix站在web上.
台灣的學校好像又不怎麼教Minix(也挺好奇他們如何教作業系統的), 台灣好像大多用恐龍本(就是封面是幾隻恐龍的作業系統書),
但在我看過那本書後, 我認為它大多偏重於理論而忽略實作, 常導致學生可以背但不會寫/改作業系統.
與其說教學不如說是切磋. 我也是學生, 不過作業系統是我目前碰過最難的一科(及使你有時間也拿不到滿分的科目).
若我要寫Minix 技術文件網站, 我則大多以Kernel(核心), MM(記憶體管理,Memory Management), 和 FS
(檔案系統, File System)為主.
其中又著重於Process Scheduling (程式執行管理, 在 Multi-tasking的原則下的管理),
和其它的command細節.
台灣似乎有很多人以為Minix已死, 其實在國外它還在發展呢!!
現在已經有2.0.4版了(你可以在http://www.cs.vu.nl/pub/minix/找到minix來download(~7 MB
zip file,50 MB after unzip), 硬體需求就是需要有floppy drive(軟碟機)來開機進入Minix作業系統
學了Minix之後應該可以說服你自己天下的確有不當機的作業系統了. 而Windows的確sucks.
主要還是台灣對Minix熟悉的人不多, 誤解倒是不少.
有閒有興趣的可以考慮看看.:-)
因為Multi-tasking(多工), 所以OS就複雜起來, 否則一切將變得很簡單很簡單....
(當多個程式共用相同記憶區塊時, 就有機會發生嚴重問題...)
我舉個可以引起你興趣的例子:-)
想像現在有兩個program (p1,p2), 它們共同看一個區塊(int i=1)
p1做i++, 之後再做其它的事
p2做i--, 之後再做其它的事
因為Multi-tasking, 一個程式可以因為時間到了而被踢出CPU, 及使還沒跑完.
p1剛做完i++(i現在是2)後馬上被踢出而換p2執行, p2做完i--後p1才回來, 但是p1就不知道其實i已經被別人改過了,
已經不是2而是1. 但一個user's process(普通的電腦使用者寫的程式)是沒辦法自己知道這個資料是否被動過, 而這也牽扯到Java
Virtual Machine的Multi-threading, 因為大多的Multi-threading是share data的.
也就更要注意類似問題. 這問題又叫Race Condition. (不同種族在認知上的錯誤) 而偉大的電腦/數學 學家
Dijkstra他發明了Samephore來解決Race Condition,
JVM也以Samephore來寫出Monitor去專門用Compiler管理Multi-threading.....等等
(講3天3夜也講不完)
~John
如果你知道一些繁體的Minix站 (我知道一堆English的Minix站), 請你也告訴我一聲喔.(讓我觀摩一下:-))
註: 將以
Textbook: OSDI - Andrew Tannenbaum
OS: Minix - Andrew Tannebaum
為參考
--
我愛用UD
我希望Blizzard可以讓nec招換出來的骷髏兵強壯一點
最好身高一米九 一拳三百磅
不然骷髏兵實在太廢~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.107.53