LINUX知识总结
文章平均质量分 64
xyouyubl
这个作者很懒,什么都没留下…
展开
-
LINUX 进程通信之匿名管道
(一)管道的创建管道是一种最基本的IPC机制,由pipe函数创建:#include int pipe ( int filedes[2] );pipe函数需要一个形参(一个含有2个整型元素的数组),创建成功返回0,失败返回-1该函数本质原理:当父进程创建子进程,子进程则按照父进程的PCB进行部分拷贝形成自己的PCB。在父进程的PCB中含有一个叫做files_struc原创 2017-03-28 19:15:42 · 344 阅读 · 0 评论 -
TCP协议中URG&PSH
上图展示了TCP的报头信息,下来我们介绍URG与PSH:什么是URG与PSH?URG紧急URG(URGent) 当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应当尽快传输(相当于高优先级的数据),而不要按原来的排队顺序来传送。例如:已经发生了很长的一个程序要在远地的主机上运行。DNA后来发现了一些问题,需要取消该程序的运行。因此用户从键盘上发出中断命令(Ctrl+C)。如原创 2017-06-23 10:27:49 · 702 阅读 · 0 评论 -
TCP协议中的定时器
TCP协议中的定时器(1)连接建立(connection establishment)”定时器:在发送SYN报文段建立一条新连接时启动。如果在75秒内没有收到响应,连接建立将中止。 (2)“重传(retransmission)”定时器:在TCP发送某个数据段时设定。在滑动窗口协议中,接受窗口会在连续收到的包序列中的最后一个包向接收端发送一个ACK,当网络拥堵的时候,发送端的数据包和接收端转载 2017-06-23 10:35:50 · 421 阅读 · 0 评论 -
TCP的3次握手和4次挥手
三次握手建立连接: 如上图(黑框)所示,在最初两端的TCP进程都处于CLOSED状态。host1主动打开连接,而host2被动打开连接。host2的TCP服务器进程优先创建传输控制块TCB,准备接受客户进程的连接请求,然后将自己的状态有COLSED改为LISTEN(收听)状态,等待客户的连接请求;host1的TCP客户进程也是创建传输控制块TCB,然后向B发出连接请求报文段,这是首部中的同部位SYN转载 2017-06-23 11:15:12 · 281 阅读 · 0 评论 -
网络服务器select
#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#include <stdlib.h>#include <string.h>///////////////////static vo原创 2017-06-30 17:15:49 · 416 阅读 · 0 评论 -
epoll服务器
#include <sys/epoll.h>#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#defi原创 2017-07-03 15:36:58 · 285 阅读 · 0 评论 -
线程池
诸如web服务器、数据库服务器、文件服务器和邮件服务器等许多服务器应用都面向处理来自某些远程来源的大量短小的任务。构建服务器应用程序的一个过于简单的模型是:每当一个请求到达就创建一个新的服务对象,然后在新的服务对象中为请求服务。但当有大量请求并发访问时,服务器不断的创建和销毁对象的开销很大。所以提高服务器效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁,这样就引入转载 2017-07-03 15:44:47 · 266 阅读 · 0 评论 -
UDP套接字编程
client#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<string.h>#include<netinet/in.h>#include<arpa/inet.h>#include<stdlib.h>void usage(const char* proc){ printf("us原创 2017-07-03 16:00:36 · 265 阅读 · 0 评论 -
eval
shell中的eval 功能说明:重新运算求出参数的内容。语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。参 数:参数不限数目,彼此之间用分号分开。1.eval命令将会首先扫描命令行进行所有的替换,憨厚再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。2.eval也可原创 2017-07-03 16:06:53 · 263 阅读 · 0 评论 -
循环冗余检验CRC(Cyclic Redundancy Check)
CRC存在的意义现实的通信链路都不会是理想的。这就是说,比特在传输的过程中可能会产生差错:1可能会变成0,0可能会变成1,这就叫做比特差错。在一段是时间内,传输错误的比特占所传输比特总数的比率成为误码率BER(Bit Error Rate)。误码率与信噪比有很大的关系,在实际通信中不可能使误码率下降到零。 因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。 目前原创 2017-06-12 17:03:52 · 887 阅读 · 0 评论 -
ARP协议
ARP协议存在的作用在网网络通讯时,源主机的应用用程序知道目目的主机的IP地址和端又口口号,却不知道目目的主机的硬件地址,而而数据包首首先是被网网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目目的主机的硬件地址。ARP协议就起到这个作用。ARP协议的组成以太网目的地址:接收端的MAC地址 以太网源地址:发送方的MAC地址 帧类型 : 对于原创 2017-06-12 17:48:11 · 341 阅读 · 0 评论 -
crond
crond简介crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 Linux下的任务调度分为两类,系统任务调度和用户任务调度。 系统任务调度:系统周期性所要执行的工作,比转载 2017-06-09 15:14:17 · 502 阅读 · 0 评论 -
精灵进程
什么是精灵进程 以及其特点守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以说它们是在后台运行的。守护进程的特点: (1)Linux系统启动时会启动很多系统服务进程,守护进程没有控制终端,不能直接和用户交互原创 2017-06-09 14:45:00 · 498 阅读 · 0 评论 -
端口分类
在网络技术中,端口大致有两种意思: 1) 是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等; 2) 二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。也可以解释分为: 1) 软件端口:应用层的各种协议进程与运输实转载 2017-06-19 12:53:00 · 1049 阅读 · 0 评论 -
LINUX中粘滞位的作用及验证
一:LINUX粘滞位使用粘滞位(Stickybit),又称粘着位,是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位,也只能针对目录设置,对于目录内文件有效。则设置了粘滞位后,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应用中,粘滞位一般于/tmp目录,以防止普通用户删除或移原创 2017-02-19 21:31:51 · 511 阅读 · 0 评论 -
LINUX下 PCB的结构task_struct构造分析
一、task_struct 结构描述1.进程状态(State)进程执行时,它会根据具体情况改变状态。进程状态是调度和对换的依据。Linux 中的进程主要有如下状态,如表4.1 所示。(1)可运行状态处于这种状态的进程,要么正在运行、要么正准备运行。正在运行的进程就是当前进程(由current 宏 所指向的进程),而准备运行转载 2017-02-19 20:40:54 · 3000 阅读 · 0 评论 -
LINUX 进程调度算法
进程调度: 无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。一、进程的基本状态及状态间的转换: 1.等待态:等待某个事件的完成; 2.就绪态:等待系统分配处理器以便运行;转载 2017-02-19 20:32:56 · 639 阅读 · 0 评论 -
程序进度条分析及编程
一:思考思路 1:简单进度条的模型类似于 [ ] [% 0] [# ] [%10] 实际上就是将原创 2017-02-16 22:50:38 · 645 阅读 · 0 评论 -
liunx下对于modification time(更改mtime),status time(ctime),access time(atime)的理解与
一:操作环境 基于liunx操作系统的虚拟机二:实例创建及属性显示原创 2017-02-14 23:50:28 · 780 阅读 · 0 评论 -
Linux 进程通信之 命名管道
命名管道(一)概念原创 2017-03-31 22:09:49 · 321 阅读 · 0 评论 -
Linux 进程间通信之 消息队列
消息队列(一)概念 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每一个数据块都被认为是一个有类型,接受者进程接受的数据块可以有不同的类型值。我们可以通过发送消息来避免命名管道的同步与阻塞问题。消息队列与管道不同的是,消息队列是基于消息的,而管道是基于字节流的,且消息队列的读取不一定按照先入先出。消息队列与命名管道有一样的不足,就是每个消息的最大长度是有上限原创 2017-03-31 23:10:19 · 316 阅读 · 0 评论 -
gdb调试多进程和多线程命令
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2017-06-06 16:14:17 · 319 阅读 · 0 评论 -
NAT技术
转载自:NAT技术基本原理与应用概述 ##1.1 简介1.1.1 名词解释公有IP地址:也叫全局地址,是指合法的IP地址,它是由NIC(网络信息中心)或者ISP(网络服务提供商)分配的地址,对外代表一个或多个内部局部地址,是全球统一的可寻 址的地址。私有IP地址:也叫内部地址,属于非注册地址,专门为组织机构内部使用。因特网分配编号委员会(IANA)保留了3块IP地址做为私有IP地址:10.0.0.0转载 2017-06-19 12:39:15 · 375 阅读 · 0 评论 -
什么是代理服务器?其原理和常见的代理服务器
代理服务器的概念代理服务器(Proxy Server)是个人网络和Internet服务商之间的中间代理机构,它负责转发合法的网络信息,对转发进行控制和登记。代理服务器作为连接Internet(广域网)与Intranet(局域网)的桥梁,在实际应用中发挥着极其重要的作用,它可用于多个目的,最基本的功能是连接,此外还包括安全性,缓存,内容过滤,访问控制管理等功能。代理服务器,顾名思义就是局域上不能直接上转载 2017-06-19 12:45:26 · 2267 阅读 · 0 评论 -
模拟多进程多进程服务器
序言网络字节序C语言中,内存中的多字节数据相对于内存地址有大端和小端之分,磁盘文文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。网络数据流同样有大端小端之分,那么如何定义网络数据流的地址呢?发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存,因此,网络数据流的地址应这样规定:先发出的数据是低原创 2017-06-26 15:17:00 · 602 阅读 · 0 评论