操作系统实战 45 讲
彭东
网名 LMOS,Intel 傲腾项目关键开发者
65203 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 60 讲
尝尝鲜:从一个Hello到另一个Hello (2讲)
特别放送 (1讲)
操作系统实战 45 讲
15
15
1.0x
00:00/00:00
登录|注册

用户故事 | 操作系统发烧友:看不懂?因为你没动手

这门课带给我的收获
真正开始学习写操作系统
怎样与操作系统结缘
文章主题总结

该思维导图由 AI 生成,仅供参考

你好,我是 spring Xu。我平时的工作就是做实时嵌入式系统,坐标上海。
写操作系统这件事一直是我的兴趣,我之前写过引导器,也有移植过 uboot 的基础,还读了不少操作系统的书。作为一名操作系统“发烧友”,我是怎样跟操作系统、跟 LMOS 这门课程结缘的呢?请你听我慢慢道来。

我是怎样与操作系统结缘的?

其实我并非计算机专业出身,也没有系统地学过操作系统。不过出于兴趣,我早在大学时就自学了微机原理,当时记得还在 x86 实模式下写了些汇编程序,但还是有很多迷惑的地方。
于是,我跑到图书馆找了本 Intel 的芯片手册自己随意翻看,发现 x86 的保护模式寻址方式好奇怪,还有调用权限的知识也弄不太懂。后来我还试着询问老师,结果当时没得到什么满意的答案,这事儿也就不了了之了。
直到我工作了,接触的是嵌入式系统 ucos-II。感觉这样的系统有点简单,因为它无法动态加载外部应用程序,还是想搞个更高级点的,自己写一个操作系统的想法从此埋下种子
于是我购买了潘爱民老师的《程序员的自我修养》阅读。潘老师的那本书是讲 C 语言的编译链接和运行环境,也就是 C 语言文件如何编译、如何链接到生成程序的过程,还有该程序如何在操作系统上加载和运行以及程序加载的知识,都可以从这本书里学到。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

这篇文章以作者Spring Xu的个人经历为主线,讲述了他是如何从对操作系统的兴趣开始,逐步学习和实践,最终真正开始学习写操作系统的过程。作者通过自学微机原理、阅读相关书籍、购买开发板等方式,逐步积累了操作系统相关的知识和经验。他分享了自己在学习过程中遇到的困难和挑战,以及对操作系统学习的一些建议。最后,作者介绍了自己购买了一门操作系统实战课程,并加入了相关交流群,以此来提升自己的实践能力和技术水平。整篇文章展现了作者对操作系统学习的执着精神和不断探索的态度,对读者具有一定的启发意义。 文章内容主要围绕操作系统学习展开,包括从基础铺垫阶段到初始化、内存管理与进程模块,再到驱动模型、文件系统与网络。作者通过课程内容的梳理,分享了自己的学习感悟和对底层技术点的深入思考,以及如何从自身工作技术栈中的底层技术点入手,深挖与操作系统相关的知识点。整篇文章内容丰富,涵盖了操作系统学习的多个方面,对读者具有一定的指导意义和启发作用。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《操作系统实战 45 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • springXu
    置顶
    那到讨论的题目 代码如下: for(int i=0;i<100;i++) 与 for(int i=100;i!=0;i--) 在相同cpu构架,相同操作系统,编译器是gcc,优化参数相同。比较哪个快。如果100看不出效果扩大成10000次。 为什么会有差异呢?
    2021-08-28
  • 罗 乾 林
    置顶
    JVM 根据可达性分析实现对象回收,由单独的gc线程完成,有stop world问题。要想深入研究JVM,路上有编译原理这个大坑等着我们。 object-c的 ARC机制,C++中使用智能指针能到达相似的效果,只是是由程序员自己控制是否使用。 关于协程,看看用c语言实现的协程,会看到对程序上下文保存和恢复,栈的切换等是如何实现的。这个过程有点类似于操作系统中进程的切换

    编辑回复: 给你来个置顶,也许后面大伙还可以讨论讨论。

    2021-08-23
    4
  • Fan
    这里我顺便提一个问题,你感受下,如果写 1 个循环 100 次的代码,用累加 1 的操作,与用递减 1 的操作,哪个快?为什么?欢迎留言写出你的答案。 不知道呀,作者解释下。

    编辑回复: 先思考一下,再公布答案。 顺便搬运下群里大佬的分析: 1.看什么处理器,什么样的体系结构,什么样的指令集; 2.要看什么样的操作系统; 3.要看什么样的编译器,都支持什么功能,做了什么优化。

    2021-08-26
    2
    1
  • LMOS
    十年之后 希望名为sping的操作系统诞生,但是作者头发还在

    编辑回复: 哈哈哈,让我们一起祝福spring同学~

    2021-08-23
    2
    1
  • pedro
    十年以后,一款名为sping的操作系统横空出世!

    编辑回复: 哈哈哈,你这展望式加油有点秀,系统名你再看看~

    2021-08-23
    2
    1
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部