怎樣自己寫一個簡單的作業系統
在自己造的過程中,彷彿體驗了事無鉅細一切都要自己實現的艱辛,和訪問底層硬體處理dirty work帶來的虛假的智力/經驗上升的快感和空洞的談資的積累。 這不一定帶來良好的效率。當然,如果你的時間不值錢,那就無所謂了,你就瞎掰吧。
作業系統的實踐中已經有相當多的best practice ,去向他們學習的時間尚且不夠,哪裡有功夫自己去作一個低價值的程式碼堆呢。
如果是有志於從事相關工作或者科學研究的計算機科學技術專業人員,謹建議從作業系統核心開始,研讀特定功能模組,比如程序排程,檔案系統,網路,記憶體管理等開始,研讀程式碼,學習理論,實踐替換部分程式碼,至於以後怎麼作,還是看你的時間在更高一個層次上的價值來決定你要作什麼吧。
自網友蘇寧---http://www.zhihu.com/question/20207347
相關推薦
怎樣自己寫一個簡單的作業系統
如非業務需要必要,不建議自己實現完整的計算機作業系統。重造車輪的累贅先不說。 在自己造的過程中,彷彿體驗了事無鉅細一切都要自己實現的艱辛,和訪問底層硬體處理dirty work帶來的虛假的智力/經驗上升的快感和空洞的談資的積累。 這不一定帶來良好
自己寫一個簡單的Spring IOC容器
為了能更好的理解SpirngIOC是如何工作的,在查閱網上的資料後,自己寫了一個非常簡單的SpringIOC容器,使用setter方法將值注入。 本例子需要用到jdom的包:http://pan.baidu.com/s/1hsmgsfi 以下是包結構 A和B介面的定義就不
自己寫一個簡單的ArrayList
自己通過寫一個簡單的SimpleArrayList來加深對JDK原始碼中的ArrayList的理解。 構造器 如果沒有對集合設定長度,這裡我們預設採取長度為10作為內建陣列的初始化長度。 public SimpleArrayList() {
ROS的初步學習(五)--自己寫一個簡單的釋出(Publisher)、訂閱(Subscriber)程式
1 寫一個釋出(Publisher)節點 節點(node)是連線到ROS網路中可執行的基本單元。我們在這建立一個釋出者—“talker”節點,這個節點持續對外發布訊息。 首先我們要把目錄切換到我們的beginner_tutorials工程包中 $ cd ~
自己寫一個簡單的Web伺服器(附Demo)
一、什麼是Web伺服器? 先來寫個例子親身體驗一下。下面的示例程式碼演示瞭如何通過 java.net.Socket 與 java.net.ServerSocket這兩個重要的類建立一個簡單基於 Java 的 Web 伺服器 。這個伺服器通過8784
使用 js,自己寫一個簡單的滾動條
back http 之前 fun 完全 light get ini 計算 當我們給元素加上 overflow: auto; 的時候,就會出現滾動條,然而瀏覽的不同,滾動條的樣式大不一樣,有些甚至非常醜。 於是就想著自己寫一個滾動條,大概需要弄清楚一下這幾個點: 1、滾
自己寫一個C#數據結構:用List<T>實現一個簡單的Stack
count 實現簡單 ole exceptio tac on() rem linq -- 在C#中利用List<T>實現一個簡單的Stack 需要實現的功能:壓棧、彈棧、查看棧頂元素、查看元素個數、查看Socket是否為空,判斷元素是否在Socket中、清空So
自己動手寫一個簡單的MVC框架(第一版)
一、MVC概念回顧 路由(Route)、控制器(Controller)、行為(Action)、模型(Model)、檢視(View) 用一句簡單地話來描述以上關鍵點: 路由(Route)就相當於一個公司的前臺小姐,她負責帶你(請求)找到跟你面試的面試官(控制器Controller),面試官
自己動手寫一個簡單的MVC框架(第二版)
一、ASP.NET MVC核心機制回顧 在ASP.NET MVC中,最核心的當屬“路由系統”,而路由系統的核心則源於一個強大的System.Web.Routing.dll元件。 在這個System.Web.Routing.dll中,有一個最重要的類叫做UrlRoutingModule,它是一個
自己手動寫一個簡單的bs結構
拋去web框架,自己手寫一個BS請求響應過程: 自己建立一個資料夾test,包含一個hello.html 和一個webserver.py 自己在html檔案裡面寫一些標籤 下面是webserver.py的主要內容: import os from
自己製作一個簡單的作業系統二[CherryOS]
自己製作一個簡單的作業系統二[CherryOS] 我的上一篇部落格 自己製作一個簡單的作業系統一[環境搭建], 詳細介紹了製作所需的前期準備工作 一. 一點說明 這個作業系統只是第一步, 僅僅是開機顯示一個hello cherryos, 不夠萬物開頭都是 hello xxxx 不是
linux設備驅動第三篇:寫一個簡單的字符設備驅動
提示 copy flags 驅動程序 相關 clas open ugo param 在linux設備驅動第一篇:設備驅動程序簡介中簡單介紹了字符驅動,本篇簡單介紹如何寫一個簡單的字符設備驅動。本篇借鑒LDD中的源碼,實現一個與硬件設備無關的字符設備驅動,僅僅操
自己寫一個文字過長顯示省略號的函數
bsp aaa poi var cti 顯示 adf 函數 字符 function points(strin,num){ //strin表示目標字符,num表示在第幾個字符用省略號顯示 var Str = "",len = strin.length; if(len
采用jsp頁面與java代碼分離的方式寫一個簡單的二維表
color arraylist 一個 3-9 業務 動態顯示 復雜 分層架構 方式 前提:在我們做程序時追求的是高內聚,低耦合,但是如果我們把jsp頁面的的代碼和java的代碼都放在了jsp的代碼編寫中,使java和jsp高耦合這樣的話不僅使jsp代碼頁面顯得很復雜,而
寫一個簡單的導航
utf-8 mar title shee 小圖標 list .cn display left 制作一個如下圖的導航按鈕。當鼠標移入導航欄的首頁,商店等字體時,前面的小圖標和字顏色一起變紅!代碼如下: <meta charset="UTF-8"> <
oracle 10G 沒有 PIVOT 函數怎麽辦,自己寫一個不久有了
name 行轉列 動態sql self. subst ger esc 10g 必須 眾所周知,靜態SQL的輸出結構必須也是靜態的。對於經典的行轉列問題,如果行數不定導致輸出的列數不定,標準的答案就是使用動態SQL, 到11G裏面則有XML結果的PIVOT。 但是 orac
python寫一個簡單的接口
結果 服務 web框架 簡單的 bsp 16px 這樣的 flask span 寫一個接口: 1、用到的模塊是flask,flask是一個python的一個web框架,可以用來開發接口和web頁面 2、 啟動服務的效果是這樣的: 用postman測試的結
寫一個簡單的JQ插件(例子)
ont ava 兼容 app js代碼 lsp 是把 生成 order 雖然現在 vue angular react 當道啊但是那 JQ還是有一席之地很多很多的小單位啊.其實還會用到我也放一個例子吧雖然我也不是很肯定有沒有人寫的比我更好啊但是我相信 我這個還是蠻實用的 話不
用集合寫一個簡單的隨機分組,以及集合內元素數量查詢
移除 以及 表示 元素 move spa color 查詢 println 12個人,隨機分為4組 public static void main(String[] args) { List list = new ArrayList();
寫一個簡單的struts2
return 簡單的 index taglib struts2 text apach prepare mil 導包:struts2-core-2.5.1 寫action類, package web; public class HelloWorldAction {