日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

我是如何学习写一个操作系统(完结):总结和系列索引

發布時間:2023/12/20 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我是如何学习写一个操作系统(完结):总结和系列索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

從一開始的引導程序到現在的文件系統已經有十篇了,算是自己對操作系統的學習的一個筆記,原本是想結合自己之前寫的玩具操作系統FragileOS,但是之后就轉到了結合Linux 0.11的代碼去寫這個筆記。

因為現在是馬上開學了,后勁不足,也有點焦慮,所以這個系列寫得非常亂。沒有之前那個從零寫編譯器的系列學習筆記寫得順暢,收獲也沒有那么多。所以之后開學后可能會打算再讀一下Linux 0.11的源碼。

索引

我是如何學習寫一個操作系統(一):開篇

我是如何學習寫一個操作系統(二):操作系統的啟動之Bootloader

我是如何學習寫一個操作系統(三):操作系統的啟動之保護模式

我是如何學習寫一個操作系統(四):操作系統之系統調用

我是如何學習寫一個操作系統(五):故事的高潮之進程和線程1

我是如何學習寫一個操作系統(六):進程的調度

我是如何學習寫一個操作系統(七):進程的同步與信號量

我是如何學習寫一個操作系統(八):內存管理和段頁機制

我是如何學習寫一個操作系統(九):文件系統

總結

一個完整的操作系統至少包含這幾個部分:進程管理、內存管理和文件系統,如果嚴格來說的話可以從引導程序開始說

引導程序

對于X86架構的計算機,開機時一共做這幾件事

  • 開機時的CS = 0xFFFF, IP = 0x0000

這時候的CPU處理實模式,也就是尋址的方式是CS:IP (實模式和保護模式屬于CPU的工作模式,其中比較大的區別就是尋址的方式)

  • 尋址0xFFFF0

  • 檢查硬件設備,像鍵盤顯示器之類的

  • 將磁盤0磁道0扇區讀入0x7c00處

會從這里讀入512字節,也就是傳說中的引導程序,這里放著計算機執行的第一段代碼

  • 設置cs = 0x7c00 ip = 0x0000

這里也就是會把真正的操作系統引導到指定位置開始執行

進程

單核CPU在同一時刻只能運行一條指令,所謂的多進程只是指令來回切換的假象,但是因為速度太快,就可以看成是同時進行的。所以在進程切換的時就需要去組織進程的切換

而有關進程最重要的兩個問題就是:

  • 進程的調度

  • 進程的同步

內存管理

多進程和內存管理是緊密相連的兩個模塊,因為運行進程也就是從內存中取指執行,創建進程首先要將程序和數據裝入內存。將用戶原程序變成可在內存中執行的程序,而這就涉及到了內存管理。

這里也就是為了更好的管理內存而引出了段機制和頁機制

文件系統

計算機以進程為基本單位進行資源的調度和分配;而與用戶的交互,基本單位則是文件。在文件這一部分更多是和磁盤打交道。

操作系統很多時候就是圍繞著方便用戶和提高效率這兩方面,所以才會把磁盤抽象成文件,又才會有后來的文件目錄

結束

其實這一部分的總結在之前都有提到,在這里做一個小整理而已。

轉載于:https://www.cnblogs.com/secoding/p/11444680.html

總結

以上是生活随笔為你收集整理的我是如何学习写一个操作系统(完结):总结和系列索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。