計(jì)算機(jī)科班學(xué)習(xí) OS 的正確姿勢!
閱讀本文大概需要 11 分鐘。

Booting a PC Memory Management Multitasking File system, Spawn and Shell Network Driver
xv6
https://pdos.csail.mit.edu/6.828/2020/index.html
System Call、Page tables Traps Lazy allocation、Copy On-Write Multithreading、Lock File System、mmpa network driver
https://www.bilibili.com/video/BV1px411E7STucore
https://www.xuetangx.com/course/THU08091000267/5883104書名(英文):Operating Systems : Design and Implementation (3rd Edition) 書名(中文):操作系統(tǒng):設(shè)計(jì)及實(shí)現(xiàn) (第三版) 原作者:Andrew S. Tanenbaum / Albert S. Woodhull 翻譯者:王鵬、尤晉元、朱鵬、敖青云
Operating System (操作系統(tǒng)) 書名(英文):Operating System Concepts (7th Edition) 書名(中文):操作系統(tǒng)概念 (第七版) 原作者:Abraham Silberschatz / Peter Baer Galvin / Greg Gagne
Three Easy Piece是為了致敬費(fèi)曼的關(guān)于物理學(xué)的書籍:《Six Easy Pieces: Essentials Of Physics Explained By Its Most Brilliant Teacher》。虛擬化(Virtualization) 并發(fā)(Concurrency) 持久化(Persistence)
OS 四大模塊的理論知識(shí): 進(jìn)程與線程管理、內(nèi)存管理、IO與文件系統(tǒng)、設(shè)備管理 了解 Linux 內(nèi)核部分實(shí)現(xiàn)原理,如內(nèi)存管理、進(jìn)程管理、虛擬文件系統(tǒng)等 了解和熟悉常用的系統(tǒng)調(diào)用已經(jīng) System API
《現(xiàn)代操作系統(tǒng)》 《操作系統(tǒng)—精髓與設(shè)計(jì)原理》
操作系統(tǒng)包含的知識(shí)
操作系統(tǒng)由哪些構(gòu)成 進(jìn)程的狀態(tài)、切換、調(diào)度 進(jìn)程間通信方式(共享內(nèi)存、管道、消息) 進(jìn)程和線程的區(qū)別 線程的實(shí)現(xiàn)方式(一對一、多對一等) 互斥與同步(信號(hào)量、管程、鎖) 死鎖檢測與避免 并發(fā)經(jīng)典的問題:讀者寫者、哲學(xué)家就餐問題 為什么需要虛擬內(nèi)存,MMU 具體如何做地址轉(zhuǎn)換的 內(nèi)存為什么分段、分頁 頁面置換算法 文件系統(tǒng)是如何組織的 虛擬文件系統(tǒng)(VFS)是如何抽象的 ...
task_struct來表示一個(gè)執(zhí)行任務(wù)的實(shí)體。進(jìn)程創(chuàng)建調(diào)用fork 系統(tǒng)調(diào)用,而線程創(chuàng)建則是 pthread_create 方法,但是這兩個(gè)方法最終都會(huì)調(diào)用到 do_fork 來做具體的創(chuàng)建操作 ,區(qū)別就在于傳入的參數(shù)不同。《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》
這本書恰到好處,即講清楚了內(nèi)核實(shí)現(xiàn)的要點(diǎn),又不會(huì)通篇源碼。
自制OS
筑基內(nèi)功-- 需要學(xué)習(xí)計(jì)算機(jī)原理、C語言(需要熟練運(yùn)用)、數(shù)據(jù)結(jié)構(gòu)課程 工欲善其事,必先利其器,掌握以下Linux 下常用命令行:
pwd、cd、find等,1-2 款趁手的編輯器,推薦掌握 vim 的基本操作 gcc、gdb、ld、make等編譯構(gòu)建鏈、objdump、nm、readif、dd 等 ELF 文件分析、燒錄工具。


點(diǎn)個(gè)在看你最好看
評(píng)論
圖片
表情
