摘要:
Linux内核分析课程总结 By 20135203齐岳 知识梳理 (思维导图地址 "http://mindmap.4ye.me/mkxM0cFh/1" ) 从start _ kernel构造一个新的Linux内核开始,0号进程rest _ init创建了1号进程kernel _ init从而启动Li 阅读全文
摘要:
《Linux内核设计与实现》课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统。多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于可运行状态。 多任务系统分为两种: 抢占式多 阅读全文
摘要:
第八节 进程的切换和系统的一般执行过程 By 20135203齐岳 本周的主要内容: 1. Linux中进程调度的基本概念与相关知识 2. schedule函数如何实现进程调度 3. Linux进程的执行过程(一般情况与特殊情况) 4. 宏观描述Linux系统执行 进程切换的主要代码switch_t 阅读全文
摘要:
《深入理解计算机系统》课本自学笔记 第七章 链接 By20135203齐岳 链接:将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或拷贝)到存储器并执行。 现代计算机中链接由链接器自动完成。 链接器在软件开发中的重要功能:分离编译。 编译器驱动程序 大多数编译系统提供编译 阅读全文
摘要:
第七节 可执行程序的装载 By 20135203齐岳 本周的主要内容: 1. 可执行程序是如何得到的以及可执行程序的目标文件格式 2. 动态库 &动态链接库 3. 系统调用sys_exec函数的执行过程 预处理、编译、链接和目标文件的格式 可执行程序是如何得来的 预处理:gcc –E –o hell 阅读全文
摘要:
《Linux内核设计与实现》课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序。包括代码段和打开的文件、挂起的信号、内核内部数据、处理器状态一个或多个具有内存映射的内存地址空间或执行线程等其他资源。 线程:是在进程中活动的对象。每个线程都有一个独立的程序计数器、进程 阅读全文
摘要:
第六节 进程的描述和进程的创建 By 20135203齐岳 本周的主要内容: 1. 如何描述一个进程:进程描述符的数据结构; 2. 如何创建一个进程:内核是如何执行的,以及新创建的进程从哪里开始执行; 3. 使用gdb跟踪新进程的创建过程。 进程的描述 操作系统三大功能: 进程管理(最核心最基础) 阅读全文
摘要:
《Linux内核设计与实现》课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一些资深的特殊功能 健壮性 在任何时候内核的任何地方都能调用printk()函数,只有在终端还未初始化的时候不能调 阅读全文
摘要:
第五节 系统调用的三个层次(下) By 20135203齐岳 本周的课程主要内容有三点: 1. 在MenuOS中通过添加代码增加自定义的系统调用命令 2. 使用gdb跟踪调试内核 3. 简单分析system_call代码了解系统调用在内核代码中的处理过程 由于本周实验是在Kali虚拟机上进行操作的, 阅读全文
摘要:
《Linux内核设计与实现》课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个。 为用户空间提供了硬件的抽象接口。 保证了系统的稳定和安全。 实现多任务和虚拟内存。保证良好的稳定性和安全性。 系统调用是用户空间访问内核的唯一手段; 阅读全文