我的内存池 通过剖析的开源代码可以积累优秀的代码设计思想和良好的编程规范,了解不同的应用场景下不同的内存池实现也是一种重要的能力,本仓库对SGI STL二级空间配置器内核和nginx内存池内核进行了剖析,并使用C ++ OOP进行仿写,将替换植入到其他项目当中。 本仓库包含以下内容: 注释过的SGI STL二级空间配置器源码以及进行的分析整理 注释过的nginx内存池二进制以及进行的分析整理 my_stl_allocator my_nginx_mem_pool 目录 背景 在学习编程的过程中,一味的闭门造车是不可取的,就和作家为什么要看书一样,积累优秀资源是创造优秀资源的必要条件。 “所谓创意,只是把永恒的元素重新组合而已。” 通过对SGI STL二级空间配置器内核的剖析和对nginx内存池子系统的剖析来学习内存池的设计,以及体会SGI二级空间配置器和nginx中的内存池在设计上的区别
2024-05-02 11:07:21 39KB 系统开源
1
#CKIP_Client CKIP_Client是连接研发之与的Ruby程式界面。感谢中央研究院多年来之研究成果! 安装Installation 请先至中文断词系统或中文剖析系统申请:帐号/密码再安装本Gem gem install ckip_client 安装完成后至Gem所在资料夹中修改帐号密码资料。资料夹位置通常在:/usr/local/lib/ruby/gems/1.9.1/gems/进入:ckip_client-0.0.5/lib/config/于segment.yml 档案中输入中文断词系统之帐号密码,于parser.yml 档案中输入中文剖析系统之帐号密码,至此安装设定就绪。 使用Usage 将文章断词: CKIP.segment( text ) 剖析文章: CKIP.parser( text ) 也可以让输出结果滤除词性资料,在输入时加入第二个参数'neat' C
2024-04-08 16:39:13 5KB Ruby
1
本文主要介绍了什么是NUMA 调度器,NUMA系统在市场上的应用越来越广泛,许多厂商都成功推出了基于 NUMA 架构的服务器,本文重点讨论了当前 Linux 的 NUMA 技术,主要包括:存储管理、NUMA 调度和用户层的 API,并在 SGI 的 Altix 350 系统上进行了 NUMA 基本测试,对进行 Linux NUMA 技术的研究具有参考价值。
2024-04-04 16:27:57 63KB
1
iSCSI技术的应用将本身协议完全不同的IP SAN和FC SAN加以整合,促进了存储资源利用率的增长。随着iSCSI技术的完善,数据块级的存储应用将变得更为普遍,存储资源的通用性、数据共享能力都将大大增强,并且更加易于管理。随着千兆以太网的成熟以及万兆以太网络的开发,IP存储必然会以其性价比、通用性、无地理限制等优势飞速发展。总的来说,iSCSI就是在低成本的以太网上提供网络存储。iSCSI提 供简单而又低成本的网络存储解决方案。
2024-03-22 08:58:14 355KB
1
linux内核完全剖析.pdf
2024-03-19 20:19:39 7.61MB linux内核
1
磁珠(Bead)_电感(L)_电阻(R)_电容(C)于噪声抑制上的相关剖析与探讨
2024-03-05 15:51:24 7.33MB 噪声抑制
1
目 录 献辞 致谢 序(一) 序(二) 历史注记 上篇 UNIX操作系统版本6源代码 UNIX操作系统过程分类索引 3 UNIX操作系统文件及过程 5 UNIX操作系统定义的符号列表 7 UNIX操作系统源代码交叉引用列表 9 第一部分 初始化、进程初始化 25 第二部分 陷入、中断、系统调用和 进程管理 75 第三部分 程序交换、基本输入/输出、 块设备 109 第四部分 文件和目录、文件系统、管道 133 第五部分 面向字符的特殊文件 181 下篇 莱昂氏UNIX源代码分析 前言 207 第1章 绪论 209 1.1 UNIX操作系统 209 1.2 公用程序 209 1.3 其他文档 210 1.4 UNIX程序员手册 210 1.5 UNIX文档 211 1.6 UNIX操作系统源代码 211 1.7 源代码中各部分 212 1.8 源代码文件 212 1.9 分析的使用 212 1.10 对程序设计水平的一条注释 212 第2章 基础知识 214 2.1 处理机 214 2.2 处理机状态字 214 2.3 通用寄存器 214 2.4 指令集 215 2.5 寻址方式 216 2.5.1 寄存器方式 217 2.5.2 寄存器延迟方式 217 2.5.3 自动增1方式 217 2.5.4 自动减1方式 217 2.5.5 变址方式 217 2.5.6 立即方式 218 2.5.7 相对方式 218 2.6 UNIX汇编程序 219 2.7 存储管理 219 2.8 段寄存器 220 2.9 页说明寄存器 220 2.10 存储分配 220 2.11 状态寄存器 221 2.12 “i”和“d”空间 221 2.13 启动条件 221 2.14 专用设备寄存器 221 第3章 阅读“C”程序 222 3.1 某些选出的例子 222 3.2 例1 222 3.3 例2 223 3.4 例3 223 3.5 例4 225 3.6 例5 225 3.7 例6 227 3.8 例7 227 3.9 例8 228 3.10 例9 228 3.11 例10 229 3.12 例11 229 3.13 例12 230 3.14 例13 230 3.15 例14 231 3.16 例15 231 3.17 例16 232 3.18 例17 233 第4章 概述 235 4.1 变量分配 235 4.2 全局变量 235 4.3 “C”预处理程序 235 4.4 第一部分 236 4.4.1 第1组“.h”文件 236 4.4.2 汇编语言文件 237 4.4.3 在第一部分中的其他文件 237 4.5 第二部分 237 4.6 第三部分 238 4.7 第四部分 238 4.8 第五部分 239 第一部分 初始化、进程初始化 第5章 两个文件 241 5.1 文件malloc.c 241 5.1.1 列表维护规则 241 5.1.2 malloc(2528) 242 5.1.3 mfree(2556) 243 5.1.4 结论 244 5.2 文件prf.c 244 5.2.1 printf(2340) 244 5.2.2 printn(2369) 245 5.2.3 putchar(2386) 246 5.2.4 panic(2419) 247 5.2.5 prdev(2433)、deverror(2447) 247 5.3 包含的文件 247 第6章 系统初启 249 6.1 操作员的动作 249 6.2 start(0612) 249 6.3 main(1550) 251 6.4 进程 252 6.5 proc〔0〕的初始化 252 6.6 sched(1940) 253 6.7 sleep(2066) 253 6.8 swtch(2178) 253 6.9 再回到main 254 第7章 进程 256 7.1 进程映像 256 7.2 proc结构(0358) 257 7.3 user结构(0413) 257 7.4 每个进程数据区 258 7.5 段 258 7.6 映像的执行 258 7.7 核心态执行 259 7.8 用户态执行 259 7.9 一个实例 259 7.10 设置段寄存器 260 7.11 estabur(1650) 260 7.12 sureg(1739) 261 7.13 newproc(1826) 261 第8章 进程管理 263 8.1 进程切换 263 8.2 中断 263 8.3 程序交换 263 8.4 作业 264 8.5 汇编语言过程 264 8.6 savu(0725) 264 8.7 retu(0740) 264 8.8 aretu(0734) 264 8.9 swtch(2178) 265 8.10 setpri(2156) 265 8.11 sleep(2066) 266 8.12 wakeup(2133) 266 8.13 setrun(2134) 266 8.14 expand(2268) 267 8.15 再回到swtch 267 8.16 临界区 268 第二部分 陷入、中断、系统调用 和进程管理 第9章 硬件中断和陷入 269 9.1 硬件中断 269 9.2 中断矢量 270 9.3 中断处理程序 270 9.4 优先级 270 9.5 中断优先级 271 9.6 中断处理程序的规则 271 9.7 陷入 272 9.8 汇编语言trap 272 9.9 返回 273 第10章 汇编语言“trap”例程 274 10.1 陷入和中断源 274 10.2 fuibyte(0814)与fuiword(0844) 274 10.3 中断 275 10.4 call(0776) 275 10.5 用户程序陷入 276 10.6 核心态栈 277 第11章 时钟中断 279 11.1 clock(3725) 279 11.2 timeout(3845) 281 第12章 陷入与系统调用 282 12.1 trap(2693) 282 12.2 核心态陷入 282 12.3 用户态陷入 283 12.4 系统调用 284 12.5 系统调用处理程序 285 12.6 文件sys1.c 285 12.6.1 exec(3020) 285 12.6.2 fork(3322) 286 12.6.3 sbreak(3354) 286 12.7 文件sys2.c和sys3.c 287 12.8 文件sys4.c 287 第13章 软件中断 288 13.1 设置期望动作 288 13.2 对进程造成中断 288 13.3 作用 289 13.4 跟踪 289 13.5 过程 289 13.5.1 期望动作的设置 289 13.5.2 造成软件中断 289 13.5.3 作用 289 13.5.4 跟踪 290 13.6 ssig(3614) 290 13.7 kill(3630) 290 13.8 signal(3949) 290 13.9 psignal(3963) 291 13.10 issig(3991) 291 13.11 psig(4043) 291 13.12 core(4094) 292 13.13 grow(4136) 292 13.14 exit(3219) 292 13.15 rexit(3205) 293 13.16 wait(3270) 293 13.17 跟踪 293 13.18 stop(4016) 294 13.19 wait(3270)(继续) 294 13.20 ptrace(4164) 295 13.21 procxmt(4204) 295 第三部分 程序交换、基本输入 /输出、块设备 第14章 程序交换 297 14.1 正文段 297 14.2 sched(1940) 298 14.3 xswap(4368) 299 14.4 xalloc(4433) 299 14.5 xfree(4398) 300 第15章 基本输入/输出介绍 301 15.1 buf.h文件 301 15.2 devtab(4551) 301 15.3 conf.h文件 301 15.4 conf.c文件 302 15.5 系统生成 302 15.6 swap(5196) 302 15.7 竞态条件 303 15.8 可重入 304 15.9 继续分析“u.u_ssav” 304 第16章 RK磁盘驱动器 305 16.1 控制状态寄存器RKCS 306 16.2 字计数寄存器RKWC 306 16.3 磁盘地址寄存器RKDA 306 16.4 rk.c文件 306 16.5 rkstrategy(5389) 306 16.6 rkaddr(5420) 307 16.7 devstart(5096) 307 16.8 rkintr(5451) 307 16.9 iodone(5018) 308 第17章 缓存处理 309 17.1 标志 309 17.2 一个类超高速缓存存储 309 17.3 clrbuf(5038) 309 17.4 incore(4899) 310 17.5 getblk(4921) 310 17.6 brelse(4869) 310 17.7 binit(5055) 311 17.8 bread(4754) 312 17.9 breada(4773) 312 17.10 bwrite(4809) 312 17.11 bawrite(4856) 313 17.12 bdwrite(4836) 313 17.13 bflush(5229) 313 17.14 physio(5259) 313 第四部分 文件和目录、文件 系统、管道 第18章 文件存取和控制 315 18.1 源代码第四部分 315 18.2 文件特征 315 18.3 系统调用 316 18.4 控制表 316 18.4.1 file(5507) 316 18.4.2 inode(5659) 316 18.5 要求专用的资源 317 18.6 打开一个文件 317 18.7 creat(5781) 317 18.8 open1(5804) 317 18.9 open(5763) 318 18.10 再回到open1 318 18.11 close(5846) 318 18.12 closef(6643) 319 18.13 iput(7344) 319 18.14 删除文件 319 18.15 读和写文件 319 18.16 rdwr(5731) 320 18.17 readi(6221) 321 18.18 writei(6276) 322 18.19 iomove(6364) 322 18.20 bmap(6415) 322 18.21 剩余部分 322 第19章 文件目录和目录文件 323 19.1 文件名 323 19.2 目录数据结构 323 19.3 目录文件 323 19.4 namei(7518) 324 19.5 一些注释 325 19.6 link(5909) 326 19.7 wdir(7477) 327 19.8 maknode(7455) 327 19.9 unlink(3510) 327 19.10 mknod(5952) 327 19.11 access(6746) 328 第20章 文件系统 329 20.1 超级块(5561) 329 20.2 mount表(0272) 329 20.3 iinit(6922) 330 20.4 安装 330 20.5 smount(6086) 330 20.6 注释 331 20.7 iget(7276) 331 20.8 getfs(7167) 332 20.9 update(7201) 332 20.10 sumount(6144) 333 20.11 资源分配 333 20.12 alloc(6956) 334 20.13 itrunc(7414) 334 20.14 free(7000) 335 20.15 iput(7344) 335 20.16 ifree(7134) 335 20.17 iupdat(7374) 335 第21章 管道 337 21.1 pipe(7723) 337 21.2 readp(7758) 337 21.3 writep(7805) 338 21.4 plock(7862) 338 21.5 prele(7882) 338 第五部分 面向字符的特殊文件 第22章 面向字符的特殊文件 339 22.1 LP11行式打印机驱动程序 339 22.2 lpopen(8850) 340 22.3 注释 340 22.4 lpoutput(8986) 340 22.5 lpstart(8967) 341 22.6 lpint(8976) 341 22.7 lpwrite(8870) 342 22.8 lpclose(8863) 342 22.9 讨论 342 22.10 lpcanon(8879) 342 22.11 对读者的建议 343 22.12 PC11纸带阅读机/穿孔机驱动 程序 344 第23章 字符处理 345 23.1 cinit(8234) 346 23.2 getc(0930) 346 23.3 putc(0967) 347 23.4 字符集 347 23.5 图形字符 348 23.6 UNIX惯例 349 23.7 maptab(8117) 349 23.8 partab(7947) 349 第24章 交互式终端 351 24.1 接口 351 24.2 tty结构(7926) 351 24.3 注释 352 24.4 初始化 352 24.5 stty(8183) 352 24.6 sgtty(8201) 353 24.7 klsgtty(8090) 353 24.8 ttystty(8577) 353 24.9 DL11/KL11终端设备处理程序 353 24.10 设备寄存器 354 24.11 接收器状态寄存器 354 24.12 接收器数据缓存寄存器 354 24.13 发送器状态寄存器 354 24.14 发送器数据缓存寄存器 354 24.15 单总线地址 354 24.16 软件方面的考虑 355 24.17 中断矢量地址 355 24.18 源代码 355 24.19 klopen(8023) 355 24.20 klclose(8055) 356 24.21 klxint(8070) 356 24.22 klrint(8078) 356 第25章 tty.c文件 357 25.1 flushtty(8252) 357 25.2 wflushtty(8217) 357 25.3 字符输入 358 25.3.1 ttread(8535) 358
2024-02-18 18:01:58 9.56MB unix
1
1. 用户画像是什么 2. 画像规划和数据架构 3. 数据指标体系 4. 标签开发和存储 5. 作业流程调度(ETL) 6. 作业性能调优 7. 画像产品形态 8. 用户画像应用
2024-01-17 18:52:10 4.52MB 用户画像 数据指标 标签开发
1
文章主要从系统技术的角度来分析几种FTTH技术的特征、问题与方案选择。当然,除了系统技术外,影响其发展的因素很多,主要是业务和应用以及管制政策。此外,各种配套元器件技术和敷设安装测试技术也十分关键。
2024-01-15 16:32:17 43KB 网络
1
经典必读的PYTHON教程之一。此书适合对PYTHON结构有强烈兴趣和想进一步提高PYTHON编程水平的读者。阅览此书,需要具备一定PYTHON语言基础知识,所以我不推荐新手下载此书。 完整版共计容量约29M,我上传时,切割成三个压缩包。请下载的同学注意不要遗漏。
2024-01-13 20:35:09 9.54MB Python 源码
1