Linux与网络编程
文章平均质量分 77
Rock_N_Roll_
想成为一个摇滚文艺码农
展开
-
多线程操作哈希表避免死锁
copy自《UNIX环境高级编程》图11.11。#include <stdlib.h>#include <pthread.h>#define NHASH 29#define HASH(id) (((unsigned long)id)%NHASH)struct foo *fh[NHASH];pthread_mutex_t hashlock = PTHREAD_MUTEX_INITIALIZER;s原创 2017-06-26 10:55:49 · 2676 阅读 · 0 评论 -
面试总结之select和epoll
前言是否用过 select、epoll,什么是IO多路复用,epoll 水平触发和边缘触发。解答IO多路复用IO多路复用是进程一种预先告知内核的能力,使得内核一旦发现进程指定的一个或多个IO条件就绪,它就通知进程。IO复用应用的场合:(1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。(2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。(3)如果一个T原创 2017-08-21 12:12:16 · 3120 阅读 · 3 评论 -
面试总结之守护进程,僵尸进程和孤儿进程
前言请说说你对守护进程,僵尸进程和孤儿进程的理解解答孤儿进程与僵尸进程:在linux当中,子进程是由父进程创建的,子进程再创建新的进程。子进程的结束和父进程的运行是一个异步的过程,即父进程永远无法预测子进程到底什么时候结束。unix系统提供了一种机制可以让父进程获得子进程结束时的状态信息,也就是说在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存,但是仍然为其保留一定的信息,原创 2017-08-26 19:54:21 · 3077 阅读 · 1 评论 -
vim编辑器的使用
简明 Vim 练级攻略 简明 Vim 练级攻略 2011年09月07日 陈皓 评论 517 条评论 694,625 人阅读 vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看转载 2017-03-06 09:48:00 · 248 阅读 · 0 评论 -
Linux文件、目录与磁盘格式
文件系统特性:Linux的正规文件系统为Ext2。其包含三个数据:super block : 记录此文件系统的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式与相关信息等inode: 记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码block: 实际记录文件的内容,若文件太大时,会占用多个block.Ext2其数据访问方式为索原创 2017-02-26 22:55:57 · 2086 阅读 · 0 评论 -
Linux档案与目录管理
处理目录的常用指令:cd : 变换目录pwd : 显示目前所在的目录。-P 选项可以让我们取得正确的目录名称,而不是以链接文件的路径来显示。mkdir : 建立新目录rmdir 删除(空的)目录PATH变量的内容是一堆目录组成的,每个目录中间用冒号(:)来隔开,每个目录都有顺序之分的。其定义了执行命令时所查询的地方。echo $PATH 打印PATHPATH = “$PATH”:/root原创 2017-02-25 22:45:13 · 222 阅读 · 0 评论 -
Linux的文件权限与目录配置
Linux的文件权限与目录配置Linux文件属性-rw-r--r-- 1 root root 42304 Sep 4 18:26 install.log1. 第一个字符代表这个文件是“目录,文件或链接文件”[d]表示目录[-]表示文件[l]表示链接文件[b]表示设备文件里面的可供存储的接口设备[c]表示设备文件里面的串行端口设备,例如键盘。 接下来的字符,三个为一组,均为“rwx”三个原创 2017-02-25 17:51:48 · 262 阅读 · 0 评论 -
基于Reactor模式的libevent网络库之浅析与使用
Libevent特点:跨平台支持。支持linux,unix,和windows.统一事件源:对I/O事件,信号和定时事件提供统一的处理。线程安全。使用libevent_pthreads库来提供线程安全支持。基于Reactor模式的实现。Reactor事件处理机制:Reactor是一种事件驱动机制,有一个或多个并发的输入源(事件),有一个service handler, 有多个event ha原创 2017-07-07 17:01:49 · 1415 阅读 · 1 评论 -
线程同步:互斥量与条件变量
互斥量线程的优势主要是能通过全局变量来共享信息,但在多线程程序中,必须要确保多个线程不会同时修改同一变量(临界资源),或者某一线程不会读取正由其他线程修改的变量。当程序以非原子方式访问共享资源有一定概率会发生错误。如下面程序://代码转自Linux_Unix系统编程手册#include <pthread.h>#include "tlpi_hdr.h"static volatile int glo原创 2017-06-27 21:22:09 · 307 阅读 · 0 评论 -
详解wait和waitpid函数
转自:http://blog.csdn.net/kevinhg/article/details/7001719#include <sys/types.h> /* 提供类型pid_t的定义 */#include <sys/wait.h>pid_t wait(int *status) 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已转载 2017-06-29 17:52:08 · 215 阅读 · 0 评论 -
http协议浅析
HTTP协议:http协议是一种基于C/S模式的无状态协议,其既可以使用非持久连接,也可以使用持久连接,默认方式下HTTP使用持久连接。无状态指的是HTTP服务器并不保存关于客户机的任何信息。非持久连接指的是每个请求/响应对是经一个单独的TCP连接发送的,而持久连接指的是所有连接以及响应经由相同的TCP连接发送。HTTP报文格式请求行有三个字段,方法字段,URL字段和HTTP版本字段。方法字原创 2017-07-07 19:30:15 · 291 阅读 · 0 评论 -
面试总结之拥塞控制与流量控制
前言:拥塞控制和流量控制分别是什么概念?流量控制的过程,分别解决什么问题?解答:首先需要明确这两个概念从手段上都是通过遏制发送方,但使用它们其实是出于不同的目的。流量控制应用在如下场景:一条TCP连接的双方主机都为该连接设置了接收缓存。当该TCP连接收到正确按序的字节后,它就将数据放入接受缓存。相关联的应用进程会从该缓存中读取数据,但不一定是立即去读数据,可能现在接收方应用正在忙于其他的服务。那么如原创 2017-09-02 11:13:54 · 1626 阅读 · 0 评论