内核2400 jz

从内核世界透视 mmap 内存映射的本质(源码实现篇)

本文基于内核 5.4 版本源码讨论 通过上篇文章 《从内核世界透视 mmap 内存映射的本质(原理篇)》的介绍,我们现在已经非常清楚了 mmap 背后的映射原理以及它的使用方法,其核心就是在进程虚拟内存空间中分配一段虚拟内存出来,然后将这段虚拟内存与磁盘文件映射起来,整个 mmap 系统调用就结束了 ......
内核 源码 本质 内存 世界

【转】内核的时间函数

因为需要在kernel tee driver中做个获取时间的测试,才有了这次搜索。 这篇比较符合需求:https://www.dingmos.com/index.php/archives/38/,感谢这位博主! 问题分析中看到的一些点: auth_token_table.h中获取时间: explic ......
内核 函数 时间

linux 内核五大模块:网络通信

网络通信 网络通信是一种把不同计算机或网络设备连接到一起的技术,本质上是跨系统的进程间通信,必须要通过网络(硬件)才能进行。随着高并发、分布式、云计算、微服务等技术的普及,网络的性能也变得越来越重要。 一、网络模型 1.1 OSI模型 为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流 ......
网络通信 内核 模块 linux 网络

linux 内核五大模块

linux linux内核五大模块:进程调度、进程通信、内存管理、文件管理、网络通信 进程调度 进程是linux系统资源分配的基本单位,并采用动态优先级的进程高级算法,保证各个进程使用处理机的合理性。进程调度模块主要是对进程使用的处理机进行管理和控制。 【进程创建】: 在Linux环境编程时,一般采 ......
内核 模块 linux

Linux------微内核和宏内核以及混合型内核

宏内核(Monolithic Kernel) 单一内核,宏内核将大多数操作系统功能集成在一个单一的内核中。 性能:由于所有的功能都在内核空间运行,所以宏内核通常具有较高的性能,因为它可以直接访问内核数据结构和函数 复杂性:宏内核的复杂性较高,容易导致内核变的庞大和难以维护。 Linux、Harmon ......
内核 混合型 Linux

内核态内存的正确使用方法

前言 看完了伙伴系统的设计、slab分配器的设计、vmalloc、kmalloc这些内容对于内存管理的一些细节上好像比较清楚了,但是内核是如何使用内存的还是有一些混淆。也产生了一些疑问,在内核中内存的正确打开方式是什么呢? 内核地址空间划分 首先我们需要搞情况内核的地址空间,不同地址空间的内存的使用 ......
内核 使用方法 内存 方法

AP2400 LED电源驱动 降压恒流IC 机场灯 指示灯 交通照明灯

产品描述 AP2400 是一款 PWM 工作模式,高效率、外围简单、外驱功率管,适用于 5-100V输入的高精度降压 LED 恒流驱动芯片。外驱 MOS,最大输出电流可达 6A。AP2400 可实现三段功能切换,通过MODE1/2/3 切换三种功能模式:全亮,半亮,爆闪,全亮/半亮/爆闪循环模式。A ......
照明灯 指示灯 指示 照明 机场

linux内核升级和内核源码编译

一、ubuntu通过命令安装内核版本 1、检查原系统内核版本 uname -r 2、搜索可用linux内核版本 apt-cache search linux| grep linux-headers 3、 通过apt命令安装内核 apt-get install linux-headers-5.4.0- ......
内核 源码 linux

PHP内核的学习--创建PHP扩展

开始看PHP内核也有一段时间了,现在开始边学边总结,今天就总结一下如何创建自己的PHP扩展。 我的环境如下: 系统:Ubuntu 14.04 php版本:5.5.19 参考摘录:用C/C++扩展你的PHP PHP取得成功的一个主要原因之一是它拥有大量的可用扩展。web开发者无论有何种需求,这种需求最 ......
内核 PHP

编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

[10:03:38 root@centos8 ~]#cat systeminfo.sh#!/bin/bash​# # Copyright (C) 2021 IEucd Inc. All rights reserved.## 文件名称:systeminfo.sh# 创 建 者:TanLiang# 创建 ......
大小 主机 版本 系统 内核

Resctrl内核实现(二)CLOSID和RMID管理

前言 RDT的监控数据累计和资源分配策略的关键就是CLOSID和RMID的分配策略。 CLOSID和RMID管理 CLOSID管理 RDT中的资源通过控制组进行分配,控制组对于各类资源进行划分或者限制。每一个控制组用一个CLOSID进行标识,由于CLOSID的数量有限所以在内核中通过一个位图进行表示 ......
内核 Resctrl CLOSID RMID

linux 内核源码

linux官网:https://www.kernel.org/ 1、第一列为版本描述:主线、稳定版、长期支持版;第二列为内核版本号;第三列为最后更新时间; 2、tarball:完整的代码;pgp:验证签名;patch:基于上一个版本的补丁(一般商用的系统不会频繁的编译内核,所以可以打补丁上去方便) ......
内核 源码 linux

Resctrl内核实现(一)CPU状态

Resctrl内核实现(一)CPU状态 resctrl是rdt机制的一个用户态接口,通过对rdt技术进行封装,提供了一套资源分配和监控机制的接口,方便用户进行使用。本文从resctrl的资源分配和监控的角度对内核源码实现进行了分析,参考的kernel版本为4.19.287。 Resctrl下的CPU ......
内核 状态 Resctrl CPU

Resctrl内核实现(三)GROUP的创建

前言 在(一)我们已经清楚了Resctrl中RMID和CLOSID的切换规则是怎样的。 在(二)中对内核中的CLOSID和RMID的分配、释放过程进行了详细解读。 在后续的章节将会对Resctrl文件系统中重要的文件操作触发的内核行为进行解读。本章将对Resctrl中的建组操作进行分析。 rdt g ......
内核 Resctrl GROUP

Resctrl内核实现(六)监控事件的记录

Resctrl内核实现(六)监控事件的记录 RDT出了提供资源的分配能力外,还提供了对llc和内存带宽等资源的监控能力,用于系统的争抢检测进行性能优化,在resctrl文件系统中监控的数据放在mon_data目录下。 监控事件的记录 内核代码主要在/arch/x86/kernel/cpu/intel ......
内核 Resctrl 事件

Resctrl内核实现(四)schemata和cpus

前言 在Resctrl中可编程的文件主要有两个,schemata指定资源分配策略,cpus则为cpu绑定default_closid和default_rmid。 修改cpus文件 cpus文件按照所处目录的类型不同有两种操作,当所处目录类型为CTRL-MON group时会调用cpus_ctrl_w ......
内核 schemata Resctrl cpus

Resctrl内核实现(五)在group之间迁移task

Resctrl内核实现(五)在group之间迁移task task的写入会导致task绑定的CLOSID和RMID改变,本文对Resctrl中task的迁移过程进行了分析。 在CTRL-MON group、MON group之间移动task 对tasks的写操作会触发rdtgroup_move_ta ......
内核 之间 Resctrl group task

Linux 内核 --- 为什么在中断里不能 sleep

明确问题 首先,让我们明确一下问题。 对于这个问题,稍微准确一点的问法是:为什么在 Linux 的中断里,不能 sleep? 但是这个问法仍然不准确。 中断 (interrupt) 和中断服务程序 (interrupt service routine, ISR,或者是 interrupt handl ......
内核 Linux sleep

FreeRTOS在Cortex-M系列内核中遇到的关于系统滴答中断的问题

众所周知,在Cortex-M内核中,系统节拍由Systick时钟提供,当配置好系统滴答时钟后,每次时钟中断就会触发中断处理函数 xPortSysTickHandler(), void xPortSysTickHandler( void ) { /* The SysTick runs at the l ......
内核 FreeRTOS Cortex-M Cortex 问题

FreeRTOS在Cortex-M系列内核中遇到的关于系统滴答中断的问题

众所周知,在Cortex-M内核中,系统节拍由Systick时钟提供,当配置好系统滴答时钟后,每次时钟中断就会触发中断处理函数 xPortSysTickHandler(), void xPortSysTickHandler( void ) { /* The SysTick runs at the l ......
内核 FreeRTOS Cortex-M Cortex 问题

linux 内核 --- 中断子系统

ARM芯片有硬件中断号,比如0~15是SGI中断 linux内核规定了软件中断号及软件中断号的功能;不直接使用ARM芯片的硬件中断号是因为linux内核是适配多架构操作系统,比如有些芯片硬件中断号20是GPIO中断,有些芯片是25;linux统一规定了某个中断号对应GPIO中断。这样就存在硬件中断号 ......
子系统 内核 linux

linux内核网络源码学习(二)

为什么要使用skb_reserve函数把边界对齐 skb_reserve 函数通常用于网络编程中的数据包处理,特别是在构建自定义协议栈或数据包处理模块时。它的作用是为数据包的头部预留额外的空间,以确保数据包的头部数据在内存中是对齐的。 边界对齐的概念是因为许多硬件平台和网络协议要求数据包头的字节对齐 ......
内核 源码 linux 网络

02-JZ4 二维数组中的查找

我的 想法: 暴力:按行遍历,比较 O(m*n) 折半:行折半查找;有n行,折半n次 O(nlgn) 问题: 不满足时间复杂度O(m+n) 正确 思路: 左下角开始比较 arr[i][0]>target--往小找,往上走,i--; arr[i][0]<target--往大找,往右走,j++; arr ......
数组 JZ4 02 JZ

权限提升-Windows内核提权

权限提升-Windows内核提权 目录权限提升-Windows内核提权本节知识点系统内核溢出漏洞提权概述内核溢出提权步骤补丁对比法1.手动查找系统补丁2.对比查找系统潜在漏洞项目一:Windows Exploit Suggester项目二.WindowsVulnScan项目三 wesng3.提权大集 ......
内核 权限 Windows

操作系统内核漫游

操作系统内核漫游(前传) 此文记录操作系统自底向上如何运行。因为学校的教学中大多数直接开始教操作系统中的很多算法(至少我是如此),导致我学完之后依然不知道他在整个计算机中的身份地位,也并不清楚他如何与计组以及汇编、C语言之间的关联。此笔记算是学习学校所谓的操作系统的感性的前置(前传)知识吧。感性是因 ......
内核 系统

如何获取 C#程序 内核态线程栈

一:背景 1. 讲故事 在这么多的案例分析中,往往会发现一些案例是卡死在线程的内核态栈上,但拿过来的dump都是用户态模式下,所以无法看到内核态栈,这就比较麻烦,需要让朋友通过其他方式生成一个蓝屏的dump,这里我们简单汇总下。 二:如何生成内核态dump 1. 案例代码 为了方便演示,来一段简单的 ......
线程 内核 程序

操作系统(3)---操作系统的接口、内核

一、操作系统的接口 用户使用操作系统的方式: 命令行 shell是提供用户使用界面的程序(命令解释器),包括图形界面shell和命令行shell。其作用有二: 传递请求指令,让操作系统执行命令 保护内核 图形按钮 图形界面是一个包括画图的c程序。每一个硬件动作相当于一个事件,根据事件列表会有对应的内 ......
系统 内核 接口

下载linux内核代码

【地址】 参考https://zhuanlan.zhihu.com/p/615920216 git clone https://mirrors.tuna.tsinghua.edu.cn/git/linux-stable.git 【遇到本地失败问题】 git config core.protectNT ......
内核 代码 linux

一键部署可视化Linux内核与驱动调试环境

docker run -itd --privileged --name "linux-driver-debug-test" registry.cn-hangzhou.aliyuncs.com/loongenclave/linux-driver-debug:latest 哔哩哔哩视频 ......
内核 环境 Linux

(system)ntoskrnl.exe是Windows操作系统的内核文件之一,也是整个操作系统的核心部分

ntoskrnl.exe是Windows操作系统的内核文件之一,也是整个操作系统的核心部分。它被称为Windows NT操作系统内核,是操作系统中最重要、最基础的部分之一。ntoskrnl.exe主要负责管理和控制计算机的各种硬件资源,包括处理器、内存、磁盘、输入输出设备等等。 ntoskrnl.e ......
系统 内核 ntoskrnl 核心 Windows