从0写自己的Linux x86操作系统

畅销帮助同学深入理解操作系统的运行原理,如进程切换、设备驱动、文件系统、系统调用、应用程序加载执行等

5.0(个评分)5907人学习

高级268课时67小时24分钟2023/03/09更新

资料下载

二维码下载学堂APP缓存视频离线看

李述铜
    • 畅销套餐
    • 精选套餐
    • 人气套餐
    • 尊享套餐
    • 高薪套餐
C语言开发工程师职业学习系列套餐
总价:
1792.00
套餐价:
1256.20
节省
¥535.80
C语言编程基础视频课程(七日成蝶)
240588人学习
¥49.00
C语言课程升华篇之打字游戏(七日成蝶)
20752人学习
¥29.00
Linux基础入门教程
25842人学习
¥5.00
更 多 46 门 课 程
C/C++跨平台研发基础入门与实战系列专题
总价:
4306.00
套餐价:
3209.70
节省
¥1096.30
C++ 模板技术与 STL实战开发
54378人学习
¥168.00
C语言核心编程
15970人学习
¥198.00
商用软件中的C++工程开发技术实践——献给C++新手的入坑指南视频课程
36362人学习
¥48.00
更 多 23 门 课 程
C++跨平台开发工程师从技能掌握到项目实战课程
总价:
2595.00
套餐价:
1812.50
节省
¥782.50
C++QT5跨平台界面编程原理和实战大全视频课程
245829人学习
¥268.00
C++11 14 17 20 多线程从原理到线程池实战
15197人学习
¥199.00
C++代码规范和Doxygen根据注释自动生成手册
1939人学习
¥20.00
更 多 14 门 课 程
C++跨平台实战系列专题
总价:
1403.00
套餐价:
1184.15
节省
¥218.85
VC++Windows多线程实战图片编辑器视频课程
25852人学习
¥89.00
【夏曹俊】零基础学习在Linux上编译调试C++项目视频课程
34096人学习
¥48.00
C++QT5跨平台界面编程原理和实战大全视频课程
245829人学习
¥268.00
更 多 9 门 课 程
Windows高级软件工程师
总价:
890.00
套餐价:
711.02
节省
¥178.98
C语言编程基础视频课程(七日成蝶)
240588人学习
¥49.00
C语言课程升华篇之打字游戏(七日成蝶)
20752人学习
¥29.00
C++精品课程全集(七日成蝶)
209494人学习
¥99.00
更 多 10 门 课 程
C/C++淘系技术GO语言学习指南
  • 课程介绍
  • 课程大纲试看
  • 讲师好课2
  • 学员评价

适合人群:

对操作系统内部工作机制感兴趣,想要了解操作系统设计原理,并且设计自己的操作系统的大学生、软件开发人员

你将会学到:

帮助同学深入理解操作系统的运行原理,如进程切换、设备驱动、文件系统、系统调用、应用程序加载执行等

  • 深入理解操作系统的工作原理,如系统调用、文件系统、进程上下文切换
  • 了解GCC工具链的使用方法
  • 理解32位x86处理器的工作模式
  • 理解C语言与汇编语言之间的相互调用
  • 理解一个应用程序是如何创建出来并与操作系统进行交互
  • 提升对C语言的应用熟悉度

课程简介:

欢迎来到从0写 x86 Linux操作系统课程。这是我个人(非公司团队)准备了两年多时间完成的课程。详细讲解了如何从0行代码编写一个类似Linux 0.11的操作系统。


整个系统大概6000行代码,功能简介如下:

  • 支持多进程运行

  • 支持shell加载磁盘上应用程序运行

  • 支持虚拟内存管理,实现进程之间的隔离

  • 键盘和显示器的支持

  • 引用标准C库,使得应用程序开发更加方便

  • 十余个系统调用:fork()、execve()、open()、write()、exit()等

  • 进程与操作系统不同特权级分离

课程设计思路

我的想法提供一个简单、易学的操作系统课程,并非设计一个非常棒的操作系统。自己的水平有限,达不到这种高的设计目标。所以设计这门课程时,参考了自己过去学习操作系统时面临的以下几个痛点:

  • 操作系统课程和书籍过于抽像

  • 直接看成熟系统代码太过于复杂

  • 硬件编程经验有限,很讨厌写汇编,对x86硬件体系结构了解有限

设计思路一:不作源码分析,是从0开始写代码

尽可能能遵循着初学者的学习体验,从0开始写,不断地提一些需求或者问题来完善代码,而不是拿一个现成的代码进行分析。

设计思路二:尽可能少用汇编,汇编代码不到200行

对于一门学习操作系统原理的课程而言,汇编其实是不重要的东西。但是这恰恰是不少尝试学写操作系统的同学面临的第一个大的困难。哪怕仅仅是读别人写的汇编代码,就要费很大的功夫。课程在代码上进行了很大的优化,尽早进入C语言环境运行,减少汇编的使用。

设计思路三:算法和结构简单

课程中没有用到任何复杂的算法和数据结构,只使用了链表和简单的位图。

设计思路四:提供课程支持和答疑

在学习过程中,有任何问题都可以直接联系我答疑,或者就一些技术问题讨论。


c00.02 课程介绍(1).jpg

1667735774384270.jpg

1667735774699921.jpg


常见问题:

问:使用什么开发语言

答:使用汇编语言+C语言开发,其中95%以上为C代码

问:需要什么样的学习基础

答:对C语言的使用要求比较熟练,有过8086的汇编语言编程经验(简单接触过即可),最好是有过一些Linux系统编程的经验

问:我用的Windows/Linux/Mac可以学习这门课程吗

答:可以,已经在WIndows 10/Ubuntu/Mac上测试过

问:能提供课件吗

答:课件不提供下载,学习过程中有需要请记好笔记,参考资源中提供的相关文档

问:开发出来的是Linux操作系统吗

答:不是的,只是和Linux功能上类似,并非Linux系统

展开更多

课程大纲-从0写自己的Linux x86操作系统

资料下载
展开更多

“李述铜”老师的其他课程更多+

5

条学员评分超过  “C/C++”  99%的课程
      展开更多
      加载中
      没有了哦~

      ¥598.00

      立即购买
      关注公众号 领VIP会员
      下次再说

      点击打包下载,即可获取该课程全部资料

      迎新春满300减35 满400减50
      是否单独购买该课程?
      直接购买去凑单
      在线
      客服
      APP
      下载

      下载Android客户端

      下载iphone 客户端

      官方
      微信

      关注官方微信

      返回
      顶部