- 博客(12)
- 收藏
- 关注
原创 开源软件API设计原则(1)
正如Apache软件基金会倡导的:"好的开源API应该像城市的古老建筑——外部保持稳定,内部允许改造。"这种平衡艺术正是优秀开源API设计的精髓所在。正如Linux内核开发者Greg Kroah-Hartman所说:"开源API不是合同,而是承诺。:开源API可能被数以万计的开发者使用,而企业内API的调用方通常可枚举。:封闭系统中可通过协商逐步升级,而开源API的变更可能导致社区生态断裂。:建立API评审委员会(如Node.js的CTC):78%的兼容性问题源于未定义的异常行为。
2025-04-04 17:09:00
266
原创 linux内存管理概述
内存分配:例如,要请求一个256页(1M)的内存块,如果能找到,直接分配,如果找不到,则找512的内存块,如果能找到512的内存块,则将512的内存块,拆成2个256的内存块,将其中一个256页的块,分配给请求者,另一个256页的块,插入256页块的链表中。将所有的内存空闲页分组为11个块链表,每个块链表分别包含大小为1,2,4,8,16,32,64,128,256,512,1024个连续的页。每个块第一个页的物理地址是该块大小的整数倍,例如,大小为16个页的块,其起始地址是16*4096的整数倍。
2023-12-01 07:29:39
77
原创 linux内存-页表管理
2级页表:需要的页数是256M/4K = 65536个物理页,一个二级页表(占4K物理内存)能表示1024(1K)个物理页地址,因此65536个物理页面需要65536/1024 = 64 个二级页表,同理,一个一级页表,能够包含1K个二级页表首地址,所以一个一级页就够了(能涵盖64个二级页表)。在64位架构的机器上,一个进程的虚拟地址空间大小理论上可以达到2的64次方字节,即16 EB(exabytes,十八亿GB)。不过,即使如此,64位架构依然能够支持更高的内存容量和更高的性能。
2023-12-01 07:28:18
184
原创 架构整洁之道--跟开源三方软件划清界限实战案例
本文根据《架构整洁之道》的指导原则,提供一种解决跟开源三方软件划分界限的设计方法,以提升基于开源三方软件开发效率。
2022-09-11 11:09:55
262
原创 架构整洁之道解读
本文解读Bob大叔的《架构整洁之道》一书,除了提炼整本书的内容外,对其中的一些隐晦知识点进行了展开讨论。希望跟有志于在软件架构上深耕的同仁一起探讨。
2022-09-06 00:10:18
1041
原创 小马过河
小马和他的妈妈住在绿草茵茵的十分美丽的小河边。除了妈妈过河给河对岸的村子送粮食的时候,他总是跟随在妈妈的身边寸步不离。 他过的很快乐,时光飞快地过去了。 有一天,妈妈把小马叫到身边说:“小马,你已经长大了,可以帮妈妈做事了。今天你把这袋粮食送到河对岸的村子里去吧。” 小马非常高兴地答应了。他驮着粮食飞快地来到了小河边。 可是河上没有桥,只能自己淌过去。可又不知道河水有
2016-06-06 21:08:03
507
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人