linux
文章平均质量分 60
XD_RBT_
这个作者很懒,什么都没留下…
展开
-
linux下软链接与硬链接的区别
linux系统中链接文件分为硬链接和软链接(软链接也叫符号链接)。1.硬链接是创建一个指向block的inode,有防止误删除的功能。因为删除一个文件,实际上是删除inode信息,切断了inode与block之间的联系。当给一个文件做了硬链接之后,删除文件时,只会减少文件的链接数,当链接数为0时,才会彻底删除该文件。软链接类似Windows系统的快捷方式,是一个完整的文件,有自己的inode和bl...原创 2018-03-30 17:13:21 · 1449 阅读 · 0 评论 -
Nagle算法
Nagle算法的规则:(1)如果包长度达到MSS,则允许发送;(2)如果该包含有FIN,则允许发送;(3)设置了TCP_NODELAY选项,则允许发送;(4)未设置TCP_CORK选项时,若所有发出去的小数据包(包长度小于MSS)均被确认,则允许发送;(5)上述条件都未满足,但发生了超时(一般为200ms),则立即发送。Nagle算法只允许一个未被ACK的包存在于网络,它...原创 2018-08-02 14:59:39 · 1754 阅读 · 0 评论 -
linux高性能编程学习笔记(1)
TCP/TP协议族:分层、多协议的通信体系,四层协议系统,自底向上:数据链路层、网络层、传输层、应用层数据链路层:实现网卡接口的网络驱动程序,以处理数据在物理媒介上得到传输数据链路层两个常用的协议:ARP协议(地址解析协议)、RARP协议(逆地址解析协议)网络层:实现数据包的选路和转发网络层最核心的协议是IP协议(因特网协议),另一个重要协议是ICMP协议(因特网控制报文协议)传输层:为两台主机上...原创 2018-04-27 23:21:12 · 189 阅读 · 0 评论 -
I/O复用的理解
I/O复用就是单个线程通过记录跟踪每一个Sock(I/O流)的状态来同时管理多个I/O流.假设你是一个机场的空管, 你需要管理到你机场的所有的航线, 包括进港,出港, 有些航班需要放到停机坪等待,有些航班需要去登机口接乘客。你会怎么做?最简单的做法,就是你去招一大批空管员,然后每人盯一架飞机, 从进港,接客,排位,出港,航线监控,直至交接给下一个空港,全程监控。那么问题就来了:· 很快你就发现空管...原创 2018-05-12 00:31:27 · 8744 阅读 · 2 评论 -
TCP阻塞模型下服务器和客户端的建立步骤
TCP阻塞模型下服务器和客户端的建立步骤:服务器的建立步骤:1.调用socket建立TCP套接字2.调用bind将套接字跟本地地址绑定3.调用listen建立监听4.建立accept接受来自客户端的连接,返回新的连接套接字5.在新的套接字上面,调用send/recv实现跟客户端的通信客户端的建立步骤:1.调用socket建立TCP套接字2.调用connect实现跟服务器的连接3.调用send/re...原创 2018-05-03 22:57:49 · 324 阅读 · 0 评论 -
Linux高性能服务编程(I/O复用)
I/O复用(本身是阻塞的)网络程序需要使用I/O复用技术的情况:1.客户端程序需要同时处理多个socket。2.客户端需要同时处理用户输入和网络连接3.TCP服务器要同时处理监听socket和连接socket4.服务器要同时处理TCP请求和UDP请求5.服务器要同时监听多个端口,或者处理多种服务。linux下实现I/O复用的系统调用主要有select,poll和epollselect系统调用的用途...原创 2018-05-09 22:43:20 · 794 阅读 · 0 评论 -
linux下的压缩与解压缩
一、zip格式zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。我们可以使用下列的命令压缩一个目录:# zip -r archive_name.zip directory_to_compress下面是如果解压一个zip文档:# ...原创 2018-05-02 22:42:43 · 445 阅读 · 0 评论 -
linux基本命令
cd(change direction):改变目录{cd / :进入根目录cd 目录名 :进入该目录cd .. :进入上一层目录cd . :进入当前目录cd ~ :进入当前用户(普通用户或超级用户(su root))的宿主(家)目录(cd ~目录名:回到该目录名的宿主目录)cd - :到达上一次的目录}chmod 修改权限 755(3个数字必须同时给出)(0-7八种状态)(二进制111 101 1...原创 2018-04-20 15:58:54 · 348 阅读 · 0 评论 -
进程间的通讯 systemV posix
在同一台计算机中的进程相互通信的方式主要有:管道(pipe)、信号(Signal)、信号量(Semaphore)、消息队列(Message)、共享内存(shared memory),其中信号量、消息队列、共享内存被称为IPC机制。报文队列(消息队列):消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消...原创 2018-04-03 22:36:01 · 321 阅读 · 1 评论 -
Linux 多线程同步机制:互斥量、信号量、条件变量
互斥量:互斥量提供对共享资源的保护访问,它的两种状态:lock和unlock,用来保证某段时间内只有一个线程使用共享资源,互斥量的数据类型是pthread_mutex_t主要涉及函数:pthread_mutex_lock() pthread_mutex_trylock() pthread_mutex_unlock() Pthreaf_mutex_init() pth...原创 2018-04-07 18:55:25 · 477 阅读 · 1 评论 -
BSS、数据段、代码段、堆区、栈区
BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。 数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。 代码段:代码段(code segment/tex...原创 2018-08-02 16:21:31 · 447 阅读 · 0 评论