深度Linux IP属地:湖南

文章 关注 粉丝 访问 贡献
 
共 149 篇文章
显示摘要每页显示  条
内核层通常包含多个子模块,例如文件系统、卷管理、快照、克隆、数据保护和恢复等,这些子模块共同构成了存储系统的核心。它是操作系统内核中的一部分,提供了对文件和文件系统的抽象接口,使得应用程序可以通过统一的方式来访问各种不同类型的文件系统。FastDFS是一个开源的分布式文件系统,它旨在解决大规模文件存储问题。FastDFS具有高性能...
#ifndef __PAGETABLE_PMD_FOLDED#define pmd_val(x) native_pmd_val(x)#define __pmd(x) native_make_pmd(x)#endif.PTRS_PER_PTE, PTRS_PER_PMD, PTRS_PER_PUD以及PTRS_PER_PGD用于计算页表、页中间目录、页上级目录和页全局目录表中表项的个数。printk(KERN_INFO"pmd_val(*pmd_tmp) = 0x%lx\n",pmd_val(*pmd_tmp));/*在这里,把原来...
syscall''''''''s number -> syscall -> entry_SYSCALL_64 -> do_syscall_64 -> sys_call_table -> __x64_sys_write.#define SYSCALL_DEFINEx(x, sname, ...) \ SYSCALL_METADATA(sname, x, __VA_ARGS__) \ __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)asmlinkage const sys_call_ptr_t sys_call...
基于IOCP的开发是异步IO的,决定了IOCP所实现的服务器的高吞吐量,通过引入IOCP,会大大减少Thread切换带来的额外开销,最小化的线程上下文切换,减少线程切换带来的巨大开销,让CPU把大量的事件用于线程的运行。任何线程都可以调用GetQueuedCompletionStatus来与一个 IO 完成端口关联起来,但是一个线程只能关联一个 IOCP,当线程退出或者指定...
堆则是C/C++函数库提供的,它的机制很复杂,例如为了分配一块内存,库函数会按照一定的算法(具体的算法可以参考数据结构/操作系统)在堆内存中搜索可用的足够大小的空间,如果没有足够大小的空间(可能是由于内存碎片太多),则可能调用系统功能去增加程序数据段的内存空间,这样就有机会分到足够大小的内存了,然后返回。指针丢失:将指向动...
//buffer中空的长度 len = min(len, fifo->size - fifo->in + fifo->out); // 内存屏障:smp_mb(),smp_rmb(), smp_wmb()来保证对方观察到的内存操作顺序 smp_mb(); // 将数据追加到队列尾部 l = min(len, fifo->size - (fifo->in &(fifo->size - 1))); memcpy(fifo->buffer + (fifo->in &(fifo->size - 1)...
当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存,当内存释放后就回归到内存块留作后续的复用,使得内存使用效率得到提升,一般也不会产生不可控制的内存碎片。如果每次从内存池中的请求的内存片的大小如果不固定,那么内存池中的每个可用内存片的大小就不一致,程序再次请求内存片的时候,内存池就需要在...
POSIX提供了两种信号量:有名信号量和无名信号量,这两种信号量的本质都是一样的。有名信号量由于其有名字, 多个独立的进程可以通过名字来打开同一个信号量, 从而完成同步操作, 所以有名信号量的操作要方便一些, 适用范围也比无名信号量更广。int sem_trywait(sem_t *sem);如果发布信号量之前, 信号量的值是0, 并且已经有进程或线程正等...
序列化后,数据小,传输速度快序列化、反序列化速度快。inline const ::std::string& name() const;每个与序列化相关的类都要定义序列化和反序列化方法,可以通过通用的宏在头文件中声明,这样每个类只需关注本层的序列化,子对象的序列化由子对象来完成;类Movie声明了序列化接口,而其数据成员scores对应的具体类Score也声明了序列化接口...
静态函数:在函数声明或定义前面使用static关键字修饰,表示该函数仅在当前文件范围内可见,不能被其他文件访问。防止函数修改对象状态:在成员函数后面加上const关键字表示该成员函数不会修改对象的状态。函数参数传递:指针可以作为函数参数传递,允许在函数内部修改原始数据;// 函数重载示例。通过继承,派生类可以获得基类的非私有成员函...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部