![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术文档
一沙一石一条河
但行好事,莫问前程
展开
-
linux内核剖析
总结一下最近对linux内核的浅在了解,主要从两个方面:Linux操作系统的体系架构和子系统Linux操作系统的体系架构主要分为用户空间和内核空间用户空间包括:包含glibc,提供了连接内核的系统调用接口,还提供了用户空间应用程序和内核之间进行转换的机制。(提供转换机制的原因:因为内核和用户应用程序之间使用的是不同的保护地址空间。每个用户空间的进程都是使用自己的 虚拟地址空间,而内核占用单原创 2016-05-23 23:29:06 · 304 阅读 · 0 评论 -
FASTDFS初探
FastDFS简述FastDFS是一个开源的轻量级分布式系统,她对文件进行管理,功能包括:文件存储,文件同步,文件上传,文件下载等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站,视频网站等。FastDFS服务端有两个角色:tracker跟踪器和storage存储节点。跟踪器主要做调度工作,在访问上起负载均衡的作用存储节点存储文件,完成管理的所有功能:原创 2017-02-20 20:18:28 · 440 阅读 · 0 评论 -
进程线程常见问题——简略版(linux下)
进程的状态及进程状态转换条件,进程与线程的关系,进程间通信,线程间通信,线程的实现原创 2017-02-12 09:50:49 · 446 阅读 · 0 评论 -
用户栈和内核栈的区别
什么是系统栈,什么是用户栈,系统栈与用户栈的区别原创 2017-02-12 16:11:52 · 2659 阅读 · 0 评论 -
内存池,进程池,线程池
进程池,线程池,内存池原创 2017-02-12 16:25:36 · 753 阅读 · 0 评论 -
死锁的常见问题
死锁的生成条件,如何避免死锁原创 2017-02-12 20:56:53 · 384 阅读 · 0 评论 -
OSI模型;TCP/IP
OSI 七层模型,TCP/IP模型;网络中不同主机之间通信过程原创 2017-02-12 21:40:33 · 240 阅读 · 0 评论 -
TCP协议通讯流程
TCP协议通讯流程服务器调用socket(),bind(),listen()完成初始化,调用accept()完成阻塞等待,使服务器处于监听端口状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应答一个ACK段,服务器收到后从accept()返回。数据传输过程:建立连原创 2017-02-14 11:22:38 · 344 阅读 · 0 评论 -
ASN1之DER编码规则
在说DER之前先了解一个概念,数据的序列化。什么是数据的序列化呢,将高级语言代码转变成二进制流的过程就是数据的序列化。数据序列化的目的就是物理存储和网络传输。在高级语言中有许多结构化的结构,比如,树,图,结构体等,高级语言里的代码最终在网络中都是以二进制流的形式进行传输的,但是对于结构化的数据除了编成二进制码外,他们之间存有一定的关系,为了在对方仍然知道这些关系以用来还原之前的结构,因此除了对原创 2017-03-20 22:16:52 · 5742 阅读 · 1 评论 -
NGINX应用之优化
在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题。今天这里简单梳理下nginx性能优化的配置(仅仅依据本人的实战经验而述,如有不妥,敬请指出~)一、这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项:1)nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。work转载 2017-02-19 10:21:08 · 485 阅读 · 0 评论 -
nginx源码剖析之内存池与内存管理
nginx内存源码剖析,内存池,内存管理转载 2017-02-18 11:05:33 · 351 阅读 · 0 评论 -
文件系统
首先从文件存储相关概念入手:inode其本质为结构体,存储文件的属性信息。如:权限,类型,大小,时间,用户,盘块位置....也叫作文件属性管理结构,多数的inode都存储在磁盘上。少量常用,近期使用的inode会被缓存到内存中。dentry目录项,本质上是结构体,重要成员有两个{文件名,inode,.....}文件内容data保存在磁盘块中。文件系统文件系统是一组规则,规定原创 2016-05-24 10:10:12 · 270 阅读 · 0 评论 -
系统调用和库函数调用的区别
系统调用:sci,,位于内核空间,实际上是一个非常有用的函数调用多路复用和多路分解服务。一般是由c和汇编混合编写实现,接口用c来定义,具体实现则是汇编,执行效率高,方便上层调用。库函数调用:库函数分为两类:一类是随着操作系统提供的,一类是第三方提供的,随着操作系统提供的这些库函数把系统调用进行封装或者组合,可以实现更多的功能,这样的库函数能够实现一些对内核来说比较复杂的操作。系统调用和库函原创 2016-05-24 09:56:49 · 277 阅读 · 0 评论 -
数据块寻址
如果一个文件有多个数据块,这些数据块很可能不是连续存放的。这些数据块通过Inode中的索引项block来找到这样的索引项一共有15个,block[0]--block[14],每个索引项占4个字节。前12个索引项都表示块的标号,如block[0]保存27,表示第27个块是该文件的数据块。剩下的3个索引block[12],block[13],block[14]都是间接索引。一级间接寻址原创 2016-05-24 11:08:17 · 842 阅读 · 0 评论 -
文件操作
文件操作常用到的函数和需要注意的细节stat函数获取文件的属性(从inode结构体中获取)int stat(const char *path,struct stat*buf);参数:文件名,inode结构体指针(传出参数)文件属性将通过传出参数返回给调用者lstat函数int lstat(const char * path,struct stat*buf)获取文件属原创 2016-05-24 11:18:09 · 232 阅读 · 0 评论 -
nginx的多进程模型
nginx多进程模型,nginx多进程模型的好处原创 2017-02-17 10:10:23 · 698 阅读 · 1 评论 -
nginx多进程模型之热部署
nginx热部署当修改配置文件后,执行命令nginx -s reload,bash会给master发送一个SIGHUB信号,master会把SIGHUB信号发送给各个worker,各个worker在接受到该信号时,如果该worker处于忙状态,则先将手里的工作做完后再挂掉,重新加载修改后的配置文件来生成一个新的worker,如果该worker处于闲状态,则立刻挂掉,重新启动。原创 2017-02-17 11:01:13 · 713 阅读 · 0 评论 -
NGINX的高并发处理
nginx的网络事件通过worker的抢占机制和异步阻塞来实现原创 2017-02-18 09:51:55 · 2130 阅读 · 0 评论 -
nginx的事件处理
nginx作为web服务器对网络事件,信号,定时器的处理原创 2017-02-18 10:30:05 · 367 阅读 · 0 评论 -
OpenDDS之DDS学习笔记
DDS:data distribution service数据分发服务 DDS信息发布中间件是一种轻便的、能够提供实时信息传送的中间件技术。DDS中间件是一个软件层,从操作系统、网络传输和底层数据格式的细节中抽象出应用。相同的概念和api提供给不同的编成语言,使得应用在不同的操作系统、编成语言和处理体系架构之间交换信息。底层细节包括数据传输格式、发现、连接、可靠性和、协议、Qos...原创 2018-07-26 13:45:25 · 42260 阅读 · 0 评论