朱荟潼 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课http://mooc.study.163.com/course/USTC 1000029000 一.学习内容 (一)给MenuOS增加time和time-asm命令(详见 :二.实验内容) 四步 1.更新menu代码到最新版: 2.在main函数中增加MenuConfig: 3.增加对应的Time函数和TimeAsm函数: 4.make rootfs. (二)使用gdb跟踪系统调用内核函数sys_time(详见 :二.实…
Linux第五周学习总结--扒开系统调用的三层皮(下) 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 1. 克隆并自动编译MenuOS rm menu -rf 强制删除原menu文件 git clone http://github.com/mengning/menu.git 从github中克隆 2. test.c…
LINUX内核分析第五周学习总结--扒开系统调用的"三层皮"(下) 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 1.克隆并自动编译MenuOS rm menu -rf //强制删除原menu文件 git clone https://github.com/me…
扒开系统调用的三层皮(下) 郝智宇 无转载 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 把menu删除: 重新克隆一个新的Menu: 进入Menu,用make rootfs自动编译生成根文件系统,同时还自动启动MenuOS 增加了两个命令:time和time_asm,说明扩展了功能. 二.使用gdb跟踪系统调用内核函数sys_time 1.一直按n单步执…
朱荟潼 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课http://mooc.study.163.com/course/USTC 1000029000 第六周 进程的描述和进程的创建 一. 进程的描述 1. 进程控制块PCB--task_struct 1.操作系统的三大管理功能包括 进程管理 内存管理 文件系统 2.PCB task_struct中包含 进程状态 进程打开的文件 进程优先级信息 3.通过唯一的进程标识PID来区别每个进程. 4.进程状态 5.理解task_st…
朱荟潼 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第七周 Linux内核如何装载和启动一个可执行程序 1. 理解编译链接的过程和ELF可执行文件格式,详细内容参考本周第一节: (1) 可执行程序怎么来的? linux系统中,可执行程序一般要经过预处理.编译.汇编.链接.执行等步骤. (2) 目标文件的格式ELF (3) 静态链接的ELF可执行文件与进程的地址空间 一般静态链…
朱荟潼 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课http://mooc.study.163.com/course/USTC 1000029000 知识笔记 1.arch/ 支持不同的CPU的源代码--X86. 2.init/ 内核启动相关的代码基本在此目录下. main.c Linux内核启动的起点:start_kernel. start_kernel 相当于普通C程序的main(). mm/ 内存管理代码. kernel/ 与进程调度有关:Linux内核的核心代码在该…
第八周 进程的切换和系统的一般执行过程 一.进程切换关键代码switch_to 1.不同类型进程有不同调度需求--两种分类 2.调度策略--规则 Linux中进程优先级是动态的,周期性调整. 3.时机 schedule()函数负责调度. 中断处理过程(包括时钟中断.I/O中断.系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(): 内核线程可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度,也就是说内…
Linux第四周学习总结--扒开系统调用的三层皮(上) 一.用户态.内核态和中断 系统调用通过库函数. 1.用户态和内核态 区分(不同的指令执行级别): 用户态:在相应的低执行状态下,代码的掌控范围受到限制,只能在对应级别允许的范围内活动 内核态:在高执行级别下,代码可以执行特权指令,访问任意的物理地址. Intel x86 CPU有四种不同的执行级别0-3,Linux只是用了期中的0级和3级分别表示内核态和用户态. 注意逻辑地址和物理地址的区别.逻辑地址是进程地址空间里面的 2.中断 中断处理…
LINUX内核分析第四周学习总结--扒开系统调用的"三层皮" 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC 1000029000 扒开系统调用的"三层皮" 一.内核.用户态和中断处理 (一)如何区分用户态.内核态 1. 一般现在的CPU有几种不同的指令执行级别 在高级别的状态下,代码可以执行特权指令,访问任意的物理…