20169212《Linux内核原理与分析》课程总结

  • 每周作业链接汇总

    • 第一周作业:完成linux基础入门实验,了解一些基础的命令操作。

    • 第二周作业:学习MOOC课程——计算机是如何工作的;完成实验楼上配套实验一,反汇编一个简单的C程序,分析堆栈变化情况;阅读学习教材《Linux内核设计与实现》第1,2,18章内容。

    • 第三周作业:使用自己的ubuntu按照书进行基本实验,遇到的一些问题及解决。

    • 第四周作业:学习MOOC课程——操作系统是如何工作的;完成实验楼上配套实验二,使用自己的Linux系统进行环境搭建,完成一个简单的时间片轮转多道程序内核代码;阅读学习教材第3,5章内容。

    • 第五周作业:学习MOOC课程——构造一个简单的Linux系统MenuOS;完成实验楼上配套实验三,跟踪分析Linux内核的启动过程,使用gdb跟踪调试内核从start_kernel到init进程启动;阅读学习教材第4,6章内容。

    • 第六周作业:学习MOOC课程——扒开系统调用的三层皮;完成实验楼上配套实验四,使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用,以mkdir为例;阅读学习教材第7,8章内容。

    • 第七周作业:学习MOOC课程——程序和进程;完成实验楼上配套实验五,分析system_call中断处理过程,使用gdb跟踪分析一个系统调用内核函数;阅读学习教材第9,10章内容。

    • 第八周作业:学习MOOC课程——进程的执行和进程的切换;完成实验楼上配套实验六,分析Linux内核创建一个新进程的过程,使用gdb跟踪分析一个fork系统调用内核处理函数sys_clone;阅读学习教材第11,12章内容。

    • 第九周作业:学习MOOC课程—Linux内核的实质和Linux系统的一般执行过程;完成实验楼上配套实验七,Linux内核如何装载和启动一个可执行程,练习动态链接库的两种使用方式;阅读学习教材第13,14章内容。

    • 第十周作业:学习MOOC课程——Linux系统架构和执行过程概览;完成实验楼上配套实验八,理解进程调度时机跟踪分析进程调度与进程切换的过程,使用gdb跟踪分析一个schedule()函数,分析switch_to中的汇编代码;阅读学习教材第15,16章内容。

  • 实验报告链接汇总

    • 实验一 缓冲区溢出漏洞实验:缓冲区溢出造成程序崩溃,溢出的数据覆盖了返回地址。而如果覆盖返回地址的数据是另一个地址,那么程序就会跳转到该地址,如果该地址存放的是一段精心设计的代码(shellcode),可用于实现其他功能;阅读学习教材第17,19,20章内容。

    • 实验二 格式化字符串漏洞实验:找到地址,利用格式化字符串修改内存中的值。

  • 课程收获与不足

    • 自己的收获
      每周作业的形式,督促自己在平时好好积累,努力学习。通过学习,使我对Linux内核有了基本的了解,对基础知识也有了一定的掌握。老师要求发的博客,是一种很好的记录学习的形式,可以把自己的思考过程和解决方法加以记录梳理,日后也可以复习巩固。在学习课程的同时get到了很多实用的新技能,在日后的学习生活中也会有一些帮助。

    • 自己需要改进的地方
      需要改进的地方有很多,课后还需要继续深入的学习。

    • 如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
      互相帮助,共同进步。会帮助队友解决困惑的问题,有问题也会请教队友。

  • 给学弟学妹们的学习建议

    认真做好每一个实验,点滴坚持会有大收获。

    • 如果重新学习这门课,怎么做才可以学的更好
      多动手实践,多查找资料,认真总结,逐步修改完善。
  • 问卷调查

    • 你觉得这门课老师应该继续做哪一件事情?
      让同学们提交博客,这是一种很好的学习梳理方式。

    • 你觉得这门课老师应该停止做哪一件事情?
      课程学习方式很新颖,验收全面,停止哪一项都不是很全面。

    • 你觉得这门课老师应该开始做什么新的事情?
      可以把周测试卷下发,对出问题多的题目进行适当点播,课后回顾会更好吸收内容。

    • 课程结束后会继续一周至少一篇博客吗?
      有get的新技能愿意用博客随时和大家分享,随时梳理记录自己的学习过程,不限周期。

20169212《Linux内核原理与分析》课程总结的更多相关文章

  1. 20169212《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...

  2. 20169207《Linux内核原理及分析》第十三周作业

    第一周作业::对Linux的基本知识进行了了解,并对基本操作进行熟悉和应用. 第二周作业::了解了冯诺依曼体系结构.各种寄存器的功能和汇编指令的作用和功能. 第三周作业::这周主要了解了Linux系统 ...

  3. 20169211《Linux内核原理与分析》第四周作业

    20169211<Linux内核原理与分析>第四周作业内容列表 1.教材第3.5章节知识学习总结: 2.实验楼配套实验二实验报告: 1.<linux内核设计与实现>教材第3.5 ...

  4. 2019-2020-1 20199329《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 一.上周问题总结: 未能及时整理笔记 Linux还需要多用 markdown格式不熟练 发布博客时间超过规定期限 二.本周学习内容: <庖丁解 ...

  5. 20169210《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...

  6. 2018-2019-1 20189221 《Linux内核原理与分析》第九周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第九周作业 实验八 理理解进程调度时机跟踪分析进程调度与进程切换的过程 进程调度 进度调度时机: 1.中断处理过程(包 ...

  7. 2018-2019-1 20189221 《Linux内核原理与分析》第八周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第八周作业 实验七 编译链接过程 gcc –e –o hello.cpp hello.c / gcc -x cpp-o ...

  8. 2018-2019-1 20189221 《Linux内核原理与分析》第七周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第七周作业 实验六 分析Linux内核创建一个新进程的过程 代码分析 task_struct: struct task ...

  9. 2018-2019-1 20189221 《Linux内核原理与分析》第六周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第六周作业 实验五 实验过程 将Fork函数移植到Linux的MenuOS fork()函数通过系统调用创建一个与原来 ...

随机推荐

  1. Centos7下dnscrypt-proxy安装

    DNS劫持指的是"一些设备"会拦截DNS解析请求,并将错误的DNS信息返回给主机:DNS污染指的是"一些设备"会将错误的域名信息下发至公共的DNS服务器中(比如 ...

  2. cmake 出现问题

    问题: CMake Error at CMakeLists.txt:3 (find_package): By not providing "FindOpenCV.cmake" in ...

  3. HTML初步入门

    标签元素 标签介绍 html元素包括一个或一对标签定义的包含范围.而标签就是由两个字符串"<"和">"号组成,标签包括开始标签"<& ...

  4. 【转】缺少servlet-api.jar包

    转载地址:http://blog.sina.com.cn/s/blog_6cfb18070100n7pu.html 在Eclipse中缺省servlet-api.jar包,由于servlet-apbi ...

  5. 如何阅读android framework源码

    但如果想深入的了解Android系统, 那么可以看下我的一些简单的总结. 知识 Java Java是AOSP的主要语言之一. 没得说, 必需熟练掌握. 熟练的Android App开发 Linux A ...

  6. Java 基础 Map 练习题

    第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年 ...

  7. 接触Matlab5年一个总结(Matlab要掌握的一些要点 )

    阅读目录 前言 Matlab的开发环境与简单介绍 Matlab的常见命令 Matlab的灵魂-矩阵操作 Matlab的.m或.fig的编程与技巧 从大二开始接触到matlab,讲真,这是一个我觉得很良 ...

  8. ReportService未指定 OverwriteDataSources

    报表服务器部署好之后,查看报表就显示ConnectionString 属性尚未初始化. 然后重启部署并查看部署时控制台的输出信息,发现之前的部署成功消息是假象,实际上部署的时候有一个警告: 不能将数据 ...

  9. hive1.2.1实战操作电影大数据!

    我采用的是网上的电影大数据,共有3个文件,movies.dat.user.dat.ratings.dat.分别有3000/6000和1百万数据,正好做实验. 下面先介绍数据结构: RATINGS FI ...

  10. 1. ReactNative 基础

    /** 1. reactNative  反应式语言 2. 既拥有原生的用户体验,又保留React的开发效率 3. FaceBook研究 H5,Android,iOS 4. BAT的插件化,热修改  2 ...