随笔分类 - Linux操作系统
摘要:1. 高性能定时器:时间轮,时间堆 (處理超時時間,如nginx使用紅黑樹,找出最可能超時的事件)2. 高性能服务器程序框架:(nginx 使用的是基於事件模型,epoll,不阻塞,異步處理)两种高效的事件处理模式: Reactor模式 Proactor模式两种高效的并发模式:半同步/半异步模式 ...
阅读全文
摘要:1 static int ksoftirqd(void * __bind_cpu) 2 362 { 3 363 int bind_cpu = (int) (long) __bind_cpu; 4 364 int cpu = cpu_logical_map(bind...
阅读全文
摘要:lua的语言特性:1. lua 的table可以实现多种数据结构:数组、记录、线性表、队列、集合等;2. lua的closure闭合函数3. lua的迭代器和泛型的for4. lua的协同程序:管道和过滤器5. c與lua的交互接口, nginx lua 模塊有待補充...
阅读全文
摘要:cdn内容分发网络:1. 内容缓存Web cache技术,反向代理2. 集群服务与负载均衡技术 LVS(四层) 与 nginx(七层)3. 全局负载均衡工作原理:基于DNS解析的GSLB实现机制, 开源的DNS服务软件BIND
阅读全文
摘要::%s/src/dest/gc subsititute:1, $ d delete:/name ?name up->down down->up find:wq! save &quitdd | 3dd delete a or many lineyy | 3yy copy ...
阅读全文
摘要:git statusgit branch new_branchgit checkout branchgit commit -am "modify message"git push origin branch|mastergit pull origin branch|master
阅读全文
摘要:本周接触Linux的内容:1.netstat -tanlp 显示监听的所有端口并且不解析端口为属于哪个进程 history | grep cmd 从命令历史中找到需要的命令2. scp命令的使用:从远程服务器拷贝到本地scp adminuser@192.168.20.127:/Users/admin...
阅读全文
摘要:路由器中可能使用的系统是嵌入式的Linux,常用的进程:需要操作data model的进程,编译的时候动态绑定data model动态库,有进程共享锁,mmap共享内存web服务器 通过浏览器配置路由的参数dhcp服务器 为连接到路由的设备配置动态的IPdns客户端 解析域名cwmp客户...
阅读全文
摘要:1.WinXP常用的网络命令:netstat(端口state)、ipconfig(ip,dhcp,dns)如ipconfig /flushdns或 ipconfig /displaydns、nslookup(dns)、ping(icmp)、tracert(icmp)、route(路由表), arp查...
阅读全文
摘要:进程之间的通信和同步方式:1.管道(pipe)( 分为有名管道[父子间的进程],无名管道FIFO[无关进程](服务器与客户端进程,在同一台机器上))2.消息队列 (mq, 可以使用共享内存实现)3.信号量 ( semaphore) (如linux的PV操作sem_post, sem_wait)4.共...
阅读全文
摘要:范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩![root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。# 如果加 z 参数,则以 .tar.gz 或 .t
阅读全文
摘要:select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include <sys/time.h> #include <unistd.h> select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include <sys/time.h> #include <unistd.h> int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeout); 参数maxfd是需要监视的最大的文件描述符
阅读全文
摘要:ubuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server。判断是否安装ssh服务,可以通过如下命令进行:xjj-desktop:~$ ssh localhost ssh: connect to host localhost port : Connection refusedxjj@xjj-desktop:~$ ssh localhostssh: connect to host localhost port 22: Connection refused如上所示,表示没有还没有安装,可以通过apt安装,命令如下:xjj-desktop:~$ sud
阅读全文
摘要:在 Ubuntu 系统中有两种设置环境变量 PATH 的方法。第一种适用于为单一用户设置 PATH,第二种是为全局设置 PATH。第一种方法:在用户主目录下有一个 .bashrc 文件,可以在此文件中加入 PATH 的设置如下:export PATH=”$PATH:/your path1/:/your path2/…..”注意:每一个 path 之间要用 “:“ 分隔。注销重启 X 就可以了。第二种方法:在 /etc/profile中增加。PATH="$PATH:/home/zhengb66/bin"export PATH环 境变量是 和Shell紧密相关的,用户登录系统后
阅读全文
摘要:这里我先给大家大致讲解下VBox的网络配置及应用。VirtualBox的提供了四种网络接入模式,它们分别是:1、NAT 网络地址转换模式(NAT,Network Address Translation)2、Bridged Adapter 桥接模式3、Internal 内部网络模式4、Host-only Adapter主机模式下面我们分别对这四种网络模式进行分析解释:第一种 NAT模式解释:NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。虚拟机与...
阅读全文
摘要:1、安装$ sudo apt-get install vsftpd2、设置 vsftpd.conf文件(查找对应项,去掉注释#,或更改成自定义值)备份vsftpd.conf文件$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old编辑vsftpd.conf文件vsftp.conf文件的介绍:listen=YES#listen_ipv6=YESanonymous_enable=YES 允许匿名登入#local_enable=YES 允许本地用户登入#write_enable=YES 允许本地用户修改和删除#local_umask=022 FTP上传文件权限
阅读全文
摘要:LINUX c++线程池框架本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。为什么需要线程池目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。传统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执
阅读全文
摘要:转自陈皓 (CSDN),加上自己的学习体会!概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别
阅读全文
摘要:JPEG图像的解压缩操作解压缩操作过程1.为JPEG对象分配空间并初始化2.指定解压缩数据源3.获取文件信息4.为解压缩设定参数,包括图像大小,颜色空间5.开始解压缩6.取出数据7.解压缩完毕8.释放资源为JPEG对象分配空间并初始化解压缩过程中使用的JPEG对象是一个jpeg_decompress_struct的结构体。同时还需要定义一个用于错误处理的结构体对象,IJG中标准的错误结构体是jpeg_error_mgr。structjpeg_decompress_struct cinfo;structjpeg_error_mgr jerr;然后是将错误处理结构对象绑定在JPEG对象上。cinf
阅读全文
摘要:Linux视频设备驱动常用控制命令使用说明设置视频设备属性通过ioctl来进行设置,ioctl有三个参数,分别是fd, cmd,和parameter,表示设备描述符,控制命令和控制命令参数。1. 控制命令VIDIOC_QUERYCAP功能: 查询设备驱动的功能 ;参数说明:参数类型为V4L2的能力描述类型struct v4l2_capability;struct v4l2_capability { __u8 driver[16]; /* i.e. "bttv" */ //驱动名称, __u8 card[32]; /* i.e. "Hauppauge WinTV&q
阅读全文

浙公网安备 33010602011771号