廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 10147 個閱讀者
 
<<   1   2  下頁 >>(共 2 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
gtrowa2003
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x133
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
要如何寫作業系統?
作業 ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:馬來西亞 | Posted:2006-05-07 22:24 |
korlxp 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x30
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

基本上大部分程式碼是用C寫的! 有興趣的話建議您去翻翻”作業系統概論”之類的書! 會更了解它的功能以及運作方式!


獻花 x0 回到頂端 [1 樓] From:台灣數位聯合 | Posted:2006-05-07 22:56 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

在你決定要寫出一個OS程式時,你決定好了你的平台了嗎?
寫 PDA/Palm 有 PDA/Palm 的硬體要求,寫 X86 有 X86 的硬體要求,皆不相同呢。

作業系統簡單的話,需要有資料庫的概念,把電腦裡的資料好好的管理。在複雜一點,就要對硬體很了解了,像是網路卡,鍵盤,螢幕等等的驅動程式,照理說作業程式都要有個簡單功能的驅動,進階功能則是由硬體產商來提供。所以,使用者程式可能得用C語言來寫,至於驅動程式,可能要用到 Assembly。

總之,一個人做,可能太過於困難。你聽過 Linux 嗎? 那 OS 不知有多少人一起幫忙開發的,才有現今的規模。


獻花 x0 回到頂端 [2 樓] From:台灣宏遠電訊 | Posted:2006-05-08 08:20 |
伴月‧孤影 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x5
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

如果說核心的話,Linux是C、Windows記得好像是basic,不知有沒有錯。


獻花 x0 回到頂端 [3 樓] From:台灣和信超媒體 | Posted:2006-05-08 08:45 |
korlxp 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x30
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用伴月‧孤影於2006-05-8 08:45發表的 :
如果說核心的話,Linux是C、Windows記得好像是basic,不知有沒有錯。

說細一點的話...Linux 95%以上是c寫的!小部分是用組合語言寫的! windows 核心基本上也是c寫的(我實在不敢想像核心用basic寫 會有怎樣的"笑"能) 至於樓上大大提到的驅動部份...就我所知,目前也幾乎是c寫出來的!   作業系統主要的訴求是使用者及硬體間幫助溝通的角色! 用資料庫來形容作業系統的概念..小弟覺得不太適合,有錯請指教!


獻花 x1 回到頂端 [4 樓] From:台灣數位聯合 | Posted:2006-05-08 18:24 |
aa1145 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
創作大師獎
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x2 鮮花 x96
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

原來是用c寫的喔 這個問題我也想過
現在終於知道了 不知道源碼有多麼的狀觀 表情


獻花 x0 回到頂端 [5 樓] From:台灣教育部 | Posted:2006-05-08 20:16 |
korlxp 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x30
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用aa1145於2006-05-8 20:16發表的 :
原來是用c寫的喔 這個問題我也想過
現在終於知道了 不知道源碼有多麼的狀觀 表情

有興趣的話~去找linux的網站吧! 大部份都能下載到原始碼! 百萬行的程式碼! 真的是粉壯觀沒錯! ^^


獻花 x0 回到頂端 [6 樓] From:台灣數位聯合 | Posted:2006-05-08 22:00 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

硬碟在 seeking 時, 該怎存資料, 這些低階的硬體動作, 哪邊離空位最近的取捨, 有點類似電梯演算法, 那不就是需要資料庫的理論基礎了? 記憶體的 Page table 是不是也是跟資料庫的概念有點類似? 剛那是硬體上的管理, 至於資料上的管理, 我想, 若沒有資料庫的基礎, 你的OS沒有良好的檔案管理機制, 我想, 也是很令User困擾的。

大至上, 通常跟內存資料有關的軟體, 哪個不需要資料庫的概念呢?
作業系統有資料庫的概念, 設計出來的就像 Windows/FreeBSD/OS X 一樣, 有良好的檔案管理員供User用。再舉個例子, 一般 Game 的紀錄檔, 也是用資料庫的概念來管理, 好讓你能輕鬆存取記錄。大部份的軟體, 只要跟紀錄資料有關, 通常是需要一點資料庫的概念, 不過也並非絕對啦, 像 BIOS, 就是一個好的例子, 它沒有資料庫的概念, 因為不需要, 它只要控制硬體就好了, 資料管理並不是它的主要目的。

至於你說"作業系統主要的訴求是使用者及硬體間幫助溝通的角色", 這是沒錯, 主要的目的就是要幫助User不用了解硬體實際是如何動作的而也能達到管理硬體的目標。若你是以目前的作業作統的標準來看, 只是管理硬體, 而沒有管理資料的OS, 不太算及格 ...

當然啦, 這是我個人的看法, 因為我以前還是學生時, 我有一個同學實作了一台小小的電腦(計算機結構課), 用 CPLD 簡單的完成小部份, 另一位用 Assembly 去幫那小電腦作 SIC 的實現(系統程式課), 到這時, 簡單的 BIOS 也算小完成了。而我則是將兩個同學的作品結合起來並加強到有OS地步, 多了滑鼠, 鍵盤, 還有螢幕輸出, 簡單的輸入資料跟儲存資料。我們三人最後都認為, 學過資料庫, 的確可以解決一些困擾, 當然, 也可能還是有別的方法可以實現的, 所以, 你們也可以不用太在意我的發言。

給大家作個參考而己, 不是強迫大家接納我的思想, 請多多包涵, 畢竟, 我也不是專家。

~.~


[ 此文章被ety在2006-05-09 11:11重新編輯 ]

此文章被評分,最近評分記錄
財富:30 (by codeboy) | 理由: 說的不錯喔~^^


獻花 x1 回到頂端 [7 樓] From:台灣和信超媒體 | Posted:2006-05-09 00:10 |
ichunlai
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x2
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用ety於2006-05-9 00:10發表的 :
硬碟在 seeking 時, 該怎存資料, 這些低階的硬體動作, 哪邊離空位最近的取捨, 有點類似電梯演算法, 那不就是需要資料庫的理論基礎了? 記憶體的 Page table 是不是也是跟資料庫的概念有點類似? 剛那是硬體上的管理, 至於資料上的管理, 我想, 若沒有資料庫的基礎, 你的OS沒有良好的檔案管理機制, 我想, 也是很令User困擾的。

大至上, 通常跟內存資料有關的軟體, 哪個不需要資料庫的概念呢?
作業系統有資料庫的概念, 設計出來的就像 Windows/FreeBSD/OS X 一樣, 有良好的檔案管理員供User用。再舉個例子, 一般 Game 的紀錄檔, 也是用資料庫的概念來管理, 好讓你能輕鬆存取記錄。大部份的軟體, 只要跟紀錄資料有關, 通常是需要一點資料庫的概念, 不過也並非絕對啦, 像 BIOS, 就是一個好的例子, 它沒有資料庫的概念, 因為不需要, 它只要控制硬體就好了, 資料管理並不是它的主要目的。

.......
處理以及管理資料,不一定得用到資料庫的概念...
不是所有和管理資料有關的都得牽扯到資料庫...
簡單的資料結構就可以處理相當多的問題了...
要寫一套作業系統,建議可以先去找uCOS的書...
uCOS是一個RTOS...至少程式碼比較少比較容易trace...
或是去看Operating system:design and implementation有介紹linux前身minix的寫法
博碩也有一本書是寫linux核心研究...

此文章被評分,最近評分記錄
財富:30 (by codeboy) | 理由: 您說的也很有道理..^^


獻花 x0 回到頂端 [8 樓] From:台灣中華電信 | Posted:2006-05-09 00:28 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

是的, 資料結構是必須的。
對資料結構有基本的認識才能進一步去設計演算法。
資料庫的的技巧就是演算法, 裡面用到的 Sort 啦, Search 啦, 都必需要有資料結構的認識。如果不知道資料的結構, 那要設計管理用的演算法, 談何容易!? 都不知道是要 Sort 什麼資料跟 Search 什麼資料呢! ~"~ 另外, 我之前所說的記憶體的 Page table 不就是資料結構裡的一種?

至於你所說的, "簡單的資料結構就可以處理相當多的問題了", 這應該算是在管理資料方面。
整體而言, 我還是認為, 硬體上的了解比軟體上的了解來得重要。就像我之前問的, "在你決定要寫出一個OS程式時,你決定好了你的平台了嗎?", 不了解平台, 資料結構的實現也很難。

老實說, 真的要這樣比下去的話, 那... 我會說, 連計算機概論都很重要... 資訊科系的每一科都很重要... 都有可能在設計 OS 時應用得到 ~.~ 如果還不夠, 那就再比下去, 數學最重要, 不用學資料結構, 因為全都是零跟一, 然後再來就有人說, 那些都不重要, 英文最重要, 因為程式是用英文寫的 ~ my god ~ 沒完沒了了 ~ 總之, 請不要針對我, 畢竟我真的不是專家, 而且每個人的邏輯也不太一樣, 就提出"您"自個兒的看法就好了, 不需要提到我啦。 >"<

不過呢, 這都不是樓主問的, 都是突然大家開始對我說的看法不認同所衍生下來的討論, 我有說啦 ~ 我沒強迫大家認同我的看法, 畢竟我不是專家 ~.~ 樓主真正想問的是, OS 是用哪種程式語言實作出來的, 那, 就那些答案囉, 有 C, 有 Assembly, 也有人提到 Basic ... 這我不確定... = =" 總之, 答案有了, 此一話題就此打住了吧, 再討論下去, 就變很複雜了。

想看看別人是如何設計OS的, 那麼, 只要對 C 語言的程式碼以及電腦的硬體架構有了基礎, ichunlai 的建議是真的很好的, 他所說的書雖然我沒看過, 但我可以確定, 先看看別人是如何設計核心的, 真的是一個很好的建議。   不過我敢跟你保證, 那也不是一般人看得下去的, 大學生都不見得有那能耐, 難度也不是說很低, 如果有不懂的, 可以找 ichunlai 討論, 他應該算是高手。 千萬別來問我, 我只是曾經有做過主機板的 BIOS 相關設計的助理, 從我的工作環境中發表我的所知, 我沒有看過 Linux 的原始碼, 所以別問我那類的問題。 ^^"

至於想自己開發一個OS的, 那麼, 我想, 你可以挑一部份你的專長來作, 其它部份找些同好來完成。說實在的, 那不是一件小 project, 一個人完成, 是很累的。而人多, idea 也多, 或許也比你一個人設計的來得好也說不定。

共勉之 ~ ^^


[ 此文章被ety在2006-05-09 11:06重新編輯 ]


獻花 x0 回到頂端 [9 樓] From:台灣和信超媒體 | Posted:2006-05-09 09:33 |

<<   1   2  下頁 >>(共 2 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.020809 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言