【哈工大_操作系统理论】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 指令,从端口读数据

相关推荐
添砖java‘’14 小时前
常见的进程间通信方式详解
linux·c++·操作系统·信息与通信·进程通信
西西弗Sisyphus17 小时前
C++ 实现支持 32 位和 64 位进程的模块枚举
开发语言·c++·操作系统
悄悄敲敲敲2 天前
操作系统的运行-中断
linux·操作系统
江湖人称贺行风2 天前
操作系统八股
操作系统·八股
Trouvaille ~3 天前
【Linux】进程调度与环境变量:Linux内核的智慧
linux·运维·服务器·操作系统·进程·环境变量·调度算法
肆忆_3 天前
Day5:线程池进阶——我从「只会跑 void 任务」到「能返回 future」,并用 Demo 验证跑通
操作系统
CS创新实验室3 天前
计算机考研408【操作系统】核心知识点总结
java·linux·考研·计算机·操作系统·408
_Voosk3 天前
C指针存储字符串为何不能修改内容
c语言·开发语言·汇编·c++·蓝桥杯·操作系统
OpenAnolis小助手3 天前
构建新计算范式下的开源生态,龙蜥技术生态分论坛回顾来了
开源·操作系统·龙蜥社区·openanolis
OpenAnolis小助手3 天前
专访 | 深耕八载,双向赋能:阿里云与龙蜥的开源共生之路
开源·云计算·操作系统·龙蜥社区·openanolis