Linux 内核空间&&用户空间 3
内核空间和用户空间 对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方)。也就是说一个进程的最大地址空间为 4G。操作系统的核心是内核(kernel),它独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为...
内核空间和用户空间 对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方)。也就是说一个进程的最大地址空间为 4G。操作系统的核心是内核(kernel),它独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为...
实体机 虚拟机 环境 kylin虚拟机 kylin基于ubuntu 所以ubuntu和debian可能都可以使用这个方法 忘记密码 root用户的密码忘记了是找不回的,只能想办法重置 后续文档记录了成功重置了root密码的过程 普通用户的密码忘记了,可以切到root用户下,按以下...
拉代码 开启VPN 用cmd设置 在某个位置创建文件夹 第一次拉代码用fetch breakpad 这是默认depot_tools已经下好了,并且环境变量也设置好了 遇到问题如下: 通过切分支解决 比如chrome_99 这个时候是第二次执行代码了,要用gclient sync ...
进程 本质 进程是资源分配的基本单位,是一个执行环境的容器 在Windows内核中,每个进程由一个EPROCESS(Executive Process)结构体表示 EPROCESS关键结构 进程地址空间 概述 每个进程拥有独立的虚拟地址空间(32位系统4GB,64位系统理论上25...
作业 概述 作业可以让我们将一组进程当作一个实体来处理。 Windows提供的作业(job)内核对象,允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。 我们可以创建一个只包含一个进程的作业,来对进程施加平时不能施加的限制。 只含一个进程的作业 这么做的目的是为了对...
两种高效的并发模式 并发编程的目的是让程序“同时”执行多个任务。 如果程序是计算密集型的,并发编程并没有优势,反而由于任务的切换使效率降低。 但如果程序是I/O密集型的,比如经常读写文件,访问数据库等,则情况就不同了。 由于I/O操作的速度远没有CPU计算速度快,所以让程序阻塞I...
Windows 安装 为了确定安装目标,在安装前后调用了get_reg_items get_reg_items 上买的Windows实现是通过枚举注册表 把几个目标路径的注册表存到一起 然后根据安装前后这些路径下的注册表的项数,来找出新增的那个 通过比较,确定新增项,然后记录下新...
示例dump分析:堆内存泄露 代码 分析步骤一 在程序启动时,先用下面命令查看堆的情况 !heap -s !heap -stat -h 1cb0000 分析步骤二 g 让程序跑一会儿 !heap -s 对比发现Commit多了128h !heap -stat -h 1cb0000...
pass 概述 一个 Pass 就是对 IR 做一次完整的遍历和处理 每个 Pass 专注于做一件事——分析代码的某个属性,或者对代码做某一种变换 每个 Pass 读取当前的 LLVM IR,做一种特定的处理,输出修改后的 IR 下一个 Pass 在上一个 Pass 的输出基础上...
调试器 关于调试器。 调试器类型 用户态调试器 内核态调试器 用户态调试器 查看调试目标的状态 线程、内存、寄存器以及进程空间中打开的内核对象等 修改调试目标的状态 实时调试 分析包含进程快照的转储文件 事后调试 调试工具 cdb.exe 字符界面 可以对windows用户态的内...
搜索当前分类