原创 Linux操作系統, 構建自己的內核——3. 由實模式進入保護模式之32位尋址

這個課程講的是怎麼由實模式進入保護模式,正如文章所說,學完之後完全是雲裏霧裏。 簡單記錄一下自己所學,希望繼續學習下去能夠柳暗花明吧。 課程鏈接: 網易課程:java開發操作系統內核:由實模式進入保護模式之32位尋址 CSDN博客

原创 Linux操作系統, 構建自己的內核——2. 啓動扇區引導其他扇區的內核

學習課程: java開發操作系統內核:讓內核突破512字節的限制 上一篇文章的例子,是直接在啓動扇區的代碼中打印內容到屏幕。一個扇區對應於512個字節,能夠存儲的內容太有限,必須學會在啓動扇區的代碼中加載其他扇區的代碼。 1.

原创 Linux操作系統, 構建自己的內核——1. 製作可以在屏幕上打印hello world的img文件

學習課程: 操作系統-java 1. 先寫彙編: boot.asm org 0x7c00; entry: mov ax, 0 mov ss, ax mov ds, ax mov es,

原创 內存分段分頁機制理解

現代操作系統,計算機內存是按照先分段再分頁的方式管理的。 注意: 以下描述都是基於32位計算機進行描述的。 1. 分段 1) 程序直接使用物理地址的問題 考慮最原始,最直接的情況,程序中訪問的地址都直接對應於物理地址。 這種方式有

原创 Operating System Concepts ——chapter 6——CPU Scheduling

調度算法目標: 通過多道程序設計來獲得儘可能大的CPU利用率。 基本算法: FCFS first come, first server 看起來很公平,但是並不一定合理。 容易導致短作業進程等待時間過長。 SJF shortest

原创 Operating System Concepts ——chapter 5——Process Synchronization

臨界區問題 硬件同步 硬件指令,一個指令執行過程中,不會被中斷(原子操作) TestAndSet boolean TestAndSet (boolean *target) { boolean rv = *target; *ta

原创 java基礎學習筆記——數據默認值

趁考試的契機,學習一下java基礎,僅記錄自己不太熟悉的知識點。 2019/07/13 數字類型的成員,默認值是0,布爾型爲false,對象引用缺省值爲null。 各種類型的默認值: public class Test { bo

原创 選擇排序——簡單選擇排序

思路 思路非常簡單。就是第一輪循環選出最大的元素,第二輪循環選出第二大的元素。。。。 代碼 package dataStructureAndAlgorithms; public class SelectSort_heapSort

原创 選擇類排序——堆排序

思路 參考: https://download.csdn.net/download/qq_31567335/10356263 什麼是堆? 堆是一顆完全二叉樹:葉節點只能出現在最下層和次下層,並且最下面一層的結點都集中在該層最左邊的

原创 插入排序——直接插入排序

思路: 對位置i上的元素排序(設爲升序)時(設爲Ai),假設從0~(i-1)位置上的元素都已經全部排好序。 所以,只需要爲Ai在已經排好序的元素中找到合適的位置,並將其插入即可。最樸素的插入算法是直接插入,即從i-1開始,如果Ai

原创 插入排序——折半插入排序

折半插入排序是基於直接插入排序的優化。 直接插入排序 將第i個元素插入時,通過折半查找的方式,來查找第i個元素合適的位置。 推導過程 當0~(i-1)位置上的元素都已經排序OK,現需要插入第i個元素,設其值爲temp; 令low=

原创 交換類排序——冒泡排序

代碼 package dataStructureAndAlgorithms; public class SwapSort_bubbleSort { // 增序冒泡排序 public static void sort(int[

原创 linux 路由學習筆記

查看路由表緩存: ip route show cache route -Cen 重建路由緩存次數限制 /proc/sys/net/ipv4/rt_cache_rebuild_count 路由緩存大小限制 清空路由緩存 ip rou

原创 IPVS Connection Synchronization

LVS保存了大量的連接信息,如果發生主備倒換,這些連接信息將會丟失,導致對應的連接失效。 一般來說這並不是多大的問題,因爲連接失效之後,客戶端重新建立連接即可。 但是LVS也提供了一種在主備之間同步連接信息的方法,介紹請參考: I

原创 IPVS相關數據結構

安利一個網站,快速的查內核源碼中某個結構在哪定義,在哪被引用: https://elixir.bootlin.com/linux/v4.9.1/source/include/net/ip_vs.h#L1212 感覺比source