learningOS开源操作系统社区
  • 首页
  • 训练营
  • 明星学员
  • 共建单位
  • 项目实习
  • 问答论坛
登录
    Copyright © 2024 opencamp.ai All rights reserved.
    “开头时不知从何下手”的对策
    匿名2023/07/31 19:53:41提问
      学习方法instructor-note
    352

    ## 问题

    有同学反馈在刚开始学操作系统时,很难开头。感觉比较茫然。代码文档很少,汇编看不懂,C语言的宏也不知说的是什么,等等。

    由于背景和知识基础的不同,每个同学遇到的问题也很不一样的。

    == 向老师的建议==

     

    1)对于基础知识不够的,建议先解决你看不懂的那一行,不能从头学。例如,嵌入汇编是刚入门时感觉很困难的事。实际上,它只是采用了AT&T的汇编格式,寄存器的表示方法有变,语义是完全一样的。新加的内容仅是,C变量与嵌入汇编寄存器的映射关系。搞清楚这个,就行了。而这在网上有很简洁的描述,基本上在两页纸以内。

    2)内核代码文档太少的问题,不要在开始时直接深入到细节。建议可以不求细节,先把程序的大致结构搞清楚。好在函数是一个很好的划分单位,知道一个函数的大致功能,就可以了。再有一条是,建议先找关键代码,找到关键代码,前后的准备和完善就可以先忽略了。有了大致的了解,再找有兴趣的地方进行深入分析。提醒一下,要想把整个系统的所有细节都搞清楚是要用大量的时间才行的。

    [NOTICE] 如果确实看不懂源代码,且没有注释,可以在piazza中列出你看不懂的代码,助教和老师会尽力补充注释。

    3)学习工具使用有利于帮助同学加快学习速度。

    其他还有许多问题,我在这里开个头,希望大家在这里提自己遇到的初学者问题,同时共享自己的解决方法,也许对别人也是一个很好的参考。

    接向老师的话头

    ==== 陈老师建议 ====

    分清学习过程的先后顺序和难易程度比较关键,一般按照由易到难的顺序和知识点的依赖关系(老师基本上是按照依赖关系来讲的)来学习比较好一些。对于大部分同学,具体顺序建议如下:

      a. 看原理/实验的视频(如果容易犯困或注意力不集中,建议看一小节(5~15分钟不等)后,做练习)

      b. 顺手完成每小节视频的练习(难度 *),如果觉得练习不够,可尝试 os_exercise上的基本练习(不属于spoc的, 难度 **),

      c. 总结一下,看看自己有啥不清楚的,如果觉得视频可以理解了(但其实不一定真正懂了),看看spoc中的必做和不是必做的题目(难度不等,*~*****),挑一些感兴趣自己做做。

      d. 对于不理解的或者有问题,直接上piazza上提问。(老师和助教会随时关注大家的问题)

      e. 一定要在spoc实体课前,完成对视频的观看,并尽量完成a~d,这样更充分地带着理解和一些问题进入spoc实体课

      f.  在spoc实体课上,老师会出一些有一定难度(***以上,对等于考试题目的中等以上难度)的题给大家讨论,分析和解答,可充分利用这段时间提问,讨论,或者独立完成老师的问题。

      g. 上完spoc实体课,如果是到了lab环节,抓紧做lab。对于不理解的或者有问题,直接上piazza,或在spoc实体课上提问。

      h. 自己分析原理和实验的联系与差距,体会抽象和具体的知识点,真正做到理论联系实际。   

      对于lab, 用工具读代码和debug对完成实验很重要,多加各种调试信息便于自己理解写的代码。

    回答(1)
    即可发布评论
      推荐问答
        Simple Empty
        暂无数据