首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux中mknod_linux命令解析器

个人觉得linux的软件设计思想异常强大,比如把所有的设备都当做文件来处理,大大简化了程序员的负担,向提出这个思想的大神s致敬!!...先来看看linux系统中设备管理的基本知识: 我们的linux操作系统跟外部设备(如磁盘、光盘等)的通信都是通过设备文件进行的,应用程序可以打开、关闭、读写这些设备文件,从而对设备进行读写,...linux为不同种类的设备文件提供了相同的接口,比如read(),write(),open(),close()。...mknod 的标准形式为: mknod DEVNAME {b | c} MAJOR MINOR 1,DEVNAME是要创建的设备文件名,如果想将设备文件放在一个特定的文件夹下...中读取数据,而不经过磁盘; c表示字符设备文件与设备传送数据的时候是以字符的形式传送,一次传送一个字符,比如打印机、终端都是以字符的形式传送数据; 3,

54840
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux系统驱动之I2C协议

    资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git...视频观看 百问网驱动大全 I2C协议 参考资料: i2c_spec.pdf 1....下图:白色背景表示"主→从",灰色背景表示"从→主" 3.3 I2C信号 I2C协议中数据传输的单位是字节,也就是8位。但是要用到9个时钟:前面8个时钟用来传输8数据,第9个时钟用来传输回应信号。...响应信号(ACK):接收器在接收到8位数据后,在第9个时钟周期,拉低SDA SDA上传输的数据必须在SCL为高电平期间保持稳定,SDA上的数据只能在SCL为低电平期间变化 I2C协议信号如下: 3.4...当它就绪后,就可以不再驱动三极管,这是上拉电阻把SCL变为高电平,其他设备就可以继续使用I2C总线了。 对于IIC协议它只能规定怎么传输数据,数据是什么含义由从设备决定。

    2.9K20

    c语言xml解析器libxm2

    写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的...基于以上几点原因,决定写一个在Windows平台下,使用C/C++语言,应用LibXml2库来进行xml文档操作,同时使用ICONV库进行中文编码转换的文档。...,因此其函数和数据类型都使用c语言的方式来处理。...include一个c文件并不奇怪,在c语言的年代我们常常这么干,唯一的害处的编译链接出来的可执行程序体积变大了。当然这时因为我们这段代码很小的原因,再大一点我就要用dll了。...用XML来做点什么 有了以上的基础,相信已经可以顺利的在c/c++程序中使用XML文档了。那么,我们到底要用XML来做什么呢?我随便说一说自己的想法: 第一,可以用来作为配置文件。

    2.7K30

    实现自己的应用层协议解析器

    我们每天都在使用应用层协议,http协议,smtp协议,dns协议等。但是我们有没有想过实现自己的应用层协议呢?有没有想过应用层协议的实现和解析呢?...本文就着这些问题,分享一下如何实现定义一个简单的应用层协议,并实现对应的解析器。 1 定义协议 协议,顾名思义,就是一种通信的约定,通信双方都能理解就行,我们可以定义复杂的协议,也可以定义简单的协议。...本文在于讲解原理,定义一个几乎最简单的协议。...所以我们要做的事情就是,判断tcp交给我们的字节流,根据开始和结束字符,逐个解析出我们的协议报文。 3 实现 下面开始通过代码实现这个协议的解析。首先实现一个有限状态机。...this[field] = value; } get(field) { return this[field]; } } 定义状态机状态和函数集 // 解析器状态

    98220

    linux|BGP协议

    边界网关协议 (BGP) 就是互联网的邮政服务。当有人把一封信投进邮筒时,邮政服务就会处理这封邮件,并选择一条快速、高效的路线将这封信投递给收件人。...BGP 是通过启用数据路由来使互联网正常工作的协议。当一位在新加坡的用户加载一个源服务器位于阿根廷的网站时,BGP 就是使这种通信快速、高效地进行的协议。 什么是自治系统?...这是通过对等会话完成的,其中,每一个自治系统都会通过 TCP/IP 协议连接到相邻的自治系统,以共享路由信息。通过这些信息,每个自治系统都能够正确地路由出站数据。 在这里,我们上面所做的比喻不再成立。...自治系统可从多种内部协议中选择,来连接内部网络上的路由器。 外部 BGP 就像国际运输。在国际上运送邮件时,需要遵循特定的标准和规则。...同样,每个自治系统都可以有自己的内部路由协议,用于路由自身网络内部的数据。

    3.1K20

    Linux网络-HTTP协议

    Linux网络:HTTP协议 零、前言 HTTP协议 1、认识URL 2、urlencode和urldecode 3、HTTP协议格式 1)HTTP请求 2)HTTP响应 4、HTTP的方法 5、HTTP...的状态码 6、HTTP常见的Header 7、Cookie和Session 零、前言 在此之前我们对网络套接字编程有了一定的基础和了解,接下来我们将自顶向下学习Linux网络分层协议栈,透过对协议栈的深入学习从而加深我们对网络的理解...,而不叫做文本传输协议,就是因为有很多资源实际并不是普通的文本资源 从这里的路径分隔符,我们可以分辨服务器的平台:Linux的路径分隔符是/,Windows的路径分隔符是\ 查询字符串 用于获取资源时...body.size()) + "\n"); response += "\n"; response += body; send(sock, response.c_str...body.size()) + "\n"); response += "\n"; response += body; send(sock, response.c_str

    1.5K20

    Linux网络-HTTPS协议

    HTTPS 零、前言 一、HTTPS协议 二、加密方式 三、中间人攻击 四、PKI 五、数字签名技术 零、前言 本章是继HTTP协议后的一篇关于HTTPS协议的拓展 一、HTTPS协议 概念及介绍...: HTTP请求无论是用GET方法还是POST都是不安全的,使用HTTP协议传输的数据都是在网络里面裸奔(可以通过抓包工具抓到) HTTPS是身披SSL外壳的HTTP,是一种通过计算机网络进行安全通信的传输协议...,经由HTTP进行通信,利用SSL/TLS建立全信道,对数据包进行加密和解密 HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性 注:TLS是传输层加密协议...,前身是SSL协议,有时候两者不区分 二、加密方式 加密的方式可以分为对称加密和非对称加密 对称加密和非对称加密: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密...公钥只是一串数字,需要有一种手段去认证公钥的真正主人,解决方案就是PKI 公开密钥算法中,所有的网络通信都会存在中间人攻击,这是务必要记住的一点,在HTTPS协议中必须引入PKI技术解决身份验证的问题,

    1.5K30

    Linux网络】TCP协议

    引言 TCP协议是传输层中非常重要的协议。本篇博客我们将从TCP头部信息、TCP状态转移、TCP数据流、TCP数据流的控制等等方面来讨论! 在TCP协议中,通信双方的地位是平等的。...1、TCP协议的特点 传输层中我们常用的协议有两个:TCP协议和UDP协议。TCP协议相对于UDP协议的特点是:面向连接、可靠的、面向字节流的。...在讲它们的区别之前,我们需要了解一下TCP协议全双工的特点 TCP协议属于传输层中的协议,传输层由操作系统管理。...这一切由操作系统和TCP协议决定,用户层只是给出建议。所以TCP协议又被称为传输控制协议。 由于双方可以同时向对方发送数据,所以这种通信模式被称为全双工。...Linux中(BSD Unix和Windows也是如此), 超时以500ms为一个单位进行控制, 每次判定超时重发的超时 时间都是500ms的整数倍.

    9610

    Linux网络-IP协议

    文章目录 零、前言 一、网络层 理解路由选择 二、IP协议 三、网段划分 四、IP地址数量限制 五、私有和公网IP地址 NAT技术 六、路由 零、前言 本章主要讲解学习网络层的作用, 深入理解IP协议的基本原理...这个NSAP就是由对应网络所运行的网络层通信协议来定义的,在目前最常见的TCP/IP协议网络中,这个协议就是IP协议,对应的NSAP就是IP地址 在数据链路层中传输的是一个个以许多字节为单位的帧,在每个帧的帧头都有源节点的...因此路由器也可以看做一个DHCP服务器 划分网络号和主机号的方案: 五类IP地址 示图: 说明: A类 0.0.0.0到127.255.255.255 B类 128.0.0.0到191.255.255.255 C类...通常用一串 “0” 来结尾 将IP地址和子网掩码进行 “按位与” 操作, 得到的结果就是网络号 网络号和主机号的划分与这个IP地址是A类、B类还是C类无关 示图: 说明: IP地址与子网掩码做与运算可以得到网络号...此时,需要 NAT 设备根据传输层信息或其他上层协议去区分不同的会话,并且可能要对上层协议的标识进行转换,比如 TCP 或 UDP 端口号。

    4K20

    Linux网络-MAC协议

    Linux网络-MAC协议 零、前言 一、数据链路层 二、以太网协议 1、认识以太网 2、以太网原理 3、以太网格式 4、MAC地址 5、认识MTU 三、ARP协议 四、RARP协议 零、前言 本章主要讲解...Linux网络中的数据链路层-以太网协议 一、数据链路层 示图: 数据传输大部分是跨网段进行的,而多个主机共同组成一个网段,不同的网段通过路由器连接(路由器同样也是主机),所以数据跨网段传输实质就是数据在主机间传输...ARP不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议 示图: ARP协议的作用: ARP协议建立了主机 IP地址 和 MAC地址 的映射关系 在网络通讯时,源主机的应用程序知道目的主机的...IP地址和端口号,却不知道目的主机的硬件地址 数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃,因此在通讯前必须获得目的主机的硬件地址 ARP协议的工作流程...地址的一个TCP/IP协议 也就是说,某些情况下我们可能只知道一台主机的MAC地址,此时要得知该主机的IP地址就可以使用RARP协议 理论上来说,RARP协议一定比ARP协议简单,因为既然我们已经知道一台主机的

    2.5K10

    Linux网络-UDPTCP协议详解

    Linux网络-UDP/TCP协议详解 零、前言 一、UDP协议 二、TCP协议 1、应答机制 2、序号机制 3、超时重传机制 4、连接管理机制 三次握手 四次挥手 5、理解CLOSE_WAIT状态 6...NFS:网络文件系统 TFTP:简单文件传输协议 DHCP:动态主机配置协议 BOOTP:启动协议(用于无盘设备启动) DNS:域名解析协议 关于可靠性的理解: 计算机中的硬件设备是之间的数据传输是依靠...UDP协议存在的意义: TCP协议是可靠的协议,也就意味着TCP协议需要做更多的工作来保证传输数据的可靠,此时需要的成本相比于UDP更高 UDP协议是不可靠的协议,也就意味着UDP协议不需要考虑数据传输时可能出现的问题...如果应用场景严格要求数据在传输过程中的可靠性,那么就必须采用TCP协议,如果应用场景允许数据传输出现少量丢包,那么肯定优先选择UDP协议,因为UDP协议足够简单 二、TCP协议 TCP全称为 “传输控制协议...但此时发送方就开始进行数据重传了,而发送大量重复报文会是对网络资源的浪费 超时重传的时间需要保证“确认应答一定能在这个时间内返回”,同时这个时间的长短是与网络环境有关的,会根据网络状况进行相应的变化 Linux

    1.7K20

    Linux】网络层协议:IP

    其实就是传输控制协议TCP来解决 3....8位协议表示网络层的上层的协议类型,ICMP协议是0000 0001,TCP是0000 0110,UDP是0001 0001,通过8位协议就可以将有效载荷向上分用,交付给上层协议了。 2....所以IP协议并不保证可靠性,至于数据在跨网络传输过程中出现不可靠的问题(比如丢包,数据段乱序,比特位翻转,数据段重复发送),IP协议并不关心,这些是TCP要解决的事情,比如提供数据段的排序+去重,超时重传...……等等,而IP协议只负责跨网络发送数据即可。...6. 4位版本一般都是填0100,代表ipv4协议,由于ipv6和ipv4协议并不兼容,没有办法直接进行平替,所以4位版本的值都填4,基本没什么用,都是固定用法。

    31130

    Linux远程管理协议

    (RFB、RDP、Telnet和SSH)是Linux的远程管理协议。提到远程管理,通常指的是远程管理服务器,而非个人计算机。...目前,常用的远程管理协议有以下 4 种: RDP(remote desktop protocol)协议:远程桌面协议,大部分 Windows 系统都默认支持此协议,Windows 系统中的远程桌面管理就基于该协议...RFB(Remote FrameBuffer)协议:图形化远程管理协议,VNC 远程管理工具就基于此协议。 Telnet:命令行界面远程管理协议,几乎所有的操作系统都默认支持此协议。...Linux远程管理软件 基于以上 4 种远程管理协议Linux 远程管理服务器的软件可分为以下 3 种: 类似于 VNC(基于 RFB 协议)的图形远程管理软件,如 Xmanager、VNC VIEWER...,大部分的服务器都舍弃图形管理界面而选择命令行界面,因此远程管理 Linux 服务器常使用基于 SSH 协议的命令行管理方式。

    31250

    WebSocket协议详解与c++&c#实现

    摘要: 随着手机游戏、H5游戏以及微信小游戏的普及,越来越多的客户端-服务器端的通讯采用websocket协议。Websocket协议是全双工的、基于数据帧的、建立在tcp之上的长连接协议。...Websocket既能支持文本格式也可以支持二进制格式,这样无论是js还是c++,都可以适当的选择自己喜欢的数据格式。 ? Websocket可以说完全治好了大家关于长连接使用什么协议的纠结。...再游戏行业,服务器一般都是使用C++专门开发的网络程序,常规的一般都是使用比较传统的二进制协议,现在想用websocket的人越来越多,但是可以用于服务器端的websocket库却很少,要不就是库太重量级依赖了太多不需要的模块要不就是绑定了特定的网络接口实现...逻辑清晰,你可以直接看代码,直接能够理解websocket的协议。 One header file only。全部实现就在一个头文件里,集成不能再容易了。 目前提供C++和c#的实现。...Websocket协议的验证 我们游戏服务器可能使用多种协议,比如同时兼容二进制协议和websocket协议

    1.7K10

    快速学习Linux-SSH协议

    本文链接:https://blog.csdn.net/weixin_42528266/article/details/103048629 ssh (安全外壳协议): ssh为 Secure Shell...的缩写,由 IETF 的网络小组(Network Working Group)所制定; SSH 为建立在应用层基础上的安全协议。...SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。...几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。...验证 第一种级别(基于口令的安全验证) 第二种级别(基于密匙的安全验证) 组成 传输层协议 [SSH-TRANS] 用户认证协议 [SSH-USERAUTH] 连接协议 [SSH-CONNECT] 启动方法

    89920

    I2C通讯协议

    同时有多于一个主机尝试控制总线 但不破坏报文 仲裁 是一个在有多个主机同时尝试控制总线,但只允许其中一个控制总线并使报文不被破坏的过程 同步 两个或多个器件同步时钟信号的过程 2、硬件结构 每一个I2C总线器件内部的...这就是时钟同步,它解决了I2C总线的速度同步问题。...I2C位传输 数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit; 若SDA发生跳变,则用来表示一个会话的开始或结束(后面讲) 数据改变:SCL为低电平时,SDA线才能改变传输的...I2C开始和结束信号 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 ?  ...另外I2C的通信速率为100Kb,快速为400Kb

    1.4K60
    领券