内核

内核启动阶段获得dtb位置指针过程

###一.内核启动阶段获得dtb位置指针 以**arm64**为例,内核启动如下:/arch/arm64/kernel/head.S ```c __HEAD _head: /* * DO NOT MODIFY. Image header expected by Linux boot-loaders. ......
指针 内核 阶段 位置 过程

linux内核八股

面试必备(背)-Linux八股文系列!-腾讯云开发者社区-腾讯云 (tencent.com) 【面试-八股文】Linux 万字总结,助你吊打面试官系列 - 知乎 (zhihu.com) (122条消息) Linux操作系统(八股文篇)_栋哥爱做饭的博客-CSDN博客 深入理解Linux Kernel ......
八股 内核 linux

数据库内核:PostgreSQL 架构

# PostgreSQL 的架构 > 客户端/服务器架构: ![Client:server architecture](https://img2023.cnblogs.com/blog/2306858/202306/2306858-20230617224051150-773845544.png) * ......
内核 PostgreSQL 架构 数据库 数据

Linux启动时间优化-内核和用户空间启动优化实践

启动时间的优化,分为两大部分,分别是内核部分和用户空间两大部分。 从内核timestamp 0.000000作为内核启动起点,到free\_initmem()输出"Freeing init memory"作为内核启动的终点。 借助于bootgraph.py对内核的kmsg进行分析,输出bootgra ......
内核 时间 用户 Linux 空间

《安富莱嵌入式周报》第315期:开源USB高速分析仪,8GHz示波器开发, 600行C编写RISC-V内核,英特尔推出用于开发人员等宽字体,便携物联网监测器

周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版: https://www.bilibili.com/video/BV1gV4y117UD/ 1、开源USB2.0高速分 ......
监测器 示波器 分析仪 周报 内核

驱动开发:内核RIP劫持实现DLL注入

本章将探索内核级DLL模块注入实现原理,DLL模块注入在应用层中通常会使用`CreateRemoteThread`直接开启远程线程执行即可,驱动级别的注入有多种实现原理,而其中最简单的一种实现方式则是通过劫持EIP的方式实现,其实现原理可总结为,挂起目标进程,停止目标进程EIP的变换,在目标进程开启... ......
内核 RIP DLL

【回调详解】内核回调的详细图解【未完成】

1、进程回调 进程回调是内核下的全局变量,存放到PspCreateProcessNotifyRoutine中,该变量是个数组;该数组中已经存放函数的具体个数,则存放到全局变量PspCreateProcessNotifyRoutineCount中。 PspCreateProcessNotifyRout ......
内核

驱动开发:内核解锁与强删文件

在某些时候我们的系统中会出现一些无法被正常删除的文件,如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉,而所谓的解锁其实就是释放掉文件描述符(句柄表)占用,文件解锁的核心原理是通过调用`ObSetHandleAttributes`函数将特定句柄设置为可关闭状态,然后在调用`ZwClose`将其... ......
内核 文件

驱动开发:内核ShellCode线程注入

还记得`《驱动开发:内核LoadLibrary实现DLL注入》`中所使用的注入技术吗,我们通过`RtlCreateUserThread`函数调用实现了注入DLL到应用层并执行,本章将继续探索一个简单的问题,如何注入`ShellCode`代码实现反弹Shell,这里需要注意一般情况下`RtlCreat... ......
线程 内核 ShellCode

【操作系统】【系统结构】Linux 内核 vs Windows 内核

1 前言 Windows 和 Linux 可以说是我们比较常见的两款操作系统的。 Windows 基本占领了电脑时代的市场,商业上取得了很大成就,但是它并不开源,所以要想接触源码得加入 Windows 的开发团队中。 对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可 ......
内核 系统 Windows 结构 Linux

S3C2440内核蜂鸣器驱动解读

# S3C2440内核函数 首先介绍需要的一些头文件的位置 linux-2.6.32.内核重要文件目录: linux-2.6.32.2/arch/arm/mach-s3c2410/include/mach/regs-gpio.h linux-2.6.32.2/arch/arm/plat-s3c24x ......
蜂鸣器 内核 S3C2440 C2440 2440

Linux内核期末复习

1、P22-25 2、P36、P165 ret指令的作用: 进程切换时用什么函数 _switch_to_函数如何理解 怎么实现 3、gcc、gdb命令 gdb 堆栈汇编典型示例: 反汇编指令: 4、内嵌汇编(10号系统调用) #include <stdio.h> int main() { long ......
内核 Linux

驱动开发:内核LoadLibrary实现DLL注入

远程线程注入是最常用的一种注入技术,在应用层注入是通过`CreateRemoteThread`这个函数实现的,通过该函数通过创建线程并调用 `LoadLibrary` 动态载入指定的DLL来实现注入,而在内核层同样存在一个类似的内核函数`RtlCreateUserThread`,但需要注意的是此函数... ......
内核 LoadLibrary DLL

centos7 内核 kernel-devel-3.10.0-957.el7.x86_64

centos7 内核 kernel-devel-3.10.0-957.el7.x86_64 https://people.centos.org/arrfab/shim/results/kernel/20181108233701/3.10.0-957.el7.x86_64/ ......
内核 kernel-devel centos7 centos kernel

字符设备驱动-9.内核定时器

#1 引入定时器 前面的[gpio按键驱动](https://www.cnblogs.com/fuzidage/p/17438371.html "gpio按键驱动") 引入了中断,当按键按下会记录按键信息,理想状况是按下一次按键记录一组数据,但实际上按下机械振动导致电平反复跳动最后才稳定,按下一次g ......
设备驱动 定时器 内核 字符 设备

驱动开发:内核遍历文件或目录

在笔者前一篇文章`《驱动开发:内核文件读写系列函数》`简单的介绍了内核中如何对文件进行基本的读写操作,本章我们将实现内核下遍历文件或目录这一功能,该功能的实现需要依赖于`ZwQueryDirectoryFile`这个内核API函数来实现,该函数可返回给定文件句柄指定的目录中文件的各种信息,此类信息会... ......
内核 文件 目录

RISCV Ubuntu Linux内核更换

# 交叉编译内核 ```sh #!/bin/bash # LINUXSRC=/root/linux export LINUXSRC=/keystone/linux export OUTPUT=/keystone/build/linux.build #export CONFIG=/keystone/c ......
内核 Ubuntu RISCV Linux

linux 内核版本

截止支持时间CentOSversion Releasedate Fullupdates[40][41] Maintenanceupdates[40][41]3 2004-03-19 2006-07-20 2010-10-31 [42]4 2005-03-09 2009-03-31 2012-02-2 ......
内核 版本 linux

linux 内存管理之内核分页机制(PAGING_INIT)初始化

TEXT_OFFSET = 0x00008000 KERNEL_OFFSET = 0x80000000 PG_DIR_SIZE = 0x4000 kernel 代码起始链接地址如下: PHYS_OFFSET = 0x80000000 r10 指向 proc_info_list 结构体类型数据 __c ......
内核 PAGING_INIT 机制 内存 PAGING

Docker安装Jenkins报错后升级Centos7升级内核

很久没碰docker了,昨晚在虚拟机上用docker pull jenkinsci/blueocean安装Jenkins启动报如下错误: java.net.UnknownHostException: updates.jenkins.io 最后发现容器ping docker0都是不通的,尴尬,想想应该 ......
内核 Centos7 Jenkins Docker Centos

Linux内核之 printk 打印

前言 printk 在内核源码中用来记录日志信息的函数,只能在内核源码范围内使用,用法类似于 printf 函数。 printk 函数主要做两件事情: 1. 将信息记录到 log 中; 2. 调用控制台驱动来将信息输出。 一、printk 介绍 printk 将内核信息输出到内核信息缓冲区中,内核缓 ......
内核 printk Linux

驱动开发:内核文件读写系列函数

在应用层下的文件操作只需要调用微软应用层下的`API`函数及`C库`标准函数即可,而如果在内核中读写文件则应用层的API显然是无法被使用的,内核层需要使用内核专有API,某些应用层下的API只需要增加Zw开头即可在内核中使用,例如本章要讲解的文件与目录操作相关函数,多数ARK反内核工具都具有对文件的... ......
内核 函数 文件

详解驱动开发中内核PE结构VA与FOA转换

摘要:本文将探索内核中解析PE文件的相关内容。 本文分享自华为云社区《驱动开发:内核PE结构VA与FOA转换》,作者: LyShark 。 本章将探索内核中解析PE文件的相关内容,PE文件中FOA与VA、RVA之间的转换也是很重要的,所谓的FOA是文件中的地址,VA则是内存装入后的虚拟地址,RVA是 ......
内核 结构 FOA

驱动开发:内核封装WFP防火墙入门

WFP框架是微软推出来替代TDIHOOK传输层驱动接口网络通信的方案,其默认被设计为分层结构,该框架分别提供了用户态与内核态相同的AIP函数,在两种模式下均可以开发防火墙产品,以下代码我实现了一个简单的驱动过滤防火墙。WFP 框架分为两大层次模块,用户态基础过滤引擎`BFE (BaseFilteri... ......
内核 防火墙 WFP

linux内核编程语言环境

##3.1as86汇编器 在Linux0.1x系统中使用了两种汇编器(Assembler)。一种是能产生16位代码的as86汇编器,使用配套的ld86链接器;另一种GNU的汇编器gas(as),使用GNU ld 链接器来链接产生的目标文件。 as86+ld86是由MINIX-386的主要开发者之一B ......
编程语言 内核 语言 环境 linux

linux操作系统内核简介

为啥要对服务端进行监控分析? jmeter监控,如果tps低,响应时间长,能不能发现瓶颈在哪?不能 压力断的重要性:看性能衰减 1.linux操作系统内核简介 linux内核作用: 与计算机硬件进行交互,实现对硬件部件的编程控制和接口操作,调度对硬件资源的访问 为计算机上的用户程序提供一个高级的执行 ......
内核 简介 系统 linux

维护嵌入式 Linux 内核——So Easy

Pengutronix 内核黑客 Jan Lübbe 总结了嵌入式 Linux 中正在不断增长的安全威胁,并在这次欧洲嵌入式 Linux 会议上概述了一个计划,以保持长期设备的安全和功能完整。 安全漏洞只发生在 Windows 上的好日子正在快速过去。恶意软件黑客和拒绝服务老手们正在越来越多地瞄准过 ......
内核 嵌入式 Linux Easy

维护嵌入式 Linux 内核——So Easy

Pengutronix 内核黑客 Jan Lübbe 总结了嵌入式 Linux 中正在不断增长的安全威胁,并在这次欧洲嵌入式 Linux 会议上概述了一个计划,以保持长期设备的安全和功能完整。 安全漏洞只发生在 Windows 上的好日子正在快速过去。恶意软件黑客和拒绝服务老手们正在越来越多地瞄准过 ......
内核 嵌入式 Linux Easy

维护嵌入式 Linux 内核——So Easy

Pengutronix 内核黑客 Jan Lübbe 总结了嵌入式 Linux 中正在不断增长的安全威胁,并在这次欧洲嵌入式 Linux 会议上概述了一个计划,以保持长期设备的安全和功能完整。 安全漏洞只发生在 Windows 上的好日子正在快速过去。恶意软件黑客和拒绝服务老手们正在越来越多地瞄准过 ......
内核 嵌入式 Linux Easy

驱动开发:内核扫描SSDT挂钩状态

在笔者上一篇文章`《驱动开发:内核实现SSDT挂钩与摘钩》`中介绍了如何对`SSDT`函数进行`Hook`挂钩与摘钩的,本章将继续实现一个新功能,如何`检测SSDT`函数是否挂钩,要实现检测`挂钩状态`有两种方式,第一种方式则是类似于`《驱动开发:摘除InlineHook内核钩子》`文章中所演示的通... ......
内核 状态 SSDT