内核rockylinux9 rockylinux kernel6
linux内核网络源码学习(一)
代码一 linux/include/net/tcp.h #define TCP_SKB_CB(__skb) ((struct tcp_skb_cb *)&((__skb)->cb[0])) 这段代码是一个宏定义,用于将一个struct sk_buff结构中的成员cb转换为struct tcp_skb ......
通过IOCTL 进行内核态与用户态交互
#include <linux/init.h> #include <linux/printk.h> #include <linux/module.h> #include <linux/miscdevice.h> #include <linux/fs.h> #include <asm/uaccess. ......
Linux----内核运行
内核运行的过程 启动阶段: 当计算机启动时,通常从硬盘、固态硬盘或其他存储设备中加载引导加载程序(Boot Loader)的第一部分。这个引导加载程序负责加载操作系统内核。 加载内核: 引导加载程序会从存储设备中加载操作系统内核的镜像文件,通常是一个称为vmlinuxz或bzImage的文件。这个内 ......
Uboot到底如何启动内核
原文:https://blog.51cto.com/weidongshan/6611537 1.uboot启动内核的代码缩减如下: Uboot 1.16/lib_arm/board.c中start_armboot()函数调用/common/main.c中main_loop()函数,在main_loo ......
Linux内核Makefile系统文件详解
Makefile Linux内核的Makefile系统非常复杂,因为内核包含了许多不同的配置选项、架构和模块。以下是Linux内核Makefile系统中一些重要的文件和目录,以及它的作用。 顶层Makefile(Makefile) 顶层Makefile是整个内核编译过程的入口点 它包含了全局选置选项 ......
04步:编译Linux内核镜像
原文:https://www.zhaixue.cc/qemu/qemu-build_kernel.html Linux内核源码可以从官网下载(www.kernel.org),也可以从国内的镜像服务器下载,下载速度更快。国内镜像下载地址: https://mirrors.tuna.tsinghua.e ......
Linux内核裁剪移植
目录前奏内核移植步骤制作可引导的Linux ISO文件对新机器配置网络 前奏 rambo@debian:~$ cat /etc/issue Debian GNU/Linux 12 \n \l rambo@debian:~$ free -h total used free shared buff/ca ......
crash —— 获取内核地址布局、页大小、以及栈布局
crash> mach MACHINE TYPE: x86_64 MEMORY SIZE: 766.5 GB CPUS: 96 PROCESSOR SPEED: 2200 Mhz HZ: 250 PAGE SIZE: 4096 KERNEL VIRTUAL BASE: ffff88800000000 ......
crash —— 内核符号和地址直接相互转换
通过sym可以将内核地址转换成内核符号,或者将内核符号转换成内核地址。 根据地址转换为符号 函数地址 crash> sym ffffffff8166f300 ffffffff8166f300 (T) blk_update_request+16 /home/pengdl/x86_64/linux-6. ......
crash —— 获取所有内核符号
查看所有的内核符号以及地址 crash> sym -l 0 (D) __per_cpu_start 0 (D) irq_stack_union 4000 (D) cpu_debug_store 5000 (D) cpu_tss_rw 8000 (D) gdt_page 9000 (d) except ......
浏览器内核和js引擎
浏览器内核是什么? 简而言之,浏览器内核就是把我们编写的代码转换为页面的中控件。虽然现在大家谈起浏览器内核时,多指代渲染引擎(Rendering engine 或 layout engineer)。但其实浏览器内核包括了两部分,渲染引擎和JS引擎,只是后来JS引擎用的越来越多所以就单独的把JS引擎拿 ......
crash —— 查看内核配置
在编译内核时如果配置了CONFIG_IKCONFIG,那么内核配置文件会被内嵌到内核中,那么可以通过crash工具将其输出出来。 crash> sys config # # Automatically generated file; DO NOT EDIT. # Linux/x86 4.18.0 K ......
如果快速确定用户态操作某个节点的内核执行流?
作者 pengdonglin137@163.com 背景 内核在/proc、/sys下面提供了大量的控制文件,可以获取内核某个子系统的状态或者控制内核的执行流,有时我们需要快速确认操作某个节点时的执行流,那么怎么做呢? 做法 最适合做这个就是ftrace提供的function graph跟踪器,在6 ......
Tomcat的优化(分别为操作系统优化(内核参数优化),Tomcat配置文件参数优化,Java虚拟机(JVM)调优)
Tomcat的优化 一、Tomcat 优化 Tomcat 配置文件参数优化 二、系统内核优化 三、Tomcat 配置 JVM 参数: 参数含义一、Tomcat 优化Tomcat默认安装下的缺省配置并不适合生产环境,它可能会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化 ......
Linux内核信号量(semaphore)使用与源码分析
https://blog.csdn.net/Auris/article/details/107404962 一. 在Linux内核驱动中使用信号量(semaphore)常规操作步骤: [0]. 定义信号量结构体变量; struct semaphore sem; [1]. 初始化信号量变量 void ......
是因为不同的浏览器内核吗--Could not register service workers到底是怎么回事
什么是浏览器内核 浏览器内核(Rendering Engine),是浏览器最核心的部分。 它负责处理网页的HTML、CSS、JavaScript等代码,并将其转化为可视化的网页内容。即我们常说的对网页的语法进行解释并渲染(显示)网页。 不同的浏览器内核对用于网页编写的语法的解释也有不同,因此同一网页 ......
Linux CentOS7.9 升级到最新内核
导入 elrepo 仓库 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm # ke ......
从内核世界透视 mmap 内存映射的本质(原理篇)
本文基于内核 5.4 版本源码讨论 之前有不少读者给笔者留言,希望笔者写一篇文章介绍下 mmap 内存映射相关的知识体系,之所以迟迟没有动笔,是因为 mmap 这个系统调用看上去简单,实际上并不简单,可以说是非常复杂的一个系统调用。 如果想要给大家把 mmap 背后的技术本质,正确地,清晰地还原出来 ......
linux系统和内核
linux操作系统是将linux内核进行扩展,安装一些开发包和常用工具 linux内核只提供了硬件抽象层、硬盘以及文件系统控制的核心程序 linux系统会在内核的基础上加入了用户界面和各种软件的支持 查看linux系统: cat /etc/redhat-release 查看内核:uname -a ......
Lab1:Linux内核编译及添加系统调用(详细版)
实验一:Linux内核编译及添加系统调用(HDU) 花了一上午的时间来写这个,良心制作,发现自己刚学的时候没有找到很详细的,就是泛泛的说了下细节地方也没有,于是自己写了这个,有点长,如果你认真的看完了,也应该是懂了。 一、前期准备工作 需要准备虚拟机上安装Ubuntu,笔者安装的是Ubuntu18. ......
《深入LINUX内核架构》学习笔记 ——01
模块相关的知识 1. 模块相较于宏内核(微内核优点) 模块消除了宏内核的许多限制,包括:缺乏动态可拓展性、导致内核映像尺寸膨胀、测试新特性时必须重启系统等。 2. 静态链接、动态链接及模块依赖(TIPS) 《深入理解计算机系统》中有这样一段话: 共享库是一个目标模块,在运行或加载时,可以加载到任意的 ......
Linux内核之堆溢出的利用
用户进程会通过malloc等函数进行动态内存分配相应的内核也有一套动态的内存分配机制。该项目在执行read模块时会从内核堆地址中拷贝信息到用户空间中去,但是这里的拷贝没有对长度做限制,因此存在着越界读的漏洞。 ......
Linux 内核 6.5 发布,首次支持 Wi-Fi 7 和 USB4
导读 Linux 6.5 内核 已经推出,此次更新在 Linux 6.4 内核的基础上进行了进一步的开发,带来了值得注意的改变和新特性。 Linus Torvalds 表示,这是一次相对顺畅的发布: 上周并没有发生任何异常或惊人的事情,因此没有理由延迟 6.5 版的发布。 我仍有这样一个担忧,似乎是 ......
【深度学习】修改jupyter记事本的内核
问题描述 在使用 juypter 记事本执行 ipynb 文件时,默认使用的内核是 Python3 如果这个环境不包含我们所使用的库,比如 pytorch 的库,当我们的代码中调用 pytorch 的一些库方法时,如下面的代码: import torch 此时执行就会报错,会提示找不到对应的模块: ......
Edge浏览器没有让我失望! 今天终于可以在win10中模拟IE内核进行前端测试了,以后就用它了!
🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注 前言 😝 ietest现在是不是不好用了? Edge浏览器仿真是不是不见了? 如图 如果我们 ......
Linux内核体系结构
说明 本章首先概要介绍了Linux内核的编制模式和体系结构,然后详细描述了Linux内核源代码目录中组织形式以及子目录中各个代码文件的主要功能以及基本调用的层次关系。接下来就直接切入正题,从内核源文件Linux/目录下的第一个文件Makefile开始,对每一行代码进行详细注释说明。本章内容是对内核源 ......
用 kGDB 调试 Linux 内核
1 简介 这个文档记录了用 kGDB 调试 Linux 内核的全过程,都是在前人工作基础上的一些总结。以下操作都是基于特定板子来进行,但是大部分都能应用于其他平台。 要使用 KGDB 来调试内核,首先需要修改 config 配置文件,打开相应的配置,配置内核启动参数,甚至修改串口驱动添加 poll ......
ebpf-使用内核编译开发一个程序(ubuntu20.04)
前不久正好工作中使用到了这个方面的知识,这里写一下我的总结 我对ebpf的理解 ebpf(extended Berkeley Packet Filter)是一种虚拟机,通常我们使用的vmware是一种大型的虚拟机,vmware里面可以模拟cpu、显卡、网卡、硬盘等硬件,而ebpf这种的虚拟机是只模拟 ......
PHP7内核实现原理-词法和语法分析
词法分析使用正则表达式识别出 Token,语法分析使用 BNF 范式识别出 Token 间的层次组合关系。 ### **词法分析** 词法分析主要目的是从源代码中识别出一个个的 Token,一般使用正则表达式来识别 Token ``` LNUM [0-9]+ DNUM ([0-9]*"."[0-9] ......