03 2016 档案

读书笔记(chapter7)
摘要:第七章 链接 链接是将各种代码和数据部分收集起来并且组合成为一个单一文件的过程。1.这个文件可被加载到存储器并执行;2.也可以执行于加载时,也就是在程序被加载器加载到存储器并执行;3.甚至可以执行于运行时,由应用程序来执行;在早期的计算机系统,链接是手动执行的。在现代系统中,链接是由叫做链接器的程序 阅读全文

posted @ 2016-03-31 19:04 20135325 阅读(191) 评论(1) 推荐(0)

读书笔记(chapter3)
摘要:进程管理 3.1进程 1.进程:进程就是处于执行期的程序,实际上,进程就是正在执行的程序代码的实时结果; 2.执行线程,简称线程,是进程中活动的对象(每个线程拥有独立的程序计数器、进程栈、和一组进程寄存器),内核调度的对象是线程,不是进程 3.进程提供的两种虚拟进制:虚拟处理器和虚拟内存 4.程序本 阅读全文

posted @ 2016-03-29 23:10 20135325 阅读(156) 评论(0) 推荐(0)

Linux内核分析(第六周)
摘要:进程的控制与创建 一、进程的描述 1.操作系统内核的三大功能:进程管理(核心),内存管理,文件系统; 2.状态: fork() task_zombit(终止) task_running(就绪;但是没有运行) task_running(正在运行) task_Intertupt task_Uninter 阅读全文

posted @ 2016-03-29 22:11 20135325 阅读(205) 评论(0) 推荐(0)

读书笔记(chapter18)
摘要:调试 18.1准备开始 18.2内核中的bug 1.从隐藏在源代码中的错误到展现在目击者面前的bug,往往是经历一系列连锁反应的事件才可能触发的 18.3通过打印来调试 1.健壮性 健壮性是printk()函数最容易让人们接受 一个特质;而且调用者连锁都不必使用 核心硬件部分的黑客依靠此时能够工作的 阅读全文

posted @ 2016-03-25 15:51 20135325 阅读(137) 评论(0) 推荐(0)

Linux内核分析(第五周)
摘要:系统调用的三层皮(下) 一、给MenuOs增加time和time-asm命令 ls rm menu -rf git clone xx(克隆新版本) cd menu make rootfs(自动编译生成根文件系统) help version time time asm vi time.c(增加了tim 阅读全文

posted @ 2016-03-25 14:18 20135325 阅读(158) 评论(0) 推荐(0)

读书笔记(chapter5)
摘要:系统调用 5.1与内核通信 1.系统调用在用户空间进程和硬件设备之间添加一个中间层。作用有三个:它为用户空间提供了一种硬件的抽象接口;系统调用保证了系统的稳定和安全;系统调用是用户空间访问内核的唯一手段; **除异常和陷入外,它们是内核唯一的合法入口; 5.2API、POSIX、和C库 1.应用程序 阅读全文

posted @ 2016-03-25 13:44 20135325 阅读(107) 评论(0) 推荐(0)

Linux内核分析(第四周)
摘要:扒开系统调用的三层皮(上) 一、用户态.内核态.中断 (上周课件有学习到) 1、地址空间是一个显著的标志(是逻辑地址,不是物理地址) 2、CPU每条指令的读取都是通过cs:eip这两个寄存器;0xc00000000以上的地址空间只能用内核态访问 3、中断处理是从用户态进入内核态的主要方式(系统调用是 阅读全文

posted @ 2016-03-15 15:53 20135325 阅读(153) 评论(0) 推荐(0)

读书笔记(chapter1-2)
摘要:一、linux内核简介 1.1unix的历史 1、unix强大的根本原因:1.unix很简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的;2.在unix中,所有的东西都被当作文件对待;3.unix的内核和相关的系统工具软件是用C语言编写而成,在各种硬件体系架构面前都具备令人惊异的移植力;4. 阅读全文

posted @ 2016-03-15 14:51 20135325 阅读(179) 评论(0) 推荐(0)

Linux内核分析(第三周)
摘要:构造一个简单的linux系统menuOS. 一、简介 1.两把宝剑:中断-上下文的切换(保存现场和恢复现场) 进程-上下文的切换 2.linux-3.18.6 arch/x86目录下的代码是我们重点关注的; 内核启动相关代码基本在init目录下;(start_kernel函数相当于普通C程序的mai 阅读全文

posted @ 2016-03-09 11:57 20135325 阅读(161) 评论(0) 推荐(0)

Linux内核分析(第二周)
摘要:操作系统是如何工作的? 一、总结:三大法宝 1.存储程序计算机 + 函数调用堆栈 + 中断机制 2.堆栈:C语言程序运行时候必须的一个记录调用路径和参数的空间(函数调用框架/提供局部变量/传递参数/保存返回地址) 不同指令可能实现相同的功能 3.堆栈相关:esp ebp ;操作: push pop; 阅读全文

posted @ 2016-03-02 14:25 20135325 阅读(128) 评论(0) 推荐(0)

导航