2018-2019-1 20189221<Linux内核原理与分析>第四周作业 教材学习:<庖丁解牛Linux内核分析> 第 3 章 MenuOS的构造 计算机三大法宝:存储程序计算机,函数调用堆栈,中断 操作系统两把宝剑:中断上下文,进程上下文 Linux内核源代码: Linux内核使用的是第二周时下载的Linux-2.6版本 Linux内核目录: init目录下的main.c函数: start_kernel(): init_task(): rest_init(): 随书学习很有…
20169211<Linux内核原理与分析>第四周作业内容列表 1.教材第3.5章节知识学习总结: 2.实验楼配套实验二实验报告: 1.<linux内核设计与实现>教材第3.5章节知识阅读学习总结 教材第3章节主要讲述了进程管理相关的知识,包括什么是进程.进程描述符及任务结构.如何创建进程.linux中线程的实现方法以及如何终结进程等. 首先,印象最深的是如何创建新的进程.在听孟老师的<linux内核分析>的课程时,曾谈到过计算机的"三大法宝":存储…
<Linux内核原理与分析>第四周作业 一.上周问题总结: 虚拟机环境缺少部分库文件 书本知识使用不够熟练 二.本周学习内容: 1.实验楼环境使用gdb跟踪调试内核 1.1 在该环境下输入如下命令启动menuos: cd LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img 实践截图如下: 1.2 使用gdb跟踪调试内核 qemu -kernel linux-3.18.6/arch/x86…
<Linux内核原理与分析>第四周作业 步骤一 首先我们指定一个内核并指定内存根文件系统,这里的bzImage是vmLinux经过gzip压缩的内核,"b"表示"big"适用于大内核,内核启动时要先访问initrd文件系统(内存根文件系统),在CPU初始化时把它冻结起来,在1234端口上创建一个gdb-server,出现的窗口可以看见其状态为冻结. 步骤二 加载带debug信息的内核,连接到已经打开的linux系统,端口号:1234,设置断点,按下&qu…
20169212<Linux内核原理与分析>课程总结 每周作业链接汇总 第一周作业:完成linux基础入门实验,了解一些基础的命令操作. 第二周作业:学习MOOC课程--计算机是如何工作的:完成实验楼上配套实验一,反汇编一个简单的C程序,分析堆栈变化情况:阅读学习教材<Linux内核设计与实现>第1,2,18章内容. 第三周作业:使用自己的ubuntu按照书进行基本实验,遇到的一些问题及解决. 第四周作业:学习MOOC课程--操作系统是如何工作的:完成实验楼上配套实验二,使用自己的…
第一周作业::对Linux的基本知识进行了了解,并对基本操作进行熟悉和应用. 第二周作业::了解了冯诺依曼体系结构.各种寄存器的功能和汇编指令的作用和功能. 第三周作业::这周主要了解了Linux系统的架构,熟悉了常用的一些命令. 第四周作业::模拟了系统中的时钟中断. 第五周作业:::调试Linux内核,观察系统中代码的执行过程. 第六周作业::了解系统调用,并写一个C语言的代码嵌入系统调用命令. 第七周作业::将写好的系统调用程序部署到menu os上. 第八周作业::了解进程的执行和切换,…
目录 2019-2020-1 <Linux内核原理与分析>教学进程 考核方案 第一周: 第二周: 第三周: 第四周: 第五周 第六周 第七周: 第八周 第九周 第十周 第十一周: 第十二周 第十三周 2019-2020-1 <Linux内核原理与分析>教学进程 考核方案 采取过程化考核,平时成绩占100分,成绩计算:30+30+15+25=100: 翻转课堂基础考核10次: 3*10 = 30 每次考试20-30道题目,考试成绩规格化成3分(比如总分30分就除以10) 翻转课堂测试…
<Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资料,看看别人的解答,慢慢的也就理解了,最终形成自己的知识脉络. 实验分析 先创建文件,通过vim将C代码写到文件中去,如图. 再编译成可执行程序和反编译成汇编代码.为什么反编译是这个代码呢? gcc -S -o main.s main.c 原来gcc命令中 -S 参数表示仅仅汇编而不进行编译及链接,也就是将源…
<Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第一部分 本部分主要是观看孟老师的学习视频,学习计算机是如何工作的,并根据提示完成实验. 寄存器 通用寄存器: AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆栈基址针 SI.DI:变址寄存器 SP:堆栈顶指针 段寄存器: CS:代码段寄存器,指向包含程序指令的段. SS:栈段寄存…
2018-2019-1 20189221 <Linux内核原理与分析>第九周作业 实验八 理理解进程调度时机跟踪分析进程调度与进程切换的过程 进程调度 进度调度时机: 1.中断处理过程(包括时钟中断.I/O中断.系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(): 2.内核线程可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度,也就是说内核线程作为一类的特殊的进程可以主动调度,也可以被动调度: 3…