原创 New ComputerNetworking Source

文章目錄網絡層運輸層應用層補充 網絡層 IP添加鏈接描述 ICMP 添加鏈接描述 運輸層 UDP 添加鏈接描述 UDP實現可靠 添加鏈接描述 TCP 添加鏈接描述 三握四揮 添加鏈接描述 NAT 添加鏈接描述 應

原创 操作系統內存管理_虛擬內存

文章目錄虛擬內存的基本思想進程運行內存模型分頁段頁式存儲分頁和分段的區別 虛擬內存的基本思想 按照固定大小將進程的地址空間分爲多個頁面,每一個頁面內部都有連續的地址.這些頁被映射到物理內存,但是並不是所有的頁都在內存中時程序才能運

原创 《深入理解計算機系統 》第一章-計算機系統漫遊 學習筆記①

文本文件:只由ASCII字符組成的文件 二進制文件:除文本文件外的所有文件 所有信息都是一串比特,區分比特當前含義的唯一方法就是上下文   GCC翻譯.c文件過程 1.預處理階段:處理#開頭的命令,導入命令內容修改.c爲.i 2.編譯階

原创 STL源碼剖析:迭代器

目錄迭代器是什麼迭代器的設計如何獲得迭代器指向的數據類型迭代器的五種類型迭代器內部常用的五種型別std::iterator流程總結SGI對traits進行擴展 迭代器是什麼 迭代器是一種模式,實現了通過一個統一接口訪問STL容器的

原创 MIT6.828 BootLoader代碼分析

#include <inc/mmu.h> ;bootloader完成了16位模式的初始化,包括gdt,ds,es,ss等 , 然後進入保護模式並初始化, 然後call main.c # Start the CPU: switch to

原创 操作系統資料集錦

文章目錄內存管理進程與線程調度IO 內存管理 虛擬內存 進程與線程調度 線程與進程的區別 線程與進程的狀態轉換 殭屍進程,守護進程,孤兒進程 進程通信 IO Linux五大IO模型 多路IO複用-select,poll,

原创 多路IO複用-Select,poll,epoll

文章目錄1.Select2. poll3.epoll比較 1.Select 2. poll 3.epoll 比較

原创 MIT6.828_2019_Lab翻譯_utilities

實驗:Xv6和Unix程序 歡迎大家一起維護中文Lab文檔!共同進步! Github 這個實驗將會讓你熟悉Xv6和它的系統調用 引導Xv6 你必須使用一個X86 Athena machine;也就是說 uname -a 之後應該顯

原创 c++面試新資料

文章目錄1.什麼是虛函數?什麼是純虛函數?2.基類爲什麼需要虛析構函數?3.當i是一個整數的時候i++和++i那個更快?它們的區別是什麼?4.vector的reserve和capacity的區別?5.如何初始化const和stat

原创 Redis的設計與實現-讀書筆記(一)

文章目錄SDSSDS的定義SDS與C風格字符串的區別鏈表Redis中鏈表的結構字典字典的實現解決鍵衝突處理負載因子跳錶 SDS SDS的定義 在Redis中使用SDS(簡單動態字符串)來代替c風格字符串 struct SDS{

原创 Redis的設計與實現-讀書筆記(二)

文章目錄整數集合整數集合的實現整數集合的升級壓縮列表壓縮列表的構成連鎖更新 整數集合 當集合元素全是整數並且數量不多時,redis就會選擇整數集合作爲底層實現 整數集合的實現 typedef struct intset{ uin

原创 atoi的C++實現

//支持32位下利用除法的溢出判定 class Solution { public: string trim(string s) { if (s.empty()) {

原创 線程與進程的狀態轉換

線程的狀態變換 進程的狀態變化

原创 c++資料

extern關鍵字作用 static關鍵字作用 Volatile是什麼 說說const的作用,越多越好 new與malloc區別 C++多態性與虛函數表 C++多態的實現? (純)虛函數的作用? 虛函數用於實現多態,這點大家都能答上來但是

原创 Redis (三:持久化)

目錄RDB方式快照原理AOF方式同步硬盤數據總結 RDB方式 rdb通過snapshot實現 根據配置規則 save M N 即M秒內更改了至少N個鍵,就持久化 用戶執行save或bgsave,save會阻塞client請求,b