<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a674871089的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a674871089</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a674871089]]></copyright><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第十三周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/134970206</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/134970206</guid><author>a674871089</author><pubDate>Wed, 13 Dec 2023 14:51:22 +0800</pubDate><description><![CDATA[系统中的任何一个进程，在 proc 的子目录中都有一个同名的进程 ID，可以找到 cmdline、mem、root、stat、statm 以及 status。每一个单独含有现有进程信息的进程有一些可用的专门链接，系统中的任何一个进程都有一个单独的自链接指向进程信息，其用处就是从进程中获取命令行信息。Linux 系统任何时候都运行在一个指定的运行级上，并且不同的运行级的程序和服务都不同，所要完成的工作和要达到的目的都不同，系统可以在这些运行级之间进行切换，以完成不同的工作。与其他文件系统不同，]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第十二周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/134829958</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/134829958</guid><author>a674871089</author><pubDate>Wed, 06 Dec 2023 14:45:02 +0800</pubDate><description><![CDATA[（a）时，程序以普通用户打开文件，没有权限（b）把CAP_DAC_READ_SEARCH隐去，实际上和（a）也是一样，但当到（c）及以后时，用户有了CAP_DAC_READ_SEARCH，这时候就可以打开文件了。I，P，E分别指代 inheritable，permitted，effective，是一个cap位一个cap位计算的。在操作系统中，有许多只允许超级用户使用的操作，比如配置网卡，备份所有用户文件，关闭计算机等，但如果要进行这些操作就必须先成为超级用户的话，那就违背了最小权限原则。]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第十一周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/134716750</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/134716750</guid><author>a674871089</author><pubDate>Thu, 30 Nov 2023 18:36:39 +0800</pubDate><description><![CDATA[防火墙是一种网络安全设备，用于监控、过滤和控制进出网络的流量，以保护网络免受恶意攻击和未经授权的访问。]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第十周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/134565177</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/134565177</guid><author>a674871089</author><pubDate>Thu, 23 Nov 2023 22:06:19 +0800</pubDate><description><![CDATA[CPU的虚拟化是指将一台物理计算机的中央处理器（CPU）资源划分为多个虚拟机（VMs）的过程。这种虚拟化技术允许在同一台物理硬件上同时运行多个独立的操作系统和应用程序，每个虚拟机都认为自己独占一部分物理 CPU 资源。]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第九周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/134420021</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/134420021</guid><author>a674871089</author><pubDate>Wed, 15 Nov 2023 15:07:18 +0800</pubDate><description><![CDATA[Linux系统中的进程调度是由调度器（scheduler）负责的，它的任务是按照一定的策略选择下一个要运行的进程。进程调度通常是由系统时钟中断触发的。Linux内核会使用时钟中断来维护系统时间，并在每次时钟中断时考虑是否进行进程切换。时钟中断的频率通常是固定的，比如每10毫秒触发一次。如果一个进程执行了系统调用或者发起了一个阻塞的操作，它会主动让出CPU，这时调度器有机会选择下一个要运行的进程。当一个进程执行完成或者由于某些原因（如等待I/O操作完成）而阻塞时，调度器会选择新的进程来执行。]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第八周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/134287784</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/134287784</guid><author>a674871089</author><pubDate>Wed, 08 Nov 2023 15:07:11 +0800</pubDate><description><![CDATA[例如，代码段包含可执行代码，数据段包含可执行数据，符号表节包含符号信息，重定位节包含重定位信息等。头部（Header）：ELF文件的头部包含了有关文件的基本信息，如文件类型（可执行文件、共享库、目标文件等）、目标架构、入口点地址和各种段和节的偏移和大小信息。节头部（Section Header）：每个节都有一个相关的节头部，用于描述该节的属性和位置信息。符号表（Symbol Table）：可执行文件和共享库包含一个符号表，其中包含了程序中使用的全局和局部符号的信息。编译阶段将预处理后的代码翻译成汇编语言。]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第七周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/134159911</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/134159911</guid><author>a674871089</author><pubDate>Wed, 01 Nov 2023 14:38:12 +0800</pubDate><description><![CDATA[1、fork函数执行过程如下：①当调用Fork函数时，它会调用fork()系统调用来创建一个新的子进程。②如果fork()返回一个负数，那意味着创建子进程失败，通常是由于系统资源不足等原因。在这种情况下，程序会打印错误消息 "Fork Failed!" 并退出，返回状态码 -1。③如果fork()返回0，那说明这是子进程。子进程会打印 "This is Child Process!④如果fork()返回一个正数，那说明这是父进程。父进程会打印 "This is Parent Process!]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第六周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/134101454</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/134101454</guid><author>a674871089</author><pubDate>Sun, 29 Oct 2023 12:12:01 +0800</pubDate><description><![CDATA[3、使用make rootfs，能在其中看到自己编写的函数：5、得到的结果和输出如图所示：6、流程如下：重新编译menu→编写系统调用函数→make rootfs启动menu→help查询命令，执行自己使用的函数→启动gdb→用gdb server远程调试kernel→调试系统调用函数，分析其过程注：过程中遇到问题卡死，经查阅用到了int $0x80 汇编指令来触发系统调用，该方法无法正常的让gab去进行调试，需要在编写系统调用函数时注意。]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第五周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/133935496</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/133935496</guid><author>a674871089</author><pubDate>Thu, 19 Oct 2023 21:50:19 +0800</pubDate><description><![CDATA[getpid 函数：用来取得目前进程的进程ID汇编语言代码如下：


使用将系统调用号39（）加载到RAX寄存器中。
	使用触发系统调用。
	输出值（）通过表示，表示RAX寄存器的值会被存储在变量中。
	我们还使用来指示内联汇编会修改这两个寄存器的内容。
	我们打印出获取到的进程ID。
直接调用及编译实现如下：1、  2、]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第四周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/133830135</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/133830135</guid><author>a674871089</author><pubDate>Sat, 14 Oct 2023 21:20:13 +0800</pubDate><description><![CDATA[实验三]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第三周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/133520589</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/133520589</guid><author>a674871089</author><pubDate>Tue, 03 Oct 2023 19:33:28 +0800</pubDate><description><![CDATA[linux第三周作业]]></description><category></category></item><item><title><![CDATA[2023-2024-1 20232825《Linux内核原理与分析》第二周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/133244440</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/133244440</guid><author>a674871089</author><pubDate>Sun, 24 Sep 2023 19:00:42 +0800</pubDate><description><![CDATA[1、2、3、4、5、]]></description><category></category></item><item><title><![CDATA[如2023-2024-1 20232825《Linux内核原理与分析》第一周作业]]></title><link>https://blog.youkuaiyun.com/a674871089/article/details/132916307</link><guid>https://blog.youkuaiyun.com/a674871089/article/details/132916307</guid><author>a674871089</author><pubDate>Sat, 16 Sep 2023 19:59:27 +0800</pubDate><description><![CDATA[完成第一周的作业]]></description><category></category></item></channel></rss>