USB 设备状态切换图 2....大多数的USB设备只有一种配置。 一个配置下,可以有多个接口(Interface),接口等同于功能(Function)。比如USB 耳机有两个接口(功能):声音收发、按键控制。...-v Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength...bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 idVendor 0x1d6b Linux...设备枚举过程示例 使用"usbprotocolsuite"打开,可以看到设备的枚举过程: 使用控制传输,读取设备信息(设备描述符):第一次读取时,它只需要得到8 字节数据,因为第 8 个数据表示端点 0
前言 端点在实际的USB通讯过程种的具体作用与含义十分重要,但是有些难以理解,自己整理一些知识作为备忘。 (注:1、文中的EP表示Endpoint; 一、端点概念。...一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...但是需要注意其中的一个特殊端点--端点0,每个USB设备必须要有一个端点0,其作用为对设备枚举和对设备进行一些基本的控制功能,端点0也被称为控制端点。...首先,主机向USB设备发出一个请求;接着,就是数据的传送;最后,是一个状态阶段(这部分即一次命令请求的过程)。
USB是一种主从通信机制,所有互相连接在一起的设备中只有一个主机,其余的都是从机。从机不能主动发起通信,主机轮流对各从机进行访问。...USB协议比较复杂,这是因为USB的硬件接口线比较少,要完成很多的功能就只能把协议做的复杂。...USB协议里面有个描述符,分为好多个子类(设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符、设备限定符描述符)。这些描述符其实就是一个个数据结构,对应程序里的几个结构体。...表征USB的状态,在主机询问时,将自身的状态汇报给主机。比如: 主机:性别? 从机:男 主机:身高? 从机:180 ...... 从机回答的这些自身属性的就是那些描述符中的数据。...不考虑USB具体的协议的话,数据传输并不复杂,就是主机轮询各个从机数据,传输按照功能等分了四种,分别是控制传输,中断传输,同步传输,批量传输。不同的USB设备使用各种传输进行数据收发。
2 系统调用过程 http://www.linuxidc.com/Linux/2015-04/116546.htm 系统调用是操作系统提供给用户(应用程序)的一组接口,每个系统调用都有一个对应的系统调用函数来完成相应的工作... 了解了一个系统调用的执行过程就可以试着添加一个自己的系统调用了: 内核: 1....声明自己的系统调用函数 在include/linux/syscall.h添加asmlinkage long sys_pk() 用户空间: void pk() { __asm__...说明我添加的系统调用可以使用。 至此,描述系统调用的实现机制和添加一个新的系统调用就完成了。 3 添加自己的系统调用 了解了一个系统调用的执行过程就可以试着添加一个自己的系统调用了: 内核: 1....声明自己的系统调用函数 在include/linux/syscall.h添加asmlinkage long sys_pk() 用户空间: void pk() { __asm__( "
最常用的Linux关机命令用init、shutdown、halt和reboot等。这些命令都可以达到关机重启的目的,但是每个命令的内部工作过程是不同的。下面就详细了解Linux安全关机的过程。...1.shutdown命令 使用shutdown命令可以安全地关闭Linux系统,有些Linux初学者会使用直接关闭电源的方式来关闭Linux,真是十分危险的,因为Linux与Windows不同,在Linux...后台运行着很多进程,这些进程控制着Linux对系统的各种操作,如果强制关机,可能会造成进程的混乱以致丢失数据。...3.reboot命令 reboot命令的执行过程与halt基本类似,不同的是halt是用于关机,而reboot是关机后引发系统重启。...例如,init 0就是将系统运行级切换到0,也就是关机;init 6命令用于将系统运行级切换到6,也就是重启系统。
linux系统安装过程 大家都知道目前在商业服务器操作系统端,linux操作系统占的比例非常大,但是如果自己要想自己在网络安全系统方面有所作为,必须得把linux操作系统学习好,下面学习啦小编向大家来介绍一下...linux操作的安装教程。...进入BIOS系统设定电脑从光盘启动。按F10保存退出。 ? 插入Linux 系统安装光盘,重启电脑。进入光盘的欢迎界面。...系统默认对磁盘进行分区(你可以根据自己的需要另外自己分区),在这里我不需要其他分区,直接单击“Next”。 ? 提示系统安装信息。...系统将开始安装。并显示安装进度条。 安装完成以后,弹出如下图的提示信息。单击”Reboot“.系统开始重启。到此系统就已经安装完成了。 ?
1 前言 我们知道USB2.0向下兼容USB1.x,即高速2.0的hub能支持所有的速度类型的设备,而USB1.x的hub不能支持高速设备(High Speed Device)。...图2 低速USB设备的连接 3 高速USB的识别 USB全速/低速识别相当简单,但USB2.0,USB1.x就一对数据线,不能像全速/低速那样仅依靠数据线上拉电阻位置就能识别USB第三种速度:高速。...图3 高速USB的协商过程 hub检测到有设备插入/上电时,向主机通报,主机发送Set_Port_Feature请求让hub复位新插入的设备。...图5 示波器截取的高速USB协商过程2 测量了一个chirp J的宽度:43.5us。 ?...图6 示波器截取的高速USB协商过程3 最后附上一张来自Don Anderson的USB System Architecture里的USB HS接口图: ?
最近 VMware 莫名其妙的卡,开机一会就开始卡死了,找了好多办法也不行,暂时先换 VirtualBox,已安装但在使用网银 U 盾等 USB 设备时,无法识别 USB 设备。
linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别...Linux 的账号验证程序是 login,login 会接收 mingetty 传来的用户名作为用户名参数。...---- 图形模式与文字模式的切换方式 Linux预设提供了六个命令窗口终端机让我们来登录。...---- Linux 关机 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
原文:https://www.runoob.com/linux/linux-system-boot.html Linux 系统启动过程 linux 启动时我们会看到许多启动信息。...linux 启动时我们会看到许多启动信息。 Linux 系统的启动过程并不是大家想象中的那么复杂,其过程可以分为 5 个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。...Linux 系统有 7 个运行级别 (runlevel): 运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动 运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆...图形模式与文字模式的切换方式 Linux 预设提供了六个命令窗口终端机让我们来登录。...---- Linux 关机 在 linux 领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
分析Linux系统的执行过程 一、阅读理解task_struct数据结构 二、分析fork函数对应的内核处理过程do_fork 三、使用gdb跟踪分析一个fork系统调用内核处理函数do_fork 四、...do_execve ,验证您对Linux系统加载可执行程序所需处理过程的理解 七、特别关注新的可执行程序是从哪里开始执行的?...六、使用gdb跟踪分析一个execve系统调用内核处理函数do_execve ,验证您对Linux系统加载可执行程序所需处理过程的理解 $ b do_execve 由跟踪结果可知,当调用新的可执行程序时...八、理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判断我们课程内容中的总结是否准确; 中断处理过程(包括时钟中断、I/O中断、系统调用和异常...从现在开始,next 进程就成为当前进程而真正开始执行 总结 Linux 系统中的fork系统调用。fork会创建一个新的进程,加载文件并进行执行。在这个过程中,涉及到了两个进程之间的切换。
提供引导菜单,用户可以选择不同的内核或操作系统。引导加载程序将控制权交给操作系统内核。内核启动阶段内核被加载到内存中,解压缩,并进行初始化。内核初始化系统硬件、建立内存管理、设置中断服务等。...用户空间初始化阶段初始化管理器接管控制,启动系统服务和守护进程。系统初始化阶段可能包括加载共享库、配置网络、挂载文件系统。...用户登录阶段登录后,系统加载用户配置文件、启动用户级别的进程。图形界面或命令行界面最终,系统进入用户的桌面环境或命令行终端。
Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。...---- 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。...Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。...Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别
Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...左边的 usb_driver 和右边的 usb_interface 如果匹配,则调用 usb_driver.probe 2....接口函数 在 USB 设备驱动程序中,能使用的 USB 函数都在这个头文件里:include\linux\usb.h。...的输出参数 urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; 2.3.4 提交 URB 构造好 URB 后,需要提交到 USB 系统里,才能启动传输。
linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...linux1.png 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...linux3.png Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,...linux4.png 建立终端 rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。 init接下来会打开6个终端,以便用户登录系统。...linux6.png Linux 关机 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...每个Linux系统有7个运行级别(runlevel): 运行级别0:关机模式。 运行级别1:单用户工作状态,只有管理员可以登录。...X-Windons系统(Linux图形界面) ?...图形模式与文字模式的切换方式 Linux预设提供了六个命令窗口终端机让我们来登录。...Linux 关机 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。...Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别...Linux 的账号验证程序是 login,login 会接收 mingetty 传来的用户名作为用户名参数。...---- 图形模式与文字模式的切换方式 Linux预设提供了六个命令窗口终端机让我们来登录。...---- Linux 关机 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
还是自己写下安装过程吧!...我的服务器系统是 Aliyun linux 1、下载安装 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master...image.png ps:linux系统下安装msf框架 命令: wget http://downloads.metasploit.com/data/releases/metasploit-latest-linux-installer.run...chmod 755 metasploit-latest-linux-installer.run ....总结 到此这篇关于linux系统安装msf的过程详解的文章就介绍到这了,更多相关linux系统安装msf内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!
read一个文件 首先是通过系统调用open一个文件 大家好,我是ChinaUnix的T-bagwell 然后通过系统调用去read一个文件,为什么man 2 read的时候或者man 2 write的时候的参数与写的驱动的...pos); 402 fput_light(file, fput_needed); 403 } 404 405 return ret; 406 } 通过阅读代码,发现这个系统调用...read与man看到的系统调用的定义的是相同的,没有这里可以没有疑问,但是这个比nvram.有些不同,其实操作都是在这个系统调用里面,struct file *file结构里面的file是通过这个fget_light...的read,大家好,我是ChinaUnix的T-bagwell,转载请注明出处,一个是do_sync_read,下面直接说file->f_op里面的read,这个read是在写设备驱动的时候,或者文件系统加载的时候注册的...接下来说do_sync_read文件,这个就要会想一下注册文件系统时,对fops的注册了 比如ext4文件系统里面,在ext4_file_super里面有个ext4_iget struct inode
领取专属 10元无门槛券
手把手带您无忧上云