草庐IT

微软改善 Linux 内核 6.6 版本中对于 Hyper-V 的支持,可带来额外安全性

9月8日消息,微软日前为Linux内核6.6版本添加了更多Hyper-V的支持,Linux领头人LinusTorvalds接受了微软 Azure机器学习首席架构师WeiLiu发送的这些更新。▲图源 git.kernel.org据悉,这些改进包括在Hyper-V上支持AMDSEV-SNPguest和IntelTDXguest,以及内核中的一些升级,例如改进了VMBus驱动程序中的ACPI(高级配置和电源接口)根对象处理等,IT之家整理如下:支持Hyper-V上的SEV-SNP客户端(TianyuLan)支持Hyper-V上的TDXguest(DexuanCui)在Hyper-V气球驱动程序中使用

RK3399平台开发系列讲解(内核调试篇)IO 数据工具:iostat和iotop

🚀返回专栏总目录文章目录一、iostat命令二、/proc/diskstats文件三、iotop命令沉淀、分享、成长,让自己和他人都能有所收获!😄📢在Linux系统上,iostat和iotop这两个IO数据工具非常常用。它们都是性能分析领域中不可缺少的工具性软件。一、iostat命令iostat命令,是用来展示系统中的IO设备和CPU使用情况的。它的最大优势在于能汇报所有块设备活动的统计情况,同时也能汇报出CPU使用情况。但是iostat命令有一个缺陷,就是它不能对每个应用程序进程进行深入分析,只能分析系统的整体情况。我们先来看iostat如何使用,它的使用形式如下:<

银河麒麟服务器V10SP1双内核更改低版本内核为第一引导项

一场景需要保留新内核的情况下使操作系统在下次启动默认加载的是旧内核。二系统基本信息1.系统版本[root@localhost~]#nkvers##############KylinLinuxVersion#################Release:KylinLinuxAdvancedServerreleaseV10(Tercel)Kernel:4.19.90-23.20.v2101.ky10.x86_64Build:KylinLinuxAdvancedServerreleaseV10(SP1)/(Tercel)-x86_64-Build20/20210518###############

基于Linux内核的驱动开发

 1 网络设备驱动框架      1网络设备       网络设备:用于在网络中收、发数据或传输数据的设备       网络设备=网络终端设备+网络中继设备       linux的网络设备并不是使用文件作为用户程序访问网络设备的接口,所以在       /dev下并没有相应的网络设备文件,在Linux中,用户程序最终使用套接字来       访问网络设备。       Linux的网卡驱动程序处于OSI模型中的数据链路层,它的职责就是将上层协议      栈传过来的信息通过网卡发送出去,将网络设备接收到的数据传给上层协议栈。      (负责网络数据的收发)                 

使用VSCode clangd插件进行linux内核代码阅读和嵌入式开发

配置步骤1.安装并配置VSCode和Clangd插件1.1下载clangd插件1.2下载clangd安装包1.3配置插件的设置1.3.1点击齿轮1.3.2点击extensionsettings1.3.3设置clangdpath2.使用bear命令编译linux源码及自己的代码2.1使用bear命令编译linux源码2.2使用bear命令编译自己的代码2.3最重要的一点在进行Linux内核代码阅读和嵌入式开发时,选择合适的开发工具至关重要。VSCode是一个流行的跨平台编辑器,并且它的扩展生态系统非常强大。在这篇博客中,我们将介绍如何使用VSCodeClangd插件来提高Linux内核代码的阅读

Linux字符设备驱动(设备文件,用户空间与内核空间进行数据交互,ioctl接口)

在Linux系统中“一切皆文件”,上一篇讲述了cdev结构体就描述了一个字符设备驱动,主要包括设备号和操作函数集合。但是要怎么操作这个驱动呢?例如,使用open()该打开谁,read()该从哪读取数据等等。所以就需要创建一个设备文件来代表设备驱动。应用程序要操纵外部硬件设备,需要像和普通文件一样,使用open(),read(),write()(初始化cdev时实现的操作函数)等系统调用来操作设备文件间接实现控制外部硬件设备。注册设备驱动后想要创建相对应的设备文件有两种方式:手动创建和自动创建。手动创建:加载驱动模块之后,使用mknod命令在/dev目录下创建设备文件。mknod设备文件路径文件

驱动开发:内核远程堆分配与销毁

在开始学习内核内存读写篇之前,我们先来实现一个简单的内存分配销毁堆的功能,在内核空间内用户依然可以动态的申请与销毁一段可控的堆空间,一般而言内核中提供了ZwAllocateVirtualMemory这个函数用于专门分配虚拟空间,而与之相对应的则是ZwFreeVirtualMemory此函数则用于销毁堆内存,当我们需要分配内核空间时往往需要切换到对端进程栈上再进行操作,接下来LyShark将从API开始介绍如何运用这两个函数实现内存分配与使用,并以此来作为驱动读写篇的入门知识。首先以内存分配为例ZwAllocateVirtualMemory()函数,该系列函数在ntifs.h头文件内,且如果需要

《安富莱嵌入式周报》第304期:开源硬件耳机设计,AI单片机STM32N6已确定为M55内核,另外还有新品STM32H5, H50X, H7R, H7S发布

往期周报汇总地址:嵌入式周报-uCOS&uCGUI&emWin&embOS&TouchGFX&ThreadX-硬汉嵌入式论坛-PoweredbyDiscuz! 更新一期视频教程:第6期ThreadX视频教程:图文并茂吃透RTOS运行机制,任务管理,上下文切换,任务栈,系统栈等(2023-02-19)https://www.armbbs.cn/forum.php?mod=viewthread&tid=118041视频版:https://www.bilibili.com/video/BV1Ss4y1b7Xz《安富莱嵌入式周报》第304期:开源硬件耳机设计,AI单片机STM32N6已确定为M55内核

【嵌入式环境下linux内核及驱动学习笔记-(10-内核内存管理)】

目录1、linux内核管理内存1.1页1.2区1.2.1了解x86系统的内核地址映射区:1.2.2了解32位ARM系统的内核地址映射区:2、内存存取2.1kmalloc2.1.1kfree2.1.2kzalloc2.2__get_free_page函数族2.2.1free_page2.2.2__get_free_pages()2.2.3free_pages2.2.4get_zeroed_page2.2.5__get_dma_pages2.2.6__get_high_pages()2.2.7__get_low_pages()2.3vmalloc2.3.1vfree2.4kmalloc&vmall

微软用 18 万行 Rust 重写了 Windows 内核

微软正在使用Rust编程语言重写其核心Windows库。5月11日——Azure首席技术官MarkRussinovich表示,最新的Windows11InsiderPreview版本是第一个包含内存安全编程语言Rust的版本。“如果你参加了Win11Insider环,你将在Windows内核中首次体验Rust,”Russinovich昨晚发推文说。无论如何,这一次来得很快:微软直到4月中旬在以色列举行的BlueHatIL2023安全会议上才公开了用Rust代码替换部分Windows内核的计划。当时,Windows操作系统安全总监David“dwizzle”Weston在一次演讲中宣布Rust将