zoukankan      html  css  js  c++  java
  • 20169215 《Linux内核原理与分析》课程总结

    • (按顺序)每周作业链接汇总

      • 第一周作业:本周学习了Linux基础入门,主要是和Linux有关的快捷键、shell命令、用户和文件权限设置等内容。
      • 第二周作业:本周主要是学习了和寄存器有关的知识以及操作寄存器的部分汇编指令,反汇编一段简单的C程序。同时还学习了《Linux内核设计与实现》的1、2、8章,了解Linux内核的发展和特点,以及对内核代码的调试。
      • 第三周作业:学习了内存中的堆与栈,了解它们在内存的差别和应用。
      • 第四周作业:学习《Linux内核设计与实现》的3、5章,了解Linux内核的进程管理和系统调用,初步理解fork()的过程。了解计算机三大法宝,分析简单的系统MenuOS的内核代码。
      • 第五周作业:学习《Linux内核设计与实现》的4、6章,理解Linux的进程调度与内核数据结构。学习使用gdb跟踪分析简单的操作系统MenuOS的启动过程。
      • 第六周作业:学习《Linux内核设计与实现》的7、8章,理解Linux内核的中断和中断处理过程,学习中断下半部和推后执行的工作的方法。学习理解系统调用的“三层皮”,在实验楼中完成通过使用库函数API和C代码嵌入汇编代码实现同一个系统调用。
      • 第七周作业:学习《Linux内核设计与实现》的9、10章,了解Linux内核的同步操作以及内核同步的实现方法。在实验楼中学习向MenuOS中添加获取当前进程标识值的命令,并且使用gdb跟踪分析系统调用的执行过程。
      • 第八周作业:学习《Linux内核设计与实现》的11、12章,理解Linux的定时器和对时间的管理,学习Linux内核对内存的管理方法。在实验楼中把fork加入MenuOS的命令中,然后通过gdb一步步跟踪分析fork()的执行过程。
      • 第九周作业:学习《Linux内核设计与实现》的13、14章,了解Linux采用的虚拟文件系统以及对各种VFS对象的操作,学习Linux对块I/O层的操作以及I/O调度程序的相关知识。学习gcc编译C代码的过程,在实验楼中使用gdb跟踪分析可执行程序的装载过程。
      • 第十周作业:学习《Linux内核设计与实现》的15、16章,学习了解Linux的进程地址空间和对内存区域的操作,了解Linux采用的页高速缓存以及flusher线程等。
      • 第十一周作业:学习《Linux内核设计与实现》的17、18、20章,学习Linux的设备与模块的载入,了解Linux的可移植性以及补丁、开发和社区相关的知识。在实验楼完成SET-UID程序漏洞实验。
      • 第十二周作业:在实验楼完成Collabtive 系统 SQL 注入实验。
    • (按顺序)实验报告链接汇总

      • 实验一 SET-UID程序漏洞实验:Set-UID 是Unix系统中的一个重要的安全机制。当一个Set-UID程序运行的时候,它被假设为具有拥有者的权限,可能导致一些用户的越权行为。
      • 实验二 Collabtive系统SQL注入实验称:SQL注入漏洞的代码注入技术,利用web应用程序和数据库服务器之间的接口。通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
    • 课程收获与不足

      • 自己的收获
        通过Linux内核的学习让我对Linux有了初步的了解,而且通过写博客的方式来提交作业的方式让我们练习写博客,在网络上公布自己的学习成果,同时也让我知道了通过博客学习的重要性。
      • 自己需要改进的地方
        对Linux内核的学习不够深入,学习完之后总是会遗留下一些问题。对github的学习使用始终没有开展。
      • 如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
        组队能扩宽自己的学习,之前对SQL的学习不足,通过实验向队友学习,增强自己对数据库的学习理解。
    • 给学弟学妹们的学习建议
      学习Linux内核时,不能浅尝辄止,要学会深入每一个细节,解决每一个疑惑。

      • 如果重新学习这门课,怎么做才可以学的更好
        多查资料,学习过程中的所有不理解的地方都应该尽力去解决。博客要多写,写完了还要根据自己学习的深入程度修改完善。
    • 问卷调查

      • 你觉得这门课老师应该继续做哪一件事情?
        通过博客让同学们提交作业,这是一种很好的锻炼学生的方式。
      • 你觉得这门课老师应该停止做哪一件事情?
        感觉都挺有意义的,不需要停止。
      • 你觉得这门课老师应该开始做什么新的事情?
        在课堂上应该稍微有点指导性的教学,不用太多,能帮助同学快速理解课程内容就行。
      • 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书)
        一周至少一篇可能做不到,但是在学到什么新知识或者有什么新的收获的时候会尽力写博客分享。
      • 其他
  • 相关阅读:
    67. Add Binary
    66. Plus One
    64. Minimum Path Sum
    63. Unique Paths II
    How to skip all the wizard pages and go directly to the installation process?
    Inno Setup打包之先卸载再安装
    How to change the header background color of a QTableView
    Openstack object list 一次最多有一万个 object
    Openstack 的 Log 在 /var/log/syslog 里 【Ubuntu】
    Git 分支
  • 原文地址:https://www.cnblogs.com/308cww/p/6164783.html
Copyright © 2011-2022 走看看