linux
文章平均质量分 76
zhang1308299607
硬件不够 软件优化
展开
-
linux中目录的权限以及文件的stat用法
目录的权限: r:可以读取该目录下的目录结构,可以查询该目录下的文件名,但不可进入该目录 w:目录写权限可以做如下事情,很重要,慎重对待。 ·新建新的文件/目录 ·删除已存在的文件与目录 ·将已存在的文件或目录重命名 ·转移该目录内的文件或目录位置 总的来说,就是改变目录结构的权限。 x:可以进入该目录,执行该文件。[-]stat命令执行命转载 2017-03-22 18:50:56 · 2664 阅读 · 0 评论 -
TCP/UDP端口号调研 tcp的6个标志位
端口号分类:知名端口(1)公认端口(Well-Known Ports)知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。(2) 注册端口(Registered P原创 2017-07-24 16:04:57 · 1837 阅读 · 0 评论 -
简单的TCP server编写
首先认识几个必要的函数:1.socket (建立socket文件) 参数:第一个参数设置ip(V4 V6) 第二个参数数据类型(tcp是数据流) 第三个参数协议(默认为0)返回值:成功返回 文件描述符 失败返回-1 2.bind (将socket文件和网络绑定起来) int bind(int socketfd,struct sockaddr *serveraddr, int addrl原创 2017-07-28 13:28:19 · 1808 阅读 · 0 评论 -
奇偶校验 累加和校验 CRC校验
奇偶校验:所谓通讯过程的校验是指在通讯数据后加上一些附加信息,通过这些附加信息来判断接收到的数据是否和发送出的数据相同。比如说RS232串行通讯可以设置奇偶校验位,所谓奇偶校验就是在发送的每一个字节后都加上一位,使得每个字节中1的个数为奇数个或偶数个。比如我们要发送的字节是0x1a,二进制表示为0001 1010。采用奇校验,则在数据后补上个0,数据变为00原创 2017-07-08 23:49:12 · 21761 阅读 · 0 评论 -
信号 核心转储 gdb调试
信号: 使用kill -l 查看linux中的信号。 可以从上图看出linux中一共有62个信号(没有32,33)。1-31为普通信号,34-64为实时信号。我们主要关注前31个信号。每一个信号都有其对应的意义。1) SIGHUP 本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个原创 2017-06-24 00:05:21 · 1005 阅读 · 0 评论 -
关于函数传参,传引用 以及编译器的优化问题
在c语言中给函数传参时有两种方式,一种是传值,一种是传址。c++中的传参也两种,一种是传值,一种是传引用。从概念上可以认为是一一对应的。传值: 我们都知道形参是实参的一份临时拷贝,也就是说,在值传递的时候是现在函数的栈上开辟出来一块空间然后把实 参复制一份,然后接下来使用的就是这份复制得来的形参,这也从根本上说明了改变形参不会影响实参。传引用:直接去使原创 2017-07-12 18:24:43 · 1095 阅读 · 0 评论 -
关于管道
管道是进程间通信的方式之一管道的分类: 1:匿名管道 :可用于血缘进程间通信 (比如 父子进程)。 2:命名管道:可用于任意两个进程间通信。匿名管道通信:非亲缘进程间利用管道通信:写端:读端写端读端可以通过运行结果看出 两个无亲缘关系的进程通过管道实现了通信。管道通信中的原创 2017-06-07 15:17:39 · 332 阅读 · 0 评论 -
关于线程
一:什么是线程? 线程:线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一进程中的多个线原创 2017-06-06 08:10:16 · 901 阅读 · 0 评论 -
链表 环形 生产者消费者模型
生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关原创 2017-06-12 16:05:58 · 413 阅读 · 0 评论 -
关于linux中的死锁
一:什么事死锁? 进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于“死锁”状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。由于资源占用时互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必备的资源而无法运行,这就产生了一种特殊现象死锁。 举例两种情形:1原创 2017-06-05 00:12:30 · 982 阅读 · 0 评论 -
linux vim进度条的实现
linux vim进度条的实现原创 2017-04-06 16:19:37 · 966 阅读 · 0 评论 -
Linux进程描述符task_struct结构体详解
转载出处 @ http://blog.csdn.net/gatieme进程是处于执行期的程序以及它所管理的资源(如打开的文件、挂起的信号、进程状态、地址空间等等)的总称。注意,程序并不是进程,实际上两个或多个进程不仅有可能执行同一程序,而且还有可能共享地址空间等资源。Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所转载 2017-04-13 09:19:57 · 1798 阅读 · 2 评论 -
vim配置
在linux的命令行输入这句话就可以达到这个效果了: wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x(如果你g++和gdb没有装的话可以yum指令一键安装)原创 2017-04-13 08:27:01 · 277 阅读 · 0 评论 -
find指令用法 以及粘滞位
find指令 粘滞位原创 2017-03-31 21:13:53 · 329 阅读 · 0 评论 -
NAT技术、 代理服务器 路由算法
NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”, 简单的说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共IP地址紧缺的问题。 借助于NAT,原创 2017-07-24 13:24:56 · 627 阅读 · 0 评论