<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u011301547的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u011301547</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u011301547]]></copyright><item><title><![CDATA[linux内核分析总结]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/70555551</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/70555551</guid><author>u011301547</author><pubDate>Sun, 23 Apr 2017 22:55:39 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，未经博主允许不得转载。  
姓名：周毅原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000  
下面是linux内核学习的博客： 
 1、通过汇编一个简单的C程序，分析汇编代码理解计算机是如何工作的 
 2、完成一个简单的时间片轮转多道程序内核代码 
3、分析Linux]]></description><category></category></item><item><title><![CDATA[8、理解进程调度时机跟踪分析进程调度与进程切换的过程]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/70197183</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/70197183</guid><author>u011301547</author><pubDate>Sun, 16 Apr 2017 19:10:24 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，未经博主允许不得转载。 
姓名：周毅原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000  
一、进程的切换 
       我们以前分析过中断的大致过程如下图： 
 
而进程的切换过程就在如图所示中主要通过schedule来完成切换： 
最一般的情况：正在运行的用户态]]></description><category></category></item><item><title><![CDATA[7、Linux内核如何装载和启动一个可执行程序]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/69889610</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/69889610</guid><author>u011301547</author><pubDate>Sun, 09 Apr 2017 19:19:47 +0800</pubDate><description><![CDATA[姓名：周毅原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000  
这篇文章主要分析linux调用fork系统调用时，执行了哪些过程。  
一、可执行文件的创建——预处理、编译和链接 
 
预处理，替换宏定义等等：gcc -E -o hello.cpp hello.c  
编译，编译成汇编文本代码：]]></description><category></category></item><item><title><![CDATA[6、分析Linux内核创建一个新进程的过程]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/68953354</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/68953354</guid><author>u011301547</author><pubDate>Sun, 02 Apr 2017 18:24:25 +0800</pubDate><description><![CDATA[姓名：周毅原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 
这篇文章主要分析linux调用fork系统调用时，执行了哪些过程。 
一、fork系统调用代码分析 
        fork()允许用户态下创建新的进程， fork 创造的子进程复制了父亲进程的资源，包括内存的内容和task_str]]></description><category></category></item><item><title><![CDATA[5、分析system_call中断处理过程]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/66473272</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/66473272</guid><author>u011301547</author><pubDate>Sun, 26 Mar 2017 12:15:05 +0800</pubDate><description><![CDATA[姓名：周毅原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
一、Fork调用
我们把fork调用添加到menu系统中去：


然后启动menu，发现有了fork命令，执行后：


对fork命令进行跟踪调试，我们在sys_fork处设置断点：


  
发现无法对sys]]></description><category></category></item><item><title><![CDATA[4、使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/63471046</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/63471046</guid><author>u011301547</author><pubDate>Sun, 19 Mar 2017 01:43:20 +0800</pubDate><description><![CDATA[姓名：周毅原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
一、基础知识


1、操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性，为了达到这个目的，内核提供一系列具备预定功能的多内核函数，通过一组称为系统调用（system
 call]]></description><category></category></item><item><title><![CDATA[3、分析Linux内核的启动过程]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/61538365</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/61538365</guid><author>u011301547</author><pubDate>Sun, 12 Mar 2017 02:31:18 +0800</pubDate><description><![CDATA[姓名：周毅

原创作品转载请注明出处 

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000




一、基础知识


1、计算机通电后，CPU开始从一个固定的地址加载代码并开始执行，这个地址就是BIOS的驱动程序所在的位置，于是BIOS的驱动开始执行，BIOS会初始化启动许多硬件（硬盘、网卡等]]></description><category></category></item><item><title><![CDATA[2、完成一个简单的时间片轮转多道程序内核代码]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/60340070</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/60340070</guid><author>u011301547</author><pubDate>Sat, 04 Mar 2017 19:51:14 +0800</pubDate><description><![CDATA[姓名：周毅

原创作品转载请注明出处 

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

一、实验原理主要由


1、时间片轮转法是一种最常见的进程调度算法，它为每个进程分配一个时间片，然后每个进程轮流执行来完成并发执行；

2、进程的调度是通过中断完成，切换进程需要保留上一个进程的现场（本]]></description><category></category></item><item><title><![CDATA[1、通过汇编一个简单的C程序，分析汇编代码理解计算机是如何工作的]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/57433116</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/57433116</guid><author>u011301547</author><pubDate>Sun, 26 Feb 2017 19:45:27 +0800</pubDate><description><![CDATA[姓名：周毅
原创作品转载请注明出处 
《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
一、基础知识
1、计算机一条一条的执行指令；
2、寄存器%EIP总是存着下一条指令所在内存的地址；
3、本课程用到的3个寄存器（32位）：
          %eax：默认“累加器”，也是一个通用寄存器，往往也是存]]></description><category></category></item><item><title><![CDATA[leetcode题解]]></title><link>https://blog.youkuaiyun.com/u011301547/article/details/52518758</link><guid>https://blog.youkuaiyun.com/u011301547/article/details/52518758</guid><author>u011301547</author><pubDate>Mon, 12 Sep 2016 23:59:33 +0800</pubDate><description><![CDATA[研究生阶段发现自己动手能力还是很弱，所以用leetcode来练练算法，希望可以提高自己。
     下面是按我自己做题的顺序解答（C++）：
2016年9月13日00:02:44
344. Reverse String

Write a function that takes a string as input and returns the string reversed.
Exam]]></description><category></category></item></channel></rss>