当前位置: 首页 > news >正文

linux的 .so和.ko文件分别是什么?主要区别是什么?

前言:

.so和.ko文件的主要区别在于它们的应用层次和功能不同。‌

应用层次

.so文件‌:这是用户层的动态链接库(Shared Object),主要用于用户态的程序中。
它用于动态链接,多个程序可以共享同一个库文件,从而节省空间并提高效率。用户
态的代码不能直接调用内核态的代码,但可以通过.so文件进行间接调用‌。通常存在于:/lib/  /lib64/。 一些软件也会自带.so文件,避免系统差异导致软件无法
使用。‌.ko文件‌:这是内核态的动态链接库(Kernel Object),主要用于内核模块。.ko文件
是内核模块,可以在Linux内核启动后动态加载和卸载,用于扩展内核的功能。内核
模块可以插入到内核中,实现特定的功能,如USB、显卡、CPU、串口等各种设备驱
动,TCP/IP网络协议等‌。通常存在于 类似于/lib/modules/5.10.0-74.3.uelc20.x86_64/kernel  的内核文件中。
把5.10.0-74.3.uelc20.x86_64  换成执行 uname -a  命令出来的那串内容就可以进来
了。

功能和用途

‌.so文件‌:主要用于用户态的程序中,提供动态链接的功能,使得多个程序可以共享
同一个库文件,减少磁盘空间占用,提高程序运行的效率。用户态的程序通过调
用.so文件来实现功能‌。‌.ko文件‌:用于内核模块,优点是可以缩小内核的大小。可以在系统启动后动态加载
和卸载,不需要每次需要新功能就重新编译内核,只需要加入扩展功能的.ko文件即
可。内核模块可以扩展内核的功能,如添加新的设备驱动、网络协议等。

相关文章:

linux的 .so和.ko文件分别是什么?主要区别是什么?

前言: .so和.ko文件的主要区别在于它们的应用层次和功能不同。‌ 应用层次 .so文件‌:这是用户层的动态链接库(Shared Object),主要用于用户态的程序中。 它用于动态链接,多个程序可以共享同一个库文件&…...

XX服务器上的npm不知道咋突然坏了

收到同事的V,说是:182上的npm不知道咋突然坏了,查到这里了,不敢动了。 咱一定要抓重点:突然坏了。这里的突然肯定不是瞬间(大概率是上次可用,这次不可用,中间间隔了多长时间&#x…...

数据结构(优先级队列 :Priority Queue)

前言: 在计算机科学中,队列是一种非常常见的数据结构,它遵循先进先出(FIFO)的原则,也就是说,先进入队列的元素会先被处理。然而,在许多实际应用中,我们不仅仅需要按顺序…...

nginx.conf 请求时间部分参数说明新手教程

下面来说下nginx.conf 的部分参数,配置如下: http {include mime.types;default_type application/octet-stream;client_max_body_size 1000M;#log_format main $remote_addr - $remote_user [$time_local] "$request" # …...

【Linux-ubuntu通过USB传输程序点亮LED灯】

Linux-ubuntu通过USB传输程序点亮LED灯 一,初始化GPIO配置1.使能时钟2.其他寄存器配置 二,程序编译三,USB传输程序 一,初始化GPIO配置 1.使能时钟 使能就是一个控制信号,用于决定时钟信号是否能够有效的传递或者被使用,就像一个…...

《开源时间序列数据:探索与应用》

《开源时间序列数据:探索与应用》 一、开源时间序列数据概述二、热门的开源时间序列数据库1. InfluxDB2. TimescaleDB3. Prometheus4. OpenTSDB5. Graphite6. Druid 三、开源时间序列数据的应用场景1. 物联网领域2. 金融领域3. 运维监控领域4. 能源领域 四、开源时间…...

三相异步电动机跳闸的原因是什么?

三相异步电动机是现代工业生产和日常生活中广泛应用的一种电动机,因其结构简单、维护方便和功率范围广泛而受到广泛青睐。然而,在实际使用过程中,电动机的跳闸现象时有发生,这不仅影响了设备的正常运行,甚至可能导致经…...

连续思维链Coconut ,打开LLM推理新范式

语言与推理之间有着什么样内涵上的联系与本质上的差别? 系统二的长链复杂分步推理与系统一分别在训练时与推理时的正/反向传播链路、模型神经网络内部的潜在机制(虽然是黑盒)以及网络链路对应的模型训练过程中“压缩”的数据(认知)流形所映射出的隐含碎片化泛化分布…...

阿里云数据库MongoDB版助力极致游戏高效开发

客户简介 成立于2010年的厦门极致互动网络技术股份有限公司(以下简称“公司”或“极致游戏”),是一家集网络游戏产品研发与运营为一体的重点软件企业,公司专注于面向全球用户的网络游戏研发与运营。在整个产业链中,公…...

ESP32-S3模组上跑通ES8388(29)

接前一篇文章:ESP32-S3模组上跑通ES8388(28) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析到了es8388_init函数中的第11段也是最后一段代码,没有解析完,本回继续解析。为了便于理解和回顾,再次贴出该片段,在components\audio_hal\driver\es8388\es8388.c中,如下…...

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件,并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…...

通过k-means对相似度较高的语句进行分类

本文介绍了如何使用K-Means算法对相似度较高的语句进行分类,并附上java案例代码 import java.util.ArrayList; import java.util.List; import java.util.Random;public class KMeansTextClustering {public static void main(String[] args) {// 初始化语句数据集…...

国信华源科技赋能长江蓄滞洪区水闸管护项目验收成果报道

“碧水悠悠绕古城,闸启长江万象新。”近日,由北京国信华源科技有限公司倾力打造的万里长江蓄滞洪区水闸管护项目,圆满通过验收,为这片鱼米之乡的防洪安全注入了新的科技活力。 长江之畔,水闸挺立,犹如干堤上…...

HTML:表格重点

用表格就用table caption为该表上部信息,用来说明表的作用 thead为表头主要信息,效果加粗 tbody为表格中的主体内容 tr是 table row 表格的行 td是table data th是table heading表格标题 ,一般表格第一行的数据都是table heading...

wine的使用方法

wine版本 所有分支,新的主要版本: wine-x.0 All branches, release candidates:各分支、候选版本: wine-x.0-rcn Stable branch updates: 稳定分支更新: wine-x.0.z Development branch updates: wine-x.y wine *.exe “更改目…...

Linux服务器离线安装unzip包

Linux服务器离线安装unzip包 1. 安装unzip包的目的 解压Docker部署包和服务部署包。 2. 查看当前环境是否已经安装unzip rpm -qa | grep --color unzip3. 下载对应的离线包 地址:http://www.rpmfind.net/linux/rpm2html/search.php?query&submitSearch 例…...

Excel拆分脚本

Excel拆分 工作表按行拆分为工作薄 工作表按行拆分为工作薄 打开要拆分的Excel文件,使用快捷键(AltF11)打开脚本界面,选择要拆分的sheet,打开Module,在Module中输入脚本代码,然后运行脚本 Su…...

Mybatis---事务

目录 引入 一、事务存在的意义 1.事务是什么? 2.Mybatis关于事务的管理 程序员自己控制处理的提交和回滚 引入 一、事务存在的意义 1.事务是什么? 多个操作同时进行,那么同时成功,那么同时失败。这就是事务。 事务有四个特性&#xf…...

企业直播间媒体分发新闻转播拉流推广名单(金融财经科技类)

【本篇由 言同数字媒体直播分发 原创】随着直播与短视频成为各大企业营销的重要手段,如何选择合适的视频平台进行内容分发与拉流成为了企业关注的焦点。对于财经和科技类企业而言,选择具有专业受众群体和广泛传播能力的平台尤为重要。下面是一些可以帮助…...

华为FreeBuds Pro 4丢了如何找回?(附查找功能使用方法)

华为FreeBuds Pro 4查找到底怎么用?华为FreeBuds Pro 4有星闪精确查找和离线查找,离线查找功能涵盖播放铃声、导航定位、星闪精确查找、上线通知、丢失模式、遗落提醒等。星闪精确查找是离线查找的子功能,当前仅华为FreeBuds Pro 4充电盒支持…...

告别MinGW!在Windows 10/11上用Visual Studio 2019/2022的MSVC编译FFmpeg 7.1全记录

告别MinGW!在Windows 10/11上用Visual Studio 2019/2022的MSVC编译FFmpeg 7.1全记录 如果你是一名Windows平台的音视频开发者,可能已经习惯了用MinGW来编译FFmpeg。但今天我要告诉你一个更好的选择——使用微软原生的MSVC工具链。这不仅能让你的开发环境…...

StyleGAN的隐藏玩法:用AdaIN控制生成人脸的10种神奇属性

StyleGAN的隐藏玩法:用AdaIN控制生成人脸的10种神奇属性 当你在Seeprettyface网站上滑动那些看似普通的参数滑块时,可能不会意识到自己正在操控着当今最先进的生成对抗网络技术。StyleGAN的核心突破——自适应实例归一化(AdaIN)模…...

Linux错误码机制深度解析:嵌入式驱动调试核心

1. Linux系统调试基础&#xff1a;错误码机制深度解析在嵌入式Linux系统开发中&#xff0c;尤其是驱动开发与底层系统编程场景下&#xff0c;错误处理远非简单的if (ret < 0) return ret;所能涵盖。一个健壮、可维护、易调试的系统&#xff0c;其错误处理机制必须具备语义明…...

NSudo权限管理工具终极指南:Windows系统权限突破完全教程

NSudo权限管理工具终极指南&#xff1a;Windows系统权限突破完全教程 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/nsu/NSudo …...

51单片机温湿度检测报警

目录 具体实现功能 设计介绍 51单片机简介 资料内容 原理图和PCB&#xff08;AD19&#xff09; 仿真实现&#xff08;protues8.7&#xff09; 程序&#xff08;Keil5&#xff09; 全部资料 资料获取 具体实现功能 由51单片机DHT11温湿度传感器LCD1602液晶显示按键模块…...

保姆级教程:用FineBI 6.0连接本地MySQL 8.0数据库,手把手搞定数据可视化第一步

零基础实战&#xff1a;FineBI 6.0与MySQL 8.0的无缝对接指南 当你第一次打开FineBI 6.0&#xff0c;面对空白的画布和复杂的数据源选项&#xff0c;可能会感到无从下手。别担心&#xff0c;这篇文章将带你一步步完成从数据库连接到数据可视化的全过程。无论你是市场分析师、业…...

山东GEO推广选哪家?AI搜索优化看3个核心能力

一、AI搜索时代&#xff0c;山东企业流量破局靠什么&#xff1f;​据《2024山东企业AI搜索行为白皮书》显示&#xff0c;超65%本地用户通过生成式引擎&#xff08;如文心一言、豆包&#xff09;获取服务信息&#xff0c;传统SEO“关键词排名”模式已难触达目标客群。AI搜索优化…...

颠覆“原谅就是大度”,建立伤害修复模型,颠覆道德绑架,输出保护自己的边界方案。

伤害修复模型&#xff1a;建立自我边界的智能决策系统一、实际应用场景描述场景&#xff1a;职场/亲密关系中的"情感勒索"- 同事A经常推卸责任给你&#xff0c;事后说"都是为团队好&#xff0c;你大度点"- 伴侣B忘记重要纪念日&#xff0c;却说"真正爱…...

QMC5883L磁力计驱动开发:寄存器控制、校准与FreeRTOS集成

1. QMC5883L磁力计驱动库技术解析与工程实践1.1 芯片特性与工程定位QMC5883L是由盛思&#xff08;QST&#xff09;推出的三轴低功耗数字磁力计&#xff0c;采用IC接口&#xff0c;工作电压范围2.0V–3.6V&#xff0c;典型功耗仅120μA&#xff08;连续测量模式&#xff09;&…...

MoE架构爆火!揭秘AI“专家团”如何实现大容量低成本,性能竟对标GPT-4?

MoE&#xff08;混合专家模型&#xff09;架构通过组建“专家团队”替代传统大模型的“全才”模式&#xff0c;大幅降低计算资源消耗。专家网络分工协作&#xff0c;门控网络智能调度&#xff0c;稀疏激活技术实现高效计算。尽管面临负载均衡、通信开销和内存墙等工程挑战&…...