
Linux
文章平均质量分 79
小葱1024
耐得住寂寞才能守得住繁华,在该奋斗的年纪不要选择了安逸,
坚持梦想,无畏风雨
展开
-
浅析粘滞位
在了解粘滞位之前,我们先来回忆一下一个文件具有的三种权限,在Linux下有一种一切皆文件的思想,所以,这里的文件包含普通文件和目录了:一、文件权限:r :可以读这个文件的内容w :可以编辑这个文件的内容,包括增加和删除文件的具体内容x :可执行权限。(需注意:在windouw下,文件的可执行权限是通过文件的扩展名表示出来的,而在Linux下是由这个X权限所决定的)。原创 2017-03-29 12:50:06 · 599 阅读 · 0 评论 -
调研死锁问题
本文讲述的要点:1.死锁的概念2.为什么会产生死锁?3.死锁产生的条件?4.如何解决死锁?1.死锁的概念:定义为一组 相互竞争系统资源或进行通信的进程间的“永久”阻塞。可以概括为所有的死锁问题都涉及两个或多个进程之间对资源需求的冲突。看了上面的概念,可能还是不太能理解什么叫死锁?所以下面我们再用通俗点的话来解释。2、为原创 2017-06-03 00:41:51 · 934 阅读 · 1 评论 -
ARP协议
理解arp协议 编写arp脚本抓取对应主机mac地址 ARP:地址解析协议*用来将IP地址转换为MAC地址的。 背景知识: IP地址:给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围唯一的32位的标识符。 通俗点讲:标识网络中不同主机的地址。 端口号:同一台主机上标识不同进程的地址。 IP地址+端口号 ——》标识网络中唯一的进程。在网络通讯原创 2017-07-10 20:53:18 · 403 阅读 · 0 评论 -
代理服务器与NAT
文章概要: 1.代理服务器? 2.代理的过程? 3.NAT? 4.NAT技术?代理服务器(Proxy Server)代理(英语:Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。 (client —–server) 代理服务器:代理服务器就是代理网络用户去取得网络信息。 形象的说:它是网络原创 2017-07-11 00:17:40 · 704 阅读 · 0 评论 -
守护进程及创建
前言: 1.了解守护进程 2.守护进程的特点 3.如何创建守护进程 4.创建守护进程时fork一次与fork两次的区别初识守护进程守护进程也称为精灵进程(Daemon),是运行在后台的一种特殊进程(孤儿进程)。 守护进程独立于控制终端并且周期性地执行某些任务或等待处理某些发生的事件。一般的进程都会在用户登录时或运行程序时创建,在用户注销或程序运行结束时终止。但是守护进程不受用户登录或注销的原创 2017-07-02 13:45:30 · 438 阅读 · 0 评论 -
调研crond (linux下的定时任务)
前言: 1.了解crond以及crontab 2.了解涉及的背景知识 3.深入理解crontab文件 4.举例说明linux下需要循环运行的例行性任务,是使用crond这个系统服务来控制的。 linux系统上有非常多的计划性工作,因此这个系统服务是默认启动的。另外,由于一般用户有时也想要设置计划任务,所以,linux系统也提供了控制计划服务的命令:crontab命令。认识crondcron原创 2017-07-02 18:33:41 · 521 阅读 · 0 评论 -
生产者消费者模型(一)
什么是生产者和消费者?在实际的软件开发中,经常会遇到这样的场景:某个模块负责生产数据,这些数据由另一个模块来负责处理。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。对于生产者/消费者模型来说,上面所述还需一个缓冲区,这个缓冲区处于生产者和消费者之间,作为一个中介。 生产者将数据放入缓冲区,而消费者从缓冲区取出数据。生产者和消费者模型为什么需要缓冲区?1.解耦假设生产者和消费者原创 2017-07-03 00:53:40 · 1206 阅读 · 0 评论 -
生产者与消费者模型(二)
在上一篇博客中我们了解了什么是生产者与消费者模型? 也掌握了生产者与消费者模型的规则,并且实现了基于单链表的生产者与消费者模型,但是我们实现的基于单链表的生产者与消费者模型还是存在问题,存在死锁的问题,如果想深入理解死锁问题的,可以去看下我总结的死锁的博客。这篇博客我们主要来实现基于环形队列的生产者与消费者模型。 由于上一篇博客已经讲清楚了关于生产者与消费者的各种问题,所以这篇博客我们就直接来实原创 2017-07-03 01:19:31 · 617 阅读 · 0 评论 -
CRC校验
CRC校验是什么? 如何进行校验? 具体的例子? CRC校验为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。 目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check)。CRC校验原理:先在要发送的帧后面附加一个数(这个数就是用来校验的校验码FCS,这个校验码是二进制序列的),生成一个新帧发送给接收端。关于这个校验码,不是随机选原创 2017-07-09 16:09:41 · 1447 阅读 · 0 评论 -
进程间通信----->共享内存
本文内容说明: *共享内存的概念 *通过共享内存来达到进程间通信。共享内存:在Linux中,每个进程都有自己的P C B 和地址空间,并且都有一个对应的页表,负责将进程的地址和物理地址进行映射,通过MMU来管理。创建一段共享存储区(临界资源),被映射到不同进程的地址空间内,从而实现了高效率的资源共享。共享内存的优点及缺点:优点: 共享内存在所有用于进程间通信的IPC资源中实现进程间通信的速度是原创 2017-05-20 00:25:15 · 745 阅读 · 0 评论 -
使用gdb调试多进程及多线程程序
多进程调试:首先来了解下会可能会用到的调试命令: 1.默认设置下,在调试多进程程序时GDB只会调试主进程。 但是如果设置follow-fork-mode的话,就可调试多个进程。 set follow-fork-mode parent|child: 进入gdb后默认调试的是parent,若是想要调试child的话,需要设置set follow-fork-mode child,然后原创 2017-06-04 18:29:59 · 1445 阅读 · 0 评论 -
Linux下查找文件的命令
Linux下文件的查找命令:Which查看可执行文件的位置。whereis查看文件的位置。(只能用于查找程序名)locate配合数据库查看文件位置。Find实际搜寻硬盘查询文件名称。一、脚本文件名的查找:1.which(查找“可执行文件”)which是根据用户所设置的PATH变量内的目录去查找可执行文件的。 可执行原创 2017-03-29 01:03:43 · 603 阅读 · 0 评论 -
Linux下关于文件的三个时间(atime/ctime/mtime)
首先:必须声明一点:这篇文章的内容也有网上的一些大神总结的东西, 而我自己是在查阅了好多资料后才总结出来的,其中肯定会引用一些我觉得写的很好的。首先,介绍一下关于目录权限的问题: 关于目录的访问权限:你创建目录其实就是为了在其目录下创建文件或者是创建子目录,那么你需要给出此目录的三种权限(可读、可写、可执行)。 还有一种情况:你创建的目录,希望和你同组的成员或者别人可以看到你目录下的内容,原创 2017-03-20 01:00:21 · 898 阅读 · 0 评论 -
linux基本指令总结(二)
1.basename 路径名/文件名 作用:在一串字符中提取文件名2.dirname 路径名/文件名作用:(处理路径)在一串字符中提取父目录3.more指令类似cat的功能(显示文件的内容),又有之不同,就是more是一页一页的显示,而且按(上下左右箭头没有效果),可以按(Enter/space)来翻页(向下翻)。 more +5 file1(more +n filename) 作用:从第原创 2017-03-25 00:18:46 · 602 阅读 · 0 评论 -
鸟哥的私房菜随笔
刚开始学Linux,就已经喜欢上了这种只需输入命令就可以完成各种各种操作的操作系统,不需要像windows一样,需要用鼠标点击的操作, 在Linux下只需要几行指令就可以完全搞定。 下面是在看鸟哥的私房菜时写的一些随笔,希望可以帮助到你。 1.linux一般将文件可存取访问的身份分为3个类别:owner /group/others/ 且3种身份各有read /write/execu原创 2017-03-16 00:10:45 · 590 阅读 · 0 评论 -
初探进程及task_struct
文章概要: 1.进程概念的简单普及 2.进程控制块(PCB)中成员信息 一、进程描述和控制:1.操作系统必须支持交替执行多个进程,在合理的响应时间范围内使处理器的利用率达到最大。 2.操作系统必须按照特定的策略(例如某些函数或者应用程序具有较高的优先级)给进程分配资源,同时避免死锁。 3.操作系统可以支持进程间的通信和用户创建进程,它们对构造应用程序很有帮助。 小贴士:一个计算机平台原创 2017-04-10 00:06:08 · 452 阅读 · 0 评论 -
探索文件描述符(fd)与FILE结构体之间的关系
文件描述符(fd)对于linux而言,所有对设备(对于linux而言,一切皆文件)和文件的操作都使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,指向内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符用于后续对文件的读写操作;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。通常情况下,将一个程序从硬盘加载到内存后原创 2017-05-09 14:09:28 · 5476 阅读 · 0 评论 -
进程间通信之管道
管道: 管道是进程间通信的主要手段之一。 一个管道实际上就是个只存在于内存中的文件, 对这个管道的操作需要两个已经打开的文件(两个文件描述符),代表管道的两端。管道根据其适用范围可分为: 匿名管道和命名管道。管道容量:管道容量分为pipe buf和pipe capacity两种: 1.先来看看第一种pipe buf: pipe buf定义的是内核管道缓冲区的容量,这个值原创 2017-05-18 00:55:27 · 481 阅读 · 0 评论 -
进程间通信---->信号量
进程间通信(IPC)Linux中的内存空间分为系统空间和用户空间。 在系统空间中,由于各个线程的地址空间都是共享的,即一个线程能够随意访问kernel中的任意地址,所以无需进程通信机制的保护。 而在用户空间中,每个进程都有自己的地址空间,一个进程为了与其他进程通信,必须进入到有足够权限访问其他进程空间的kernel中,从而与其他进程进行通信。在Linux中支持System V 进程通原创 2017-05-19 00:35:53 · 771 阅读 · 1 评论 -
I/O多路转接之epoll
前言:认识epoll。。按照官方文档: epoll:是为处理大批量句柄而做了改良的poll。 被公认为Linux2.6下性能最好的多路I/O就绪通知方法。和之前的select和poll不同的是:epoll使用三个函数共同实现。epoll中的三个系统调用1.目的: 创建了一个epoll模型。 究其本质:创建了一棵空的红黑树。(内核)返回值:epoll模型的句柄。注:size参数可以不用关心。2原创 2017-08-10 08:16:05 · 580 阅读 · 0 评论