Linux
文章平均质量分 87
snow_5288
三天不读书,智商输给猪
展开
-
Linux下的黏滞位(Sticky bit)
1、什么是黏滞位?为什么需要黏滞位? 一般的,在Linux系统中用户只要对某个目录具备w写入权限,便可以删除该目录中的任何文件,而不论这个文件的权限是什么。比如我们进行一下操作:1>创建/test目录,并赋予777权限。2>以root用户的身份在/test目录中创建文件file1,并查看其默认权限。3>以普通用户snow原创 2017-03-27 20:30:58 · 1069 阅读 · 0 评论 -
端口
一、端口是什么“端口”是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。二、端口的基本术语1、硬件端口 CPU通过接口寄存器或原创 2017-06-19 18:19:08 · 1443 阅读 · 4 评论 -
循环冗余校验(CRC校验)
一、循环冗余校验的作用在网络传输过程中,我们可能会遇到或多或少的差错,所谓差错,是指接收端收到的数据和发送端实际发送的数据出现不一致的现象,凡是出现差错的地方,我们都应对其进行差错控制。差错控制的作用与机制: 差错控制是采用可靠、有效的编码以减少或消除计算机通信系统中传输差错的方法,其目的在于提高传输质量。主要作用是通过发现数据传输过程中的错误,采取相应的措施减少数据传输错误。差错控制的核心是对传原创 2017-06-19 20:02:43 · 8466 阅读 · 3 评论 -
线程安全与可重入函数
一,什么是线程安全?1,线程安全就是说多线程访问同一代码,不会产生不确定的结果。换句话说,线程安全就是多线程访问时,采用加锁机制,当一个线程访问该类的某个数据时,用锁对数据进行保护,其他线程不能访问该数据直到该线程读取完,其他线程才可使用,线程安全不会出现数据不一致或者数据污染。反之, 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。2,举个例子: 比如说原创 2017-06-09 20:20:48 · 1562 阅读 · 0 评论 -
gdb调试多进程与多线程
一,gdb的基础知识1>介绍: gdb是Linux环境下的代码调试工具。 2>使用:需要在源代码生成的时候加上 -g 选项. 3>开始使用: gdb binFile 4>退出:ctrl + d 或 quit 5>调试过程中的常用命令: list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。 list/l 函数名:列出某个函数的源代码。 r或run:原创 2017-06-10 16:32:25 · 25056 阅读 · 10 评论 -
Linux下的信号(三)----捕捉信号与sleep模拟
Linux下的信号(一):信号的基本概念与产生 Linux下的信号(二):阻塞信号一,什么是捕捉信号?1,捕捉信号:信号处理方式三种方式中的一种,意思是既不忽略该信号,又不执行信号默认的动作,而是让信号执行自定义动作。捕捉信号要使用signal函数,为了做到这一点要通知内核在某种信号发生时,调用一个用户函数handler。在用户函数中,可执行用户希望对这种事件进行的处理。注意,不能捕捉SIGKIL原创 2017-06-09 19:34:34 · 1229 阅读 · 0 评论 -
子进程的异步等待方式
一,基础知识1,进程的各种状态 S:浅度睡眠,可以中断,可以杀死,暂停,修改等; D:深度睡眠,不可中断,永远不可变;2,僵死状态(Zombies)一个比较特殊的状态。 指子进程结束运行(exit(0))后,系统将会保留子进程的描述符信息(没有被回收,其他进程不可以重用该描述符),当进程退出并且父进程(使用wait()系统调用)没有读取到子进程退出的返回代码时就会产生僵尸进程。僵尸进程会以终原创 2017-06-11 11:45:02 · 1179 阅读 · 0 评论 -
Linux下的多线程编程一(系统编程)
一,线程的基本概念 1,线程的定义: 线程也被称为轻量进程(LWP)计算机科学术语,指运行中的程序的调度单位。线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。 在多中央处理器的系统里,不原创 2017-06-11 21:30:29 · 8237 阅读 · 0 评论 -
Linux下的多线程编程二(线程的同步与互斥)
一、什么叫做线程的同步与互斥?为什么需要同步与互斥?二、互斥量三、条件变量四、信号量五、读写锁原创 2017-06-14 14:53:47 · 4563 阅读 · 0 评论 -
Linux下的进程概论与编程一(进程概念与编程)
一、典型的Linux结构最简单也是最复杂的操作: 二、进程的概念1、进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。OS: 程序的一个执行实例。原创 2017-06-14 18:04:02 · 987 阅读 · 0 评论 -
Linux下的进程概论与编程二(进程控制)
Linux下的进程概论与编程一(进程概念与编程)一、进程标识符1、每个进程都有非负的整形表示唯一的进程ID。 几个典型进程的ID及其功能: 2、除了进程ID,每个进程还有一些其他的标识符。 下列函数返回这些标识符:#include <sys/types.h>#include <unistd.h>pid_t getpid(void); //返回值:调用进程的进程IDpid_t getppi原创 2017-06-14 21:06:10 · 756 阅读 · 0 评论 -
网络基础(一)
一、网络分层1、OSI网络分层 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类原创 2017-07-07 15:04:40 · 994 阅读 · 0 评论 -
Linux下的系统编程总结
1、基本指令,5个背景知识(OS,环境变量,文件类型,shell运行原理,文件权限) linux常见指令以及权限理解 Linux下的权限管理与相关时间概念 Linux下的find指令 Linux下的黏滞位(Sticky bit)2、开发环境(vim、gcc,g++,gdb,ctags,make,makefile) Linux环境搭建(vim,makefile,gdb…)3、进程1—–进程的原创 2017-06-18 15:40:29 · 1452 阅读 · 1 评论 -
Linux下的终端和作业控制
一、进程间的关系进程间的三种关系:进程组、作业和会话。 1、进程组 每个进程除了有一个进程ID之外,还属于一个进程组。进程组是一个或多个进程的集合。通常,它们与同一作业相关联,可以接收来自同一终端的各种信号。每个进程组有一个唯一的进程组ID。每个进程组都可以有一个组长进程(该组进程的第一个,组成员ID等于组长ID)。组长进程的标识是,其进程组ID等于其进程ID。组长进程可以创建一个进程组,创建该原创 2017-06-18 15:21:35 · 2542 阅读 · 1 评论 -
Linux环境搭建(vim,makefile,gdb...)
1、vim(编辑器)的使用 vim是vi的升级版本,二者都是多模式编辑器,vim兼容了vi的所有指令,同时还增加了一些新的特性在里面。 vi的三种基本模式:(vi有很多种模式,目前仅需掌握这三种) 1》命令模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入其他两种模式的中间模式。 2》插入模式:进行文字的输入,按【ESC】回到命令模式。 3》底行模式:将文件保存或退出vim原创 2017-05-22 15:44:09 · 2014 阅读 · 0 评论 -
Linux下的find指令
一、find命令【功能】find命令用来在目录结构中搜索文件,并执行指定的操作。在指定目录下查找文件时,任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。【命令格式】find pathname -options [原创 2017-03-27 17:17:16 · 531 阅读 · 0 评论 -
Linux下的权限管理与相关时间概念
一、Linux文件类型1、普通文件(regular file)第一个字符为[ - ]①纯文本档(ASCII):内容为我们人类可以直接读到的数据,例如数字、字母等等。②二进制文件(binary):Linux中的可执行文件(除scripts, 文字型批处理文件之外)就是这种格式的。③数据格式文件(data):有些程序在运作的过程当中会读取某些特定格式的档案,那些特定格式的档案可以被原创 2017-03-26 22:46:29 · 639 阅读 · 0 评论 -
Linux下的进程描述
进程: OS:程序的一个执行实例。 正在执重点内容行的程序。 能分配处理器并由处理器执行的实体。 内核观点:担当分配系统资源(CPU时间,内存)的实体。 进程的两个基本元素是程序代码(可能被执行相同程序的其他进程共享)和代码相关联的数据集。进程是一种动态描述,但是并不代表所有的进程都在运⾏行。(进程在内存中因策略或调度需求,会处于各种状态)进程控制块(PCB原创 2017-04-13 18:05:18 · 977 阅读 · 0 评论 -
Linux下的文件描述符与文件指针
文件描述符通常说,在Linux系统中一切皆文件。当然,设备也不例外,如果要对某个设备进行操作,就不得不打开此设备文件,打开文件就会获得该文件的文件描述符fd(file discriptor),它是一个很小的整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。 图中,文件描述符即为文件描述原创 2017-05-07 13:30:01 · 1326 阅读 · 1 评论 -
生产者消费者模型
一、概念引入日常生活中,每当我们缺少某些生活用品时,我们都会去超市进行购买,那么,你有没有想过,你是以什么身份去的超市呢?相信大部分人都会说自己是消费者,确实如此,那么既然我们是消费者,又是谁替我们生产各种各样的商品呢?当然是超市的各大供货商,自然而然地也就成了我们的生产者。如此一来,生产者有了,消费者也有了,那么将二者联系起来的超市又该作何理解呢?诚然,它本身是作为一座交易场所而诞生。将上述场景例原创 2017-05-28 21:02:50 · 9143 阅读 · 0 评论 -
linux常见指令以及权限理解
1、计算机的五大单元: 输入单元:包括键盘,鼠标,扫描仪,手写板等。 中央处理器(CPU):含有算术逻辑,控制,记忆等单元。 输出单元:显示器,打印机。 注意:存储器☞内存,CPU只能与内存打交道2、环境变量的概念 PATH指定命令的搜索路径 HOME:指定用户的主工作目录 LOGNAME:☞当前用户的登录名 SHELL:☞当前用户用的哪种shell修改和查看环境变量的命令:原创 2017-05-18 13:56:43 · 1764 阅读 · 0 评论 -
死锁概述与总结
一、死锁的引入顾名思义,死锁死锁肯定与锁有关,我们知道引入锁又是为了解决多进程或多线程之间的同步与互斥问题,那么到底怎样的情形才会产生死锁呢? 典型的两种死锁情形: (一)线程自己将自己锁住 一般情况下,如果同一个线程先后两次调用lock,在第二次调⽤用时,由于锁已经被占用,该线程会挂起等待占用锁的线程释放锁,然而锁正是被自己占用着的,该线程又被挂起而没有机会释放锁,因此 就永远处于挂起等待状原创 2017-05-30 13:34:14 · 6530 阅读 · 1 评论 -
Linux下的信号(一)----信号的基本概念与产生
一,信号的基本概念1,什么是信号? 日常生活中,当我们走到马路上时,看到的绿灯是一种信号,它能提示我们怎样安全的过马路。又比如,新学期开始学校给每个班发的课表也是一种信号,它能提示同学们在适当的时间地点去上相应的课程而不是虚度光阴……生活中其实我们忽略了很多信号,正是由于这些信号的存在,才使得我们的生活方便而有序。 总结一下你会发现信号是什么,信号就是当你看到它是知道原创 2017-06-04 18:24:37 · 1960 阅读 · 4 评论 -
Linux下的信号(二)----阻塞信号
一,信号在内核中的表示1,在此之前,必须先了解几个概念: 信号递达(Delivery):实际执行信号处理的动作。 信号未决(Pending):信号从产生到递达之间的状态。 信号阻塞(Block):被阻塞的信号产生时将保持在未决状态,直到 进程解除对此信号的阻塞,才 执行递达的动作。注意:信号阻塞和信号忽略是不同的。只要信号被阻塞就不会递达,除非解除阻塞,而忽略是在递达之后 可选的一种处原创 2017-06-05 00:11:20 · 1761 阅读 · 0 评论 -
Linux下的进程概论与编程三(进程间通信的5种方式)
Linux下的进程概论与编程一(进程概念与编程)Linux下的进程概论与编程二(进程控制)一、进程间通信1、IPC—-InterProcess Communication 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称原创 2017-06-15 22:37:36 · 4763 阅读 · 0 评论 -
Linux下的守护进程
一、什么是守护进程1、守护进程的引入 在现实生活中, 许多大型的软件或服务器必须保证7*24小时(一周7天,一天24小时)无障碍的运行,例如淘宝网、百度搜索引擎、支付宝等等,那么像这样一种要一直运行的程序怎么实现呢?究其本质其实就是我们的守护进程。2、守护进程的定义 守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事原创 2017-06-18 11:06:56 · 9161 阅读 · 0 评论 -
Web bench源码剖析
一、Web bench是什么?首先提一个概念—-压力测试。 在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟原创 2017-09-11 22:10:01 · 1664 阅读 · 0 评论