廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 12296 個閱讀者
 
<<   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.019473 second(s),query:5 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言