首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    汇编语言中断及外部设备操作篇--06

    汇编语言中断及外部设备操作篇--06 移位指令 示例:逻辑移位指令shl和shr 操作显存数据 显示的原理 显示缓冲区的结构 显示信息的一种“直接”方式 描述内存单元的 关于标号 去了冒号的数据标号 数据标号同时描述内存地址和单元长度...端口的读写过程演示 I/O端口分配 端口的读写指令示例 操作CMOS RAM芯片 CMOS RAM 芯片 端口操作示例:提取CMOS RAM中存储的时间信息 在屏幕中间显示当前的月份 外设连接与中断 CPU通过端口与外部设备...“连接” 外中断:由外部设备发生的事件引起的中断 外中断处理过程 PC机键盘的处理过程 PC机键盘的处理过程 键盘上键的扫描码(通码) PC机键盘的处理过程——引发中断 PC机键盘的处理过程——执行中断例程...a”~”z”(v0.4) 按下 Esc 键后改变显示的颜色 实现: 按下 Esc 键后改变显示的颜色(v1.0) 改写中断例程的方法 改写中断例程-以int 9为例 实现方法 用中断响应外设 如何操作外部设备...- 操作CMOS RAM芯片 CMOS RAM 芯片 ---- 端口操作示例:提取CMOS RAM中存储的时间信息 ---- 在屏幕中间显示当前的月份 ---- 外设连接与中断 CPU通过端口与外部设备

    87410

    韦东山:剥丝抽茧分析linux中断系统的重要数据结构

    作者:韦东山 正文: 能弄清楚下面这个图,对Linux中断系统的掌握也基本到位了。 ?...外部设备1、外部设备n共享一个GPIO中断B,多个GPIO中断汇聚到GIC(通用中断控制器)的A号中断,GIC再去中断CPU。...注意: 导致GPIO中断B发生的原因很多,可能是外部设备1,可能是外部设备n,可能只是某一个设备,也可能是多个设备。...③ 外部设备提供的处理函数: 这里说的“外部设备”可能是芯片,也可能总是简单的按键。它们的处理函数由自己驱动程序提供,这是最熟悉这个设备的“人”:它知道如何判断设备是否发生了中断,如何处理中断。...但是对于外部设备相关的清中断操作,还是需要我们自己做的。 就像上面图里的“外部设备1“、“外部设备n”,外设备千变万化,内核里可没有对应的清除中断操作。

    1.1K20

    linux重要的目录之proc和dev目录

    /proc/目录 虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下) Linux系统上的/proc目录是一种文件系统,即proc文件系统。.../proc/modules 目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序! /proc/mounts 系统已经挂载的数据,就是用 mount 这个命令呼叫出来的数据啦!...因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。...我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。...重要的目录之etc linux重要目录之usr和var

    3.1K20

    Linux 虚拟文件系统

    虚拟文件系统介绍 Linux使用了虚拟文件系统(VFS,Virtual Filesystem,下文统称“虚拟文件系统”),它不是磁盘文件的组织格式,而是抽象出来的文件树的集合,它通过标准接口动态的向其中增加或移除对应的目录...Windows NTFS、VFAT,BSD的UFS,CD的CD-ROM等 网络文件系统,它们存储在网络中的其他主机上,通过网络进行访问,例如 NFS 特殊文件系统,内存的映射、例如/proc 案例如以下截图,Linux...表示上一级目录 另外 Linux 有很多不同于其他操作的特征: 把所有的外部设备看作是文件(即一切揭“文件”),为了保证输入输出操作的一致性 Linux把所有的对外部设备的操作都设计成为等同于操作文件...,因此无论什么外部设备的特征,都被文件系统隐藏了。...https://wushifublog.com/2020/05/22/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Linux%E5%86%85%E6%A0%B8%E2%80%

    1.6K51

    【愚公系列】软考中级-软件设计师 007-计算机系统知识(输入输出技术)

    《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。...输入输出端口:计算机系统中,通过输入输出端口与外部设备进行数据交换。输入输出端口一般由特定的I/O指令控制,可以实现对外部设备的读取和写入操作。...设备控制器:设备控制器是连接计算机系统与外部设备的主要组件,负责控制外部设备的工作。设备控制器通过与计算机系统的总线进行数据交换,实现计算机与外部设备之间的数据传输和控制。...4.输入/输出处理机(IPO)输入/输出处理机(IPO)是计算机系统中的一个重要组成部分,用于处理与外部设备之间的数据输入和输出。IPO的主要功能是管理计算机系统与外部设备之间的数据传输。...它负责接收外部设备发送的数据,并将其传递给中央处理单元(CPU)进行处理。同时,IPO也负责将CPU处理好的数据发送给外部设备进行输出。

    21912

    深入Linux设备模型:开发者指南

    理解Linux的设备模型对于应用开发人员来说至关重要,它有助于开发出更加稳定、高效的应用程序。1. 如何理解Linux的设备模型?...Linux的设备模型体现在几个关键方面:设备和驱动程序的注册:在Linux中,每当一个设备驱动程序被加载到系统中时,它会向内核注册自己能够管理的设备类型。...对于应用开发人员的意义更好的设备管理:了解Linux的设备模型可以帮助开发人员更有效地管理应用程序使用的设备。例如,通过监控udev事件,应用程序可以即时响应外部设备的连接和断开。...事件驱动:udev系统的事件驱动机制展示了如何有效地响应外部变化,这对于需要处理用户输入或外部设备事件的应用程序来说非常重要。4....总结通过深入理解Linux的设备模型,应用开发人员不仅可以提高自己的开发效率,还能为用户带来更加流畅和稳定的使用体验。

    24410

    操作系统IO与显示器---16

    CPU通过向外部设备对应的控制器某个寄存器中写入命令,就可以操作对应外部设备的工作了,例如: 常用的out和in指令,来控制往某个外设寄存器中写入或者读取数据。...汇编语言中断及外部设备操作篇–06 而当外部设备处理完后,通过中断方式通知CPU进行处理。 ---- 向设备控制器的寄存器写不就可以了吗?...sys_open的作用如下: 解析目录,找到inode 在linux/fs/open.c中 int sys_open(const char* filename, int flag,int mode){...sleep_if_full(&tty->write_q); ... } 由于内存的速度和其他外部设备,例如: 显示器相比,差距很大,所以。...外部设备也分为输入和输出设备,这里屏幕属于输出设备,而常见的键盘和鼠标等,属于输入设备,下一节会讲 到了con_write,真正写显示器!

    64150

    计算机基础——操作系统

    一个等待运行的程序只有在获得了处理器后才能运行,一个程序在运行中若遇到某个问题,如外部设备接触不良等,操作系统就要来处理此问题,然后将处理器重新分配。...操作系统的设备管理是调配外部设备及控制外部设备按用户指令进行操作等,对于非存储型外 部设备,如打印机:显示器等,分配给一个用户使用,在使用完毕后回收以便给另一个用户使用。...对于存储型的外部设备,如磁盘,磁带等,提供存储空间给用户,用来存放数据。...Linux是一套免费使用和自 由传播的类LNX操作系统,目前大部分服务器采用Linux操作系统。...Linux操作系统诞生于1991年的10月5日,创始人是林纳斯·托瓦兹,如图1.30所示,Linux存在着多种版本,但它们都使用了Linx内核,Linux可安装在许多硬件设备中,如手机,平板电脑。

    49320

    一文搞懂网络通信的基石✅IO模型与零拷贝

    IO即输入/输出,IO模型的提出主要是解决计算机CPU在内存与磁盘/网卡等外部设备速度不匹配的问题当CPU想要读取磁盘/网卡上的数据时,数据拷贝到内存是需要时间的,那这时CPU是去等待数据拷贝完成,还是先去执行其他任务呢...下载文件案例中,客户端先向服务端发送请求,而服务器收到请求后,读取磁盘中的文件数据,发送到网卡上再响应给客户端在这个过程中,以服务端的视角可以看成先从磁盘中读取数据,再往网卡上写数据由于磁盘、网卡属于外部设备...,会一直阻塞直到数据拷贝完成,再去使用数据 图片具体流程如下:用户线程发起系统调用请求读取外部设备数据(进入阻塞)用户态切换为内核态准备数据:使用DMA将外部设备数据拷贝到内核缓冲区内核进行数据拷贝:将内核缓冲区的数据拷贝到用户缓冲区内核态切换为用户态...指的就是多路复用模型,而NIO2指的就是AIO,后续讲解中间件如何高效处理网络通信时都会出现它们的身影~零拷贝聊完IO模型后,我们能够知道使用NIO、AIO能够加快处理流程的速度处理流程中还存在大量的CPU拷贝,在Linux...并且只能监听1024个通道;使用poll进行优化能够监听无上限通道数量使用epoll 事件回调的方式避免轮询处理,并且内核维护不需要再进行数据拷贝异步IO模型使用回调的方式避免数据就绪时同步阻塞进行数据拷贝,Linux

    41531

    VMware 虚拟机的三种网络连接方式「建议收藏」

    外部设备看来,是宿主机提出了网络请求,所以将网络数据返回给了宿主机。宿主机收到数据之后,转发给虚拟机。 **NAT 模式下,宿主机之外的网络设备是看不到虚拟机的存在的。...**如果外部设备(例如嵌入式 Linux 开发板等)想要访问虚拟机怎么办?这就需要配置 VMware 的“虚拟网络编辑器”配置端口映射,将宿主机的网络端口与虚拟机的网络端口进行映射。...外部设备访问宿主机映射之后的端口就可以实现对虚拟机的访问。 NAT 模式下的虚拟系统的 TCP/IP 配置信息是由 VMnet8(NAT) 虚拟网络的 DHCP 服务器提供的,无法进行手工修改。...如果只是要求虚拟机能够访问外部网络而不需要外部设备访问虚拟机,那用 NAT 模式比较方便。如果需要外部设备访问虚拟机,在 IP 地址足够的情况下,不如使用桥接模式方便。毕竟,配置端口映射也挺麻烦。...场景2:只需要虚拟机访问外部网络,不需要外部设备访问虚拟机。 3.

    3.3K31

    Linux操作之存储空间和目录相关

    tmpfs:临时文件系统,基于内存的文件系统 参考百度百科 3、目录 (1)、/boot  这里存放的是启动Linux是使用的一些核心文件,包括一些连接文件以及镜像文件。Linux内核相关。...不要轻易的动 (2)、/dev 上面已经介绍 dev是device的简写,在Linux系统中dev有着非常重要的作用,它是Linux下的一个目录,各种各样设备都在它的下面。...因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和Windows、dos操作系统不一样。它实际上是一个访问这些外部设备的端口。...我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。Linux沿袭Unix的风格,将所有设备认成是一个文件。...(9)、/media linux系统会自动识别一些设备,例如U盘,光驱等等。当时识别后,linux会把识别的设备挂载到这个目录下。

    29860

    Linux1_快捷键+目录结构

    本部分内容包括 TAB键填充和路径 目录结构 ls和tree 文件和目录创建 文件和目录删除 文件和目录拷贝 查看文件内容 1 主键盘快捷键 shell命令:Linux终端下输入的可以被系统识别的命令...ctrl+f光标向后 ctrl+a光标到行首 ctrl+e光标到行尾 ctrl+h或退格键 删除光标前的字符 ctrl+d删除光标前的字符(光标覆盖的字符) ctrl+u删除光标前的所有 2 Linux...zdiff date lessfile ntfsfix static-sh /boot 启动Linux...时使用的一些核心文件,不要改动 /dev:device 存放设备文件,该目录下存放Linux外部设备,一切皆文件,所有硬件外设抽象成一个文件 /etc 保存操作系统或安装软件所需要的配置文件和子目录 /...自动识别一些外部设备,如U盘,光驱,识别后会自动挂载到/media这个目录。

    74830

    探究一下c++标准IO的底层实现(3000字长文)

    它分为三层结构:外部设备、缓冲区、程序,说明如下: 外部设备是指键盘、屏幕、文件等物理或者逻辑设备; 缓冲区是指在数据没有同步到外部设备之前,存放数据的一块内存; 程序就是我们代码生成的进程了。...所以这里对于filebuf,缓冲区就是申请的这一块动态内存,外部设备就是文件了,filebuf不论是从逻辑上还是实现上看,它都是标准的三层结构。...所以从结构上而言,cin、cout、cerr、clog都是只有程序和外部设备两层结构,但还有一点疑惑,我们根据代码,实际上他们都是打开了文件,然后对文件进行了读写,那怎么会显示在外部设备上呢。...根据操作系统的不同,标准输入和输出也是实现不同的,这里我们以linux系统为例,来进行说明。...在linux中,有三个标准的输入和输出文件,分别是stdin,stdout,stderr,他们都在/dev目录下,由上一章可知,cout实际上打开了/dev/stdout这个文件,而/dev/stdout

    53640

    linux文件类型

    在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命 令位于此目录。...因为在这个目录中包含了所有linux系统中使部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用ows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。...可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。 /etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。.../selinux :对SElinux的一些配置文件目录,SElinux可以让linux更加安全。.../usr:这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。

    3K20

    linux mknod命令与磁盘对应一例

    LINUX下安装ORACLE RAC时,建ASM磁盘组时有时会碰到两个节点上存储映射过来的磁盘盘符不一致,有时是物理路径一致,但聚合后路径不一致,有时甚至物理路径也不一致,此时就需将两个节点上的磁盘盘符修改为一致...找到存储映射到主机的磁盘的LUN ID,并将两台主机之间相同LUN ID的磁盘对应关系找到,通过LINUX的MKNOD命令进行修改设置,使其对应。    ...我们首先要明白什么是设备文件,简单的说操作系统与外部设备(磁盘驱动器,打印机,终端 等等)都是通过设备文件来进行通信 的,在Unix/Linux系统与外部设备通讯之前,这个设备必须首先要有一个设备文件,...linux操作系统中为设备文件编号分配了32位无符号整数,其中前12位是主设备号,后20位为次设备号,所以在向系统申请设备文件时主设备号不好超过4095,次设备号不好超过2^20 -1。

    1.2K10
    领券