Linux——文件系统清尾、动静态库

linux——文件系统与inode-优快云博客


文章目录

目录

文章目录

前言

二、文件系统补充

关于文件系统、文件以及block(数据块)相关内容的总结:

三、动静态库

1、制作静态库

创建静态库命令

2、库的使用

总结


前言

在软件开发领域,随着项目规模不断扩大、功能日益复杂,代码的复用性和管理成为至关重要的问题。为了避免重复编写相同功能的代码,提高开发效率,动静态库应运而生。


一、动静态库是什么?

静态库:它是一组目标文件的集合,在程序编译链接阶段,会将静态库中的代码直接复制到最终的可执行文件中。这意味着可执行文件在运行时不再依赖于静态库本身,拥有相对独立完整的代码体系。例如,在开发一些简单的命令行工具时,可能会将常用的字符串处理函数等打包成静态库供不同工具复用。

• 动态库:与静态库不同,动态库在程序编译时并不会把库中的代码复制到可执行文件里,而是在程序运行时动态地加载所需的库代码。这样可执行文件体积相对较小,而且多个程序可以共享同一个动态库,节省系统资源。比如在操作系统中,许多系统级别的功能模块是以动态库的形式存在,供不同应用程序调用。

动静态库的重要性

它们极大地提升了软件开发的效率和代码质量。通过复用已有的库代码,开发人员可以把更多精力放在业务逻辑的创新和完善上,同时减少了因重复编写代码可能导致的错误。而且在软件维护和升级方面,动静态库也提供了便利,只需要更新库本身,就能让依赖它的众多程序受益。

二、文件系统补充

上篇博客硬链接补充

补充1:当我们硬链接数被删除减到0时,文件就真正的被删除了。

补充2:操作系统会对内存进行管理,存在管理模块。

物理内存被分割成一个一个4KB小内存的(这个被称为页框),磁盘上的可执行文件等数据也被分割成了4KB的小文件(这个被称为页帧),页框和页帧之间互相交换数据,这个4KB就是数据交互单位

如果交互数据小了,那么两者直接的交互次数过多,io也就比较多,访问外设次数加多,时间效率就下来了;

比较大的时候,当我们想要读取少量的数据时,就会出现就会有很多的垃圾数据,哪些数据用不上就会占取内存空间。这就是预加载机制。

补充3:操作系统如何管理内存?

操作系统可以看到虚拟地址,也可以看到硬件的物理地址!

操作系统想要管理物理地址那么就要先描述在组织。

1024^3=1GB

4*1024^3=4GB

(4GB/1024)/4=1048576个页框

struct page men_array[1048576];

这就是框号,对数组管理就变成了对数组管理。

所以我们要访问一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃喵的鲤鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值