Linux操作系统
文章平均质量分 76
huangeryu
学无止境,要面包,要诗和远方
展开
-
Linux内核学习总结
回顾不知不觉中Linux内核课程已经结束,孟宁老师用幽默、探讨式的教学方法以Linux源码为依据,围绕系统调用、进程创建、进程切换,系统性的巧妙的讲述了Linux内核中最为核心的知识。下面对每周的课程进行简要的回顾计算机是如何工作的? 更准确的说这部分是描述程序是怎样借助堆栈和寄存器运行起来的,以及如何对一简单程序进行汇编和分析该程序的堆栈变化。这部分还大量的介绍了汇编指令的作用,如ret 操作原创 2017-04-22 14:42:19 · 253 阅读 · 0 评论 -
把.c文件转为汇编,并分析堆栈
黄二玉+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”预备知识cup的内部寄存器通用寄存器: 数据寄存器: AX,BX,CX,DX 地址指针和变址寄存器:SP,BP,SI,DI段寄存器:CS,DS,SS,ES指令指针 IP标志寄存器 FLAGS在不同型号的机器上,用于表示的字母和寄存器的种类可能不原创 2017-02-25 00:05:17 · 680 阅读 · 0 评论 -
mykernel的运行与初步分析
黄二玉+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 预备知识内嵌汇编内嵌汇编语法: _asm_( 汇编语句模板: 输出部分: 输入部分: 破坏描述部分); 同时”asm”也可以由“asm”来代替,“asm”是”asm“的别名。在”asm”后面有时也会加上”volatile“表示编译原创 2017-03-04 10:00:37 · 453 阅读 · 0 评论 -
跟踪内核从start_kernel到init进程启动
黄二玉+原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”预备知识使用gdb跟踪qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S 打开另一个shell窗口 gdb (gdb原创 2017-03-11 18:27:53 · 396 阅读 · 0 评论 -
使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
预备知识系统调用(System call) The architecture of most modern processors, with the exception of some embedded systems, involves a security model. For example, the rings model specifies multiple privilege lev原创 2017-03-17 22:41:26 · 418 阅读 · 0 评论 -
分析system_call中断处理过程
预备知识中断向量,中断向量表,系统调用号中断向量是指中断服务程序入口地址,一个中断向量占据4字节空间(x86)。 中断向量表是由多个中断向量组成的一张表。系统调用号是该中断向量在该表的位置(从0开始)。 因此系统调用号按为右移两位在加上表的基址可以得到相应的中断向量的位置,该位置上存放了中断向量,即中断处理程序的入口地址; linux系统调用的过程简化后的代码如下(Linux原创 2017-03-26 12:26:55 · 342 阅读 · 0 评论 -
分析Linux内核创建一个新进程的过程
黄二玉+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。当一个程序存放在储存介质上的时候,它只是一个指令,数据及其组织形式的描述。操作系统可以将一个程序加载原创 2017-04-02 20:52:05 · 392 阅读 · 0 评论 -
Linux内核如何装载和启动一个可执行程序
可执行文件的创建预处理阶段 这一过程,主要针对#include和#define进行处理,具体过程如下:对于cpp文件中经常会出现#include来包含某个头文件,在进行预处理之后,所有的#include命令都将替换成该头文件中的详细内容,如果该头文件中还包含另外的头文件,采用同样的方法进行递归处理。同样#define亦是如此,对用它进行宏定义的字符进行替换,这里就是简单的替换。所以整个预处理过程原创 2017-04-09 22:28:56 · 282 阅读 · 0 评论 -
理解进程调度时机跟踪分析进程调度与进程切换的过程
进程的调度无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。调度发生的时机: 通过系统调用资源让出运行; 系统调用中因某种原因受阻; 因某种原因唤醒一个进程; 时钟中断服务程序发现当前进程运行太久;调度策略 SCHE原创 2017-04-16 21:56:54 · 425 阅读 · 0 评论 -
ubuntu 技巧及命令学习
命令学习apt 库软件搜索命令 apt-cache search software'namemount命令 a.查看镜像文件的信息 fdisk -lu simple.imgb.挂载指定位置的镜像文件 sudo mount -o offset=XXXX sample.img /mnt/pointc.查看与文件相关联的loop设备 losetup -aobjdum...原创 2017-08-22 09:39:56 · 1165 阅读 · 0 评论