原创 002-發生在操作系統之前的事情

       操作系統這個概念應當來說,在計算機的層析結構中處於正中間的位置。計算機本身是由一系列電子元件和芯片組成,這些根據相應規則組成的電子電路就形成了計算機硬件。對於邏輯電路的設計來說,其實我們任何的需求都是可以直接用硬件來實現的,

原创 macOS開發中NSWindow, NSWindowController, NSView, NSViewController的關係

    macOS使用的Cocoa框架,的確沒有iOS使用的Cocoa Touch那麼智能好用。有些地方邏輯很奇怪,還有一些看似很正常的功能它卻沒有提供,還需要自定義。這裏就有一個很頭疼的問題,關於這四個類的問題,他們之間到底是什麼關係,

原创 macOS開發中網絡連接或數據庫連接收到錯誤“Operation not permitted”的解決方法

    在給出解決方案之前,我一定要好好吐槽吐槽,網上對於原生態的macOS開發的資料實在實在是太少了,關於這方面的問題在網上怎麼搜都搜不出來,唯一的參考資料就是蘋果開發者官網,但是對於我們大多數英語不是很好的開發者來說,閱讀起來難度太大

原创 1.4 複合數據類型和枚舉類型

逗比:嗚啦啦啦啦啦~嗚啦啦啦拉拉~各位小夥伴們大家好呀,歡迎來到暴走大…… 棒槌:CUT! 逗比:哈?怎麼了?第五季的出場不夠帥? 棒槌:我說你拿錯劇本了吧…… 逗比:哦?是嗎?啊呀!!!還真是咧,這是聖誕老王的劇本…… 棒槌:我說你是來

原创 008-C語言開發的開始

       上次介紹瞭如何進入保護模式以及完成程序的跳轉,那麼這一次我們就將轉向高級語言編寫主要的程序代碼。但是在這之前我們必須考慮一個問題,那就是在彙編語言中,你可以自由指定你寫的程序的加載和讀取位置(至少也是可以指定相對位置),但是

原创 009-彩色的顯示器

       上次講到了引用C語言開發的原因以及如何使用C語言與之前的彙編頭結合,這次,正式開始C語言的開發。        由於我們已經指定了C語言編寫的入口函數爲OSMain(),那麼,就從這個函數開始寫吧。既然要寫一個函數,我們首先

原创 004-寫一個真正的啓動盤

       上次說到了使用軟盤啓動計算機的注意事項,那麼,我們就來實際的操作一下,寫一個真正可以用於啓動計算機的啓動盤。        首先,我們打開BZ,創建一個文件,然後按照以下方式來書寫: 後面就全是0了,因爲還沒寫東西,注意要

原创 1.3逗比又回來了!

棒槌:逗比啊,我說你這一年到底上哪去了,我還以爲你變成代碼被crush了! 逗比:這個真的實在實在實在是很抱歉啊,去年突然接了一個活,然後就去忙活,後來跑去進修,再後來就過年了,這不一直到這會。 棒槌:你倒是到處逍遙去了,你讓你這些學生怎

原创 005-完成ipl

       上次完成了啓動盤,我們已經成功把啓動區加載到了內存中,當然了,這512字節的空間肯定是不可能夠我們寫一個完整的操作系統的,所以,我們操作系統的其他部分肯定得在別的地方寫,那麼,ipl的任務就應該是把軟盤這1440KB的內容全

原创 006-繼續編寫操作系統

       上次我們完成了ipl的階段性目標,現在主要開始着手寫操作系統內核。由於在實模式下能夠使用的內存實在太少,而且對硬件也而是一種浪費,因此,我們要寫一個32位內核的操作系統,所以,就要先進入保護模式。但是,由於在保護模式下不能調

原创 003-軟盤啓動原理

       軟盤,這東西雖然現在很罕見了,但是在20年前,軟盤是主要的外部存儲器,再早一點的時候還沒有硬盤,所有的數據都是存放在軟盤上的,當然也包括操作系統。我們之所以仍然選擇軟盤作爲我們操作系統的啓動介質,是因爲軟盤有着其特點和明顯的

原创 001-自編寫操作系統系列文章說明

       本系列文章是本人自己學習操作系統底層實現的筆記、成果和心得的記錄。        學習該部分初始階段的主要參考資料是由日本程序員川合秀実(かわいひでみ)著作的《30日でてきる!OS自作入門》,用到了書的附件中很多軟件和工具,

原创 對電子遊戲的平衡性和可玩性的直觀感受和對遊戲生涯的憧憬

       說到電子遊戲(指的是電腦遊戲和手機遊戲),我相信大家都能有所分享。雖然說對於我本人而言,其實遊戲玩得真心不多。但是,至少在這十幾年來,還是有一些值得訴說和分享的東西。        在我兩歲的時候(1998年……好吧,暴露年

原创 Swift中的可選類型(Optional)以及?和!的用法詳解

大家好呀!逗比老師又來啦!今天要給大家分享的是Swift語言中的Optional類型,哈哈,我相信很多初學Swift的同學一定會和我一樣,在這個地方各種懵圈,看到那個神馬問號啦,感嘆號啦,會感覺一個頭四個大,尤其是從其他語言過渡過來的同學

原创 在macOS開發中使用Touch Bar

    蘋果在2016年秋天發佈了新款MacBook Pro,其中有一個新的功能就是用Touch Bar來代替了傳統的功能鍵(F1-F12),它功能強大,開發者可以將其設計成各種樣式,並允許用戶自定義,爲用戶和筆記本電腦之間的交互添加了新