随笔分类 -  Linux内核原理与分析

摘要:测试一——vi 0. 每个 .c一个文件,每个 .h一个文件,文件名中最好有自己的学号 1. 用Vi输入图中代码,并用gcc编译通过 2. 在Vi中使用K查找printf的帮助文档 3. 提交vi编辑过程截图,要全屏,包含自己的学号信息 步骤 使用 分别创建三个目录,分别存放源码,头文件和输出文件, 阅读全文
posted @ 2020-01-18 22:43 Ylxxxxx 阅读(1080) 评论(0) 推荐(0)
摘要:格式化字符串漏洞实验 一、 实验描述 格式化字符串漏洞是由像 printf(user_input) 这样的代码引起的,其中 user_input 是用户输入的数据,具有 Set UID root 权限的这类程序在运行的时候,printf 语句将会变得非常危险,因为它可能会导致下面的结果: 使得程序崩 阅读全文
posted @ 2019-12-04 16:55 Ylxxxxx 阅读(261) 评论(0) 推荐(0)
摘要:SET UID程序漏洞实验 一、实验简介 Set UID 是 Unix 系统中的一个重要的安全机制。当一个 Set UID 程序运行的时候,它被假设为具有拥有者的权限。例如,如果程序的拥有者是root,那么任何人运行这个程序时都会获得程序拥有者的权限。Set UID 允许我们做许多很有趣的事情,但不 阅读全文
posted @ 2019-11-27 19:51 Ylxxxxx 阅读(300) 评论(0) 推荐(0)
摘要:打开visual studio2019创建动态链接库项目,项目名称为20199324dll 然后定义宏:在头文件中定义即可,宏的作用的是允许该函数能够被外部访问,并直接调用。代码如下: 然后在pch.cpp文件中实现这些即可,代码如下: 接下来是点击生成,会在debug目录下生成20199324dl 阅读全文
posted @ 2019-11-17 15:07 Ylxxxxx 阅读(1950) 评论(0) 推荐(1)
摘要:创建静态库项目 项目名称为20199324lib 生成.lib文件: 点击生成解决方案(不可点击运行),便得到了20199324lib.lib文件: 另新建win32控制台项目,项目名称为20199324libtest1。 注意 :要把之前生成的lib文件和pch.h文件,复制到控制台程序目录下! 阅读全文
posted @ 2019-11-17 14:50 Ylxxxxx 阅读(1490) 评论(0) 推荐(0)
摘要:第八章 进程的切换和系统的一般执行过程 1.进程调度的时机 硬中断和软中断 中断:在本质上都是软件或者硬件发生了某种情形而通知处理器的行为,处理器进而停止正在运行的指令流(当前进程),对这些通知做出相应的反应,即转去执行预定义的中断处理程序(内核代码)。 ntel定义的中断类型主要有: 硬中断 :就 阅读全文
posted @ 2019-11-15 18:12 Ylxxxxx 阅读(213) 评论(0) 推荐(0)
摘要:第七章 可执行程序工作原理 一.ELF目标文件格式 目标文件:ABI,应用程序二进制接口,是编译器生成的文件。 ELF:可执行的和可链接的格式,是一个目标文件格式的标准。三种类型是: 可重定位文件:Linux中每个内核源代码.c文件都会生成一个同名的.o文件,该文件即为可重定位目标文件。 可执行文件 阅读全文
posted @ 2019-11-09 18:15 Ylxxxxx 阅读(202) 评论(0) 推荐(0)
摘要:第六章 进程的描述和进程的创建 知识点总结 进程的描述 操作系统内核实现操作系统的三大管理功能以及对应的抽象概念: 进程管理(最核心)—— 进程 内存管理 —— 虚拟内存 文件系统 —— 文件 进程是怎样描述的? 通过进程控制块PCB描述进程 Linux内核中用数据结构 struct task_st 阅读全文
posted @ 2019-11-01 22:36 Ylxxxxx 阅读(281) 评论(0) 推荐(0)
摘要:第五章 系统调用的三层机制(下) 1.给MenuOS增加命令 进入Linuxkernel目录下,强制删除当前menu目录,再重新克隆一个新版本的menu 进入menu,运行make roofts脚本就可以自动编译并且自动生成根文件系统,还可以运行MenuOS系统。 输入help命令可以发现,当前支持 阅读全文
posted @ 2019-10-26 14:36 Ylxxxxx 阅读(333) 评论(0) 推荐(0)
摘要:第四章 系统调用的三层机制(上) 知识点总结: 系统调用 :系统调用是操作系统为用户态进程与硬件设备进行交互提供的一组接口。 系统调用的功能特性: 把用户从底层的硬件编程中解放出来; 极大地提高了系统的安全性; 使用户程序具有可移植性。 API:应用编程接口(application program 阅读全文
posted @ 2019-10-18 22:55 Ylxxxxx 阅读(347) 评论(1) 推荐(0)
摘要:第三章 MenuOs的构造 =============================================== 一.知识点总结 计算机的三大法宝: 存储程序计算机 函数调用堆栈 中断 操作系统的两把宝剑: 中断上下文的切换(保存现场和恢复现场) 进程上下文的切换 它们都和汇编语言有着密不 阅读全文
posted @ 2019-10-06 15:42 Ylxxxxx 阅读(181) 评论(0) 推荐(0)
摘要:第二章 操作系统是如何工作的 =============================================== 一.知识点总结 1.计算机的三个法宝 存储程序计算机 函数调用堆栈机制。堆栈:是C语言程序运行时必须使用的记录函数调用路径和参数存储的空间。 中断 2.堆栈相关的寄存器和堆栈 阅读全文
posted @ 2019-09-29 18:34 Ylxxxxx 阅读(214) 评论(0) 推荐(0)
摘要:一.知识点总结 1.冯诺依曼体系结构的要点: ①五大基本类型部件:运算器、控制器、存储器、输入设备、输出设备 ②用二进制来表示指令和数据 ③ 核心:存储程序计算机 2.常见的汇编指令 mov指令(l指32位,b指8位,w指16位,指64位) 把EAX寄存器的值压到堆栈栈顶 ,栈在增长 从堆栈栈顶取一 阅读全文
posted @ 2019-09-22 15:28 Ylxxxxx 阅读(249) 评论(0) 推荐(0)
摘要:1.问题:使用banner输出图形字符为什么都是大写? 2.实验二:基本概念及操作 作业:命令toilet和figlet的使用 使用如下命令安装 然后 运行结果如下图: toilet命令还可以添加颜色,如下命令 2.实验三:用户及权限管理 作业:添加一个用户 loutest,使用 sudo 创建文件 阅读全文
posted @ 2019-09-15 16:47 Ylxxxxx 阅读(248) 评论(1) 推荐(1)