内核
如何获取 C#程序 内核态线程栈
## 一:背景 ### 1. 讲故事 在这么多的案例分析中,往往会发现一些案例是卡死在线程的内核态栈上,但拿过来的dump都是用户态模式下,所以无法看到内核态栈,这就比较麻烦,需要让朋友通过其他方式生成一个蓝屏的dump,这里我们简单汇总下。 ## 二:如何生成内核态dump ### 1. 案例代码 ......
驱动开发:内核实现SSDT挂钩与摘钩
在前面的文章`《驱动开发:内核解析PE结构导出表》`中我们封装了两个函数`KernelMapFile()`函数可用来读取内核文件,`GetAddressFromFunction()`函数可用来在导出表中寻找指定函数的导出地址,本章将以此为基础实现对特定`SSDT`函数的`Hook`挂钩操作,与`《驱... ......
特性和错误多到无法列出” 的新文件系统准备进入内核主线
导读 介绍一下特性和错误多到无法列出的问题。 Bcachefs 是一个写时复制(CoW)的文件系统,其源自于 Linux 内核的块缓存 Bcache。本周二,Bcachefs 的补丁集已正式递交审查,有望被纳入内核。开发者希望能提供类似 XFS/EXT4 的性能,以及类似 Btrfs 和 ZFS 的 ......
驱动开发:内核PE结构VA与FOA转换
本章将继续探索内核中解析PE文件的相关内容,PE文件中FOA与VA,RVA之间的转换也是很重要的,所谓的FOA是文件中的地址,VA则是内存装入后的虚拟地址,RVA是内存基址与当前地址的相对偏移,本章还是需要用到`《驱动开发:内核解析PE结构导出表》`中所封装的`KernelMapFile()`映射函... ......
手动更新内核到6.3.5
在家闲着没事,就试试手动更新内核版本,从5.19升级到6.3.5 一开始按照Sage Ai给出的方法,make install然后update-grub,然后总是不成功,更新完了就进入initramfs了,说是找不到UUID, 不启动了。 后来搜索到知乎上,需要先make modules_insta ......
驱动开发:内核解析PE结构节表
在笔者上一篇文章`《驱动开发:内核解析PE结构导出表》`介绍了如何解析内存导出表结构,本章将继续延申实现解析PE结构的PE头,PE节表等数据,总体而言内核中解析PE结构与应用层没什么不同,在上一篇文章中`LyShark`封装实现了`KernelMapFile()`内存映射函数,在之后的章节中这个函数... ......
linux 内核
1、内核的作用 Linux 内核是 Linux 操作系统的主要组件,也是计算机硬件与其进程之间的核心接口。它负责两者之间的通信,还要尽可能高效地管理资源。之所以称为内核,是因为它在操作系统中就像果实硬壳中的种子一样,并且控制着硬件的所有主要功能。内核的用途主要有以下 4 项工作: 内存管理:追踪记录 ......
内核mutex实现机制
# mutex mutex是内核中的互斥锁实现,本文对内核中的mutex机制进行了学习,在此记录一下。 ## mutex结构体和定义 ```c struct mutex { atomic_long_t owner; //mutex持有的task spinlock_t wait_lock; //wai ......
Linux内核调试方法
内核配置选项中要使能CONFIG_MAGIC_SYSRQ选项,这样系统启动之后,会生成/proc/sysrq-trigger节点用于调试。 其次,可以在/etc/sysctl.conf中设置kernel.sysrq=1默认使能sysq功能。也可以通过写/proc/sys/kernel/sysrq节点 ......
驱动开发:内核解析PE结构导出表
在笔者的上一篇文章`《驱动开发:内核特征码扫描PE代码段》`中`LyShark`带大家通过封装好的`LySharkToolsUtilKernelBase`函数实现了动态获取内核模块基址,并通过`ntimage.h`头文件中提供的系列函数解析了指定内核模块的`PE节表`参数,本章将继续延申这个话题,实... ......
《Linux内核设计与实现(第3版)》pdf版电子书免费下载
本书基于Linux 2.6.34内核详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。 本书主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时本书也涵盖了Linux 2.6内核中颇具 ......
什么时候会发生从用户态转到内核态(转)
原文: https://blog.csdn.net/HappySundlut/article/details/120191682 为什么要分用户态和内核态CPU将指令分为特权指令和非特权指令 对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令 特权指令— ......
RockyLinux9.2升级 kernel6.X 内核🧣
RockyLinux9.2升级内核🧣 elrepo官网:http://elrepo.org/tiki/HomePage ElRepo 是一个社区驱动的软件仓库,提供了一些额外的软件包和内核模块,特别是针对 Red Hat Enterprise Linux (RHEL) 和其基于衍生的发行版,如 C ......
驱动开发:内核读写内存浮点数
如前所述,在前几章内容中笔者简单介绍了`内存读写`的基本实现方式,这其中包括了`CR3切换`读写,`MDL映射`读写,`内存拷贝`读写,本章将在如前所述的读写函数进一步封装,并以此来实现驱动读写内存浮点数的目的。内存`浮点数`的读写依赖于`读写内存字节`的实现,因为浮点数本质上也可以看作是一个字节集... ......
如何修改notebook内核对应的python地址
要修改Jupyter Notebook内核对应的Python地址,可以按照以下步骤进行: 打开终端或命令提示符。 列出当前可用的Jupyter Notebook内核。运行以下命令:jupyter kernelspec list,这将列出已安装的内核及其位置。 找到您想要修改的内核对应的配置文件。在上 ......
驱动开发:内核解析内存四级页表
当今操作系统普遍采用64位架构,CPU最大寻址能力虽然达到了64位,但其实仅仅只是用到了48位进行寻址,其内存管理采用了`9-9-9-9-12`的分页模式,`9-9-9-9-12`分页表示物理地址拥有四级页表,微软将这四级依次命名为PXE、PPE、PDE、PTE这四项。关于内存管理和分页模式,不同的... ......
浅探荀子性“恶”伦理观的理论内核
[摘要)荀子立足于现实的利益关系,挖掘“性”、“伪”关系矛盾展开其伦理思想。于是人性与礼义道德之间构成一对矛盾体:道德总是基于人性并不断验证人性恶的存在;人性总是背离道德又不断服从道德,实现对恶的超越。接着他提出“众人之伪”的道德层次论,实现“性”与“伪”的统一:“无性则伪之无所加,无伪则性不能自美 ......
k8s中,怎么修改pod的内核参数?
对于docker容器,可以在run的时候,指定--sysctl 和对应的内核参数 那么,对于pod该如何进行修改? 接下来的内容,将会告诉你,如何进行修改 方法非常的简单...... 通过initContainer 示例如下: 1、编辑deployment文件 kubectl edit deploy ......
centos7升级内核到5.4
centos7升级内核到5.4 一、yum的方式升级 1、查看当前内核版本 # uname -sr Linux 3.10.0-1160.el7.x86_64 2、安装elrepo载入公钥,安装eprepo源(网址:http://elrepo.org/) # rpm --import https:// ......
怎么修改docker容器中使用的内核参数?
怎么样修改容器使用的内核参数? 通过下面的实验,你将知道,如何对容器使用的内核参数进行调整 1、背景信息 操作系统的内核参数 net.ipv4.ip_forward = 1 [root@centos7 ~]# sysctl -a | grep ip_forward sysctl: reading k ......
Ubuntu安装/切换内核
## 查看当前已安装的内核 ``` $ sudo dpkg --get-selections |grep linux-image linux-image-5.15.0-71-generic install linux-image-5.15.0-72-generic install linux-ima ......
驱动开发:内核实现进程汇编与反汇编
在笔者上一篇文章`《驱动开发:内核MDL读写进程内存》`简单介绍了如何通过MDL映射的方式实现进程读写操作,本章将通过如上案例实现远程进程反汇编功能,此类功能也是ARK工具中最常见的功能之一,通常此类功能的实现分为两部分,内核部分只负责读写字节集,应用层部分则配合反汇编引擎对字节集进行解码,此处我们... ......
linux内核升级
linux内核升级 所有节点升级系统并重启(线上环境必须升级) ``` yum update -y --exclude=kernel* wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.19.12-1. ......
关于内存配置相关内核参数的再学习
# 关于内存配置相关内核参数的再学习 ## 摘要 ``` 上周一台192G内存的跑着重型拆分微服务的服务器宕机了. 服务器上面还有一套30个pdb的Oracle数据库. 实际原因是因为内存耗尽. 导致机器无响应. 控制台没有任何反馈. 没办法的情况下进行了重启操作. 当时没有进行彻查. 今天有同事反 ......
uboot核内核启动流程
# bootloader 启动流程和功能说明 ## bootloader 基本功能说明 + 有的程序在启动bootloader之前会运行一段 `固化程序` + bootloader 启动过程分单阶段和多阶段 + 多阶段可以提供更复杂的功能和更好的移植性 + 一般从固态存储设备启动分两个阶段 ### ......
【DSP视频教程】DSP视频教程第12期:TI开源分享IQmath DSP源码,适用于所有Cortex-M内核,本期教程做个手把手移植 (2022-05-22)
视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 今年TI推出MSPM0系列产品配套的SDK软件包里面将此库开源了,之前的时候也移植过IQmatb,不过只有库版本,这次竟然开源了,确实是不可多得的好资源。 这个是定点库 ......
Linux内核中的软中断、tasklet和工作队列详解
本文主要介绍Linux内核中的软中断、tasklet和工作队列详解: 首先,先介绍一下中断上下文以及进程上下文: 所谓上下文就是中断或进程发生时前后的环境。中断上下文就是当中断产生后,将中断前的参数或函数入口等参数保存到临时寄存器中,也就是我们常说的保护现场或中断上文,然后进入中断向量表中查找跳转或 ......
4.内核及启动流程和systemd及awk
总结内核设计流派及特点宏内核(monolithic kernel):又称单内核和强内核,unix,Linux吧所有系统服务都放在内核里,所有功能集成于同一个程序,分层实现不同功能。其实Linux在单内核实现了模块化,也就相当于吸收了微内核的优点微内核(micro kernel):windows,So ......
数据库内核:使用Git管理代码
# 安装Git ```shell root@postgresqlunbuntu:/# sudo apt update root@postgresqlunbuntu:/# sudo apt install git # 验证是否安装成功 root@postgresqlunbuntu:/# git --v ......