没有合适的资源?快使用搜索试试~ 我知道了~
How to Make an Operating System from Scratch (Samy Pesse) .pdf
需积分: 11 0 下载量 110 浏览量
2022-12-06
15:44:00
上传
评论
收藏 724KB PDF 举报
温馨提示
试读
36页
How to Make an Operating System from Scratch (Samy Pesse) .pdf
资源推荐
资源详情
资源评论
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
1.18
1.19
1.20
1.21
TableofContents
Introduction
Introductionaboutthex86architectureandaboutourOS
Setupthedevelopmentenvironment
FirstbootwithGRUB
BackboneoftheOSandC++runtime
Baseclassesformanagingx86architecture
GDT
IDTandinterrupts
Theory:physicalandvirtualmemory
Memorymanagement:physicalandvirtual
Processmanagementandmultitasking
Externalprogramexecution:ELFfiles
Userlandandsyscalls
Modulardrivers
Somebasicsmodules:console,keyboard
IDEHarddisks
DOSPartitions
EXT2read-onlyfilesystems
StandardClibrary(libC)
UNIXbasictools:sh,cat
Luainterpreter
2
HowtoMakeaComputerOperating
System
OnlinebookabouthowtowriteacomputeroperatingsysteminC/C++fromscratch.
Caution:Thisrepositoryisaremakeofmyoldcourse.Itwaswrittenseveralyearsagoas
oneofmyfirstprojectswhenIwasinHighSchool,I'mstillrefactoringsomeparts.The
originalcoursewasinFrenchandI'mnotanEnglishnative.I'mgoingtocontinueand
improvethiscourseinmyfree-time.
Book:Anonlineversionisavailableathttp://samypesse.gitbooks.io/how-to-create-an-
operating-system/(PDF,MobiandePub).ItwasgeneratedusingGitBook.
SourceCode:Allthesystemsourcecodewillbestoredinthesrcdirectory.Eachstepwill
containlinkstothedifferentrelatedfiles.
Contributions:Thiscourseisopentocontributions,feelfreetosignalerrorswithissuesor
directlycorrecttheerrorswithpull-requests.
Questions:Feelfreetoaskanyquestionsbyaddingissuesorcommentingsections.
YoucanfollowmeonTwitter@SamyPesseorGitHub.
WhatkindofOSarewebuilding?
ThegoalistobuildaverysimpleUNIX-basedoperatingsysteminC++,notjusta"proof-of-
concept".TheOSshouldbeabletoboot,startauserlandshell,andbeextensible.
Introduction
3
Introduction
4
Chapter1:Introductiontothex86architecture
andaboutourOS
Whatisthex86architecture?
Thetermx86denotesafamilyofbackwardcompatibleinstructionsetarchitectures
basedontheIntel8086CPU.
Thex86architectureisthemostcommoninstructionsetarchitecturesinceitsintroductionin
1981fortheIBMPC.Alargeamountofsoftware,includingoperatingsystems(OS's)such
asDOS,Windows,Linux,BSD,SolarisandMacOSX,functionwithx86-basedhardware.
Inthiscoursewearenotgoingtodesignanoperatingsystemforthex86-64architecturebut
forx86-32,thankstobackwardcompatibility,ourOSwillbecompatiblewithournewerPCs
(buttakecautionifyouwanttotestitonyourrealmachine).
OurOperatingSystem
ThegoalistobuildaverysimpleUNIX-basedoperatingsysteminC++,butthegoalisnotto
justbuilda"proof-of-concept".TheOSshouldbeabletoboot,startauserlandshellandbe
extensible.
TheOSwillbebuiltforthex86architecture,runningon32bits,andcompatiblewithIBM
PCs.
Specifications:
CodeinC++
x86,32bitarchitecture
BootwithGrub
Kindofmodularsystemfordrivers
KindofUNIXstyle
Multitasking
ELFexecutableinuserland
Modules(accessibleinuserlandusing/dev/...):
IDEdisks
DOSpartitions
Clock
EXT2(readonly)
BochVBE
Userland:
Introductionaboutthex86architectureandaboutourOS
5
剩余35页未读,继续阅读
资源评论
开发老牛
- 粉丝: 17
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功