自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Linux内核驱动的调用过程

的内存管理支持虚拟内存,即在计算机中运行的程序, 其代码,数据,堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。由于linux内核的内存管理用到的是虚拟内存,不能直接操作寄存器,故ioremap可以将实际的物理内存地址映射到虚拟地址空间中,让程序员可以直接通过指针访问硬件寄存器。4.根据 inode 中成员 i_rdev 确定设备号,根据设备号可以找到 cdev 结构体(内核。隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,

2024-10-07 17:21:02 735

原创 C++常见问题

什么是内存泄露:我们的程序除了用到静态内存和栈内存,每个程序还拥有一个内存池,我们把他叫做自由空间或者堆。在C++中,动态内存的管理是通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,我们可以选择对对象进行初始化:delete,接受一个动态对象的指针,销毁该对象,并释放与之关联的内存。动态内存的使用很容易出问题,因为确保在正确的时间释放内存是极其困难的。有时我们会忘记释放内存,在这种情况下就会产生内存泄漏;1)使用IDE。

2024-09-25 22:41:51 548

原创 Linux网络通信

我们使用应用程序有两种模型。b/s模型(Browser/Server) c/s模型(client/server)C/S :传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。B/S :浏览器(Browser)/服务器(server)模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可完成数据的传输。选用C/S模型的优点: 1. 协议选用灵活。(可以在标准协议的基础上根据需求裁剪及定制。

2024-08-14 10:51:36 1062

原创 Linux IO模型(结合linux内核字符驱动)

在linux内核字符驱动的框架理解输入输出的读写。字符设备文件操作集file_operations可以重写read、write、epoll。类型涉及:阻塞、非阻塞、异步通知、IO多路复用。

2024-08-13 15:46:44 637

原创 Linux内核中共享资源竞争的互斥机制

当共享的资源同时被多个需要这个资源的主体访问时(并发),会产生竞态。这里的主体可能有:中断、另一个进程、另一个cpu。需要用互斥的方式来解决竞态。

2024-08-12 20:12:37 760

原创 Linux下字符设备驱动框架

四个部分:头文件、两个入口函数初始化、注册入口函数、模块信息描述有一些头文件没加,可以通过sourceinsight搜索函数查看头文件地址。

2024-08-12 14:20:25 375

原创 vscode ssh无法连接

第二步:在拓展的ssh中的Extension Settings 填写路径,ctrl+s保存。已经确定ip和服务器名可以没问题,可以ping通,防火墙也关闭,还是无法连接。第三步: 重新连接即可(删除的配置会重新加载)

2024-08-12 11:43:48 547

原创 交叉编译环境

一般使用apt-get去获取安装包的。就跟自己去官网下载一样,apt-get有一个下载源的配置我们可以进入http://mirrors.aliyun.com/ubuntu/网站看阿里云提供的工具包代码。sudo apt-get install 软件包名 --- 下载并安装指定的软件包 *sudo apt-get remove 软件包名 --- 卸载指定的已安装的软件包 *sudo apt-get update --- 刷新软件源清单 *下载时需要配置虚拟机的网络1.虚拟网卡。

2024-08-09 18:16:28 570

原创 printf输出打印一连串自增/自减/本身(ubuntu20.04)

函数(printf)是在内存中是存在栈中的,c语言是从左往右执行的,故运算从右往左执行。前++(--)和a计算完之后取,后++在寄存器中取;在ubuntu20.04的反汇编生成的步骤是将内存中的数值调到寄存器中,再将自增的值返回内存(前++和后++都一样)首先打印两个题目来讨论。

2024-02-21 09:00:22 224 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除