【哈工大_操作系统理论】L26&27 IO与显示器&键盘

L4.1 IO与显示器

1、外设使用方法

  1. 给外设控制器(显卡、...卡等也有计算功能)对应的寄存器写内容(out指令),会根据寄存器里面的内容来操控硬件。
  2. 为了让控制外设变为简单,形成了一个统一的文件视图
  3. 待外设处理完后,再向CPU发送中断处理指令。

操作系统对设备的管理:将out指令采用文件的方式向上封装

2、输出显示器 - 读入外设的inode信息

  • inode存放外设设备信息

  • write操作从open读入的相应外设的信息inode

  • flip中的信息从父进程中来,即 copy_process

  • 而父进程中的 flip 则从 init 函数中来

  • opendev/tty0 设备信息读入

3、向屏幕输出

继续 sys_write

  • 统一编址:用 mov
  • 独立编制:用 out


L4.2 键盘

通过中断程序,根据扫描码得到相应的ASCII码

1、通过 in 指令,从端口读数据

相关推荐
凉、介3 天前
Flash 块设备驱动开发
c语言·驱动开发·笔记·学习·操作系统·嵌入式
.普通人3 天前
freertos源码解析(里面的源码来源于另一个博主,我这里只是讲一下我自己的理解)
操作系统·rtos
努力的章鱼bro4 天前
操作系统-net
c++·操作系统·dma·risc-v
努力的章鱼bro5 天前
操作系统-FileSystem
c++·操作系统·risc-v·filesystem
muls16 天前
java面试宝典
java·linux·服务器·网络·算法·操作系统
结衣结衣.6 天前
【Linux】命名管道的妙用:实现进程控制与实时字符交互
linux·运维·开发语言·学习·操作系统·交互
sdm0704277 天前
Linux-库制作与原理
linux·c++·操作系统
REDcker8 天前
C++ new、堆分配与 brk / mmap
linux·c++·操作系统·c·内存
艾莉丝努力练剑9 天前
【Linux信号】Linux进程信号
linux·运维·服务器·学习·操作系统·进程·信号
REDcker9 天前
C++ vcpkg:安装、使用、原理与选型
开发语言·c++·windows·操作系统·msvc·vcpkg