摘要: 分析Linux内核创建一个新进程的过程 进程描述符PCB task_struct数据结构 操作系统:1.进程管理 2.内存管理 3 文件系统 一、新进程如何创建和修改task_struct数据结构 1.复制当前进程(创建新进程通过复制当前进程来实现) 2.给新进程分配新的内核堆栈 3.修改复制过来的 阅读全文
posted @ 2016-03-28 16:22 20135322郑伟 阅读(581) 评论(1) 推荐(0) 编辑
摘要: ![](http://images2015.cnblogs.com/blog/745598/201603/745598-20160329145003207-308753816.png) ![](http://images2015.cnblogs.com/blog/745598/201603/745598-20160329145238973-179541329.png) ![](http://i... 阅读全文
posted @ 2016-03-28 16:15 20135322郑伟 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-03-25 16:34 20135322郑伟 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 分析system_call中断处理过程 一、MesuSO增加getpid和getpid-asm 二、使用GDB跟踪系统调用内核函数sys_getpid 分析system_call中断处理过程 使用gdb跟踪分析一个系统调用内核函数sys_getpid 三、系统调用在内核代码中的处理过程 main.c 阅读全文
posted @ 2016-03-24 20:39 20135322郑伟 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 系统调用的工作机制 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 一、前情提要 二、两种方式调用系统调用的工作过程 1.库函数调用系统调用的工作过程 2.汇编代码调用系统调用的工作过程 3.两种方式的编译运行结果分别是2999和3065. (-14是实验出现了错误,使用了错误的系 阅读全文
posted @ 2016-03-18 20:44 20135322郑伟 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 用户空间进程和硬件设备之间中间层——系统调用 阅读全文
posted @ 2016-03-16 21:54 20135322郑伟 阅读(256) 评论(1) 推荐(0) 编辑
摘要: 2.1.1- Git一个新版本的控制系统管理代码 2.1.2安装内核源代码 2.1.3安补丁: 2.2 内核源码树 2.3.1配置内核 2.3.2减少编译的垃圾信息 2.3.3 衍生多个编译作业 2.3.4安装新内核 2.4.1 无LIBC库或无标准头文件 2.4.2 GNU C 2.4.3 没有内 阅读全文
posted @ 2016-03-15 16:03 20135322郑伟 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Unix强大的特点 Linux系统的基础是内核、C库、工具库和系统的基本工具。     单内核与微内核的比较 主版本号.从版本号.修订版本号.稳定版本号 阅读全文
posted @ 2016-03-14 23:18 20135322郑伟 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 作业三:LINUX内核的启动过程 一、使用GDB跟踪内核从start_kernel到init进程启动(附实验截图) (一)使用自己的Linux系统环境搭建MenuOS的过程 下载内核源代码编译内核 cd ~/LinuxKernel/ wget https://www.kernel.org/pub/l 阅读全文
posted @ 2016-03-08 13:15 20135322郑伟 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 作业二:操作系统是如何工作的进行 mykernel实验指导(操作系统是如何工作的) 运行并分析一个精简的操作系统内核,理解操作系统是如何工作的 打开shell cd LinuxKernel/linux-3.9.4 qemu -kernel arch/x86/boot/bzImage 然后cd myk 阅读全文
posted @ 2016-03-02 13:36 20135322郑伟 阅读(360) 评论(0) 推荐(0) 编辑