自己編寫作業系統1 概述

2021-10-02 08:22:44 字數 802 閱讀 3264

打算做這件事很久了,一直拖到今天才開工,事情真的多,又到了過年期間,不得不做一些生活瑣事,唉,比較難集中精力了,只有深夜才有思路迸發,今天中午整理一下。

所謂的編寫作業系統,就是想辦法製作一張「含有作業系統的,能夠自動啟動的磁碟」。

1.在windows(或其他)作業系統上編寫源**

2.用c語言編譯器編譯源**,生成機器語言檔案

3.對機器語言檔案進行加工,生成軟盤映像檔案

4.將映像檔案寫入磁碟,作成含作業系統的啟動盤

以前的軟盤 的 總 容量 是 1440kb, 所以 作為 備份 資料 的 映像 檔案 也 恰好 是 1440kb。

實現上自底向上,底層採用nasm彙編+c實現,初期在vm上除錯,後期以虛擬軟盤映象的形式部署到機器上

我們現在在使用16進製制手動編寫乙個軟盤格式的檔案。乙個軟盤的大小就是1474560位元組,這也是為什麼我們作業系統的大小要是1474560位元組。bios讀軟盤第乙個扇區時,磁碟內不同地方的內容有不同的含義,詳細含義見彙編**注釋,在這裡引用github上面的彙編注釋,

點我檢視

其大概意思為,軟盤的格式為fat12如果將計算機的開機設定為從軟盤啟動,計算機開機會驅動軟盤的磁頭0讀其0柱面1扇區的內容到記憶體0x7c00(人為設定)~ 0x7dff處,並檢查扇區最後兩2位元組內容,如果為55aah,則從0x7c00開始執行這段程式。

如果將乙個好的軟盤的磁頭0對應的0柱面1扇區內含有一段(讓視訊記憶體)顯示「hello world」的機器指令,且將扇區最後2個位元組的內容為55aah。設定計算機開機時從軟盤啟動後就能夠顯示「hello world」。

這就是這一段**的基本原理.。

作業系統概述(1)

1 作業系統的概念 作業系統 operating system,簡稱os 是管理和控制計算機硬體與軟體資源的電腦程式,是直接執行在 裸機 上的最基本的系統軟體,任何其他軟體都必須在作業系統的支援下才能執行。作業系統是使用者和計算機的介面,同時也是計算機硬體和其他軟體的介面。作業系統的功能包括管理計算...

作業系統(1) 概述

碼文不易,希望支援,謝謝 支援原創 作業系統作業系統 英語 operating system,縮寫 os 是管理計算機硬體與軟體資源的電腦程式,同時也是計算機系統的核心與基石。作業系統 維基百科 簡單來說,為使用者使用計算機提供介面,有效的組織管理硬體軟體資源。基本觀點 碼文不易,希望支援,謝謝 支...

作業系統概述 1

1.單處理機系統中,可並行的是 程序與程序 處理機與裝置 處理機與通道 裝置與裝置 解析 此處要理解並行的概念 並行性 是指兩個或兩個以上的事件在同一時刻執行。併發性 是指兩個或兩個以上的事件在同一時間間隔執行。對於單處理機,2個程序之間只能併發,而不能並行。2.下列選項中,作業系統提供給應用程式的...