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

相关推荐
StevenGerrad1 天前
【2020版MIT 6.S081】 操作系统 vx6——总纲
操作系统
551只玄猫2 天前
【操作系统原理 实验报告6】磁盘调度算法
算法·操作系统·os·实验报告·操作系统原理·磁盘调度算法·磁盘调度
sdm0704272 天前
Linux-基础IO
linux·运维·操作系统·理解文件
fakerth2 天前
【Linux】调度器底层原理深入探索
linux·c++·操作系统
范特西林4 天前
AI OS 已来:OpenClaw与第三次操作系统革命
操作系统·agent
Bruce_kaizy7 天前
c++ linux环境编程——linux信号(signal)
linux·c++·操作系统·环境编程
橙子也要努力变强8 天前
Linux I/O 缓冲区、inode、软硬链接与磁盘结构全解析
linux·c++·操作系统
Byte不洛8 天前
手写一个C++ TCP服务器实现自定义协议(顺便解决粘包问题)
linux·c++·操作系统·网络编程·tcp
棉花糖超人9 天前
【操作系统】三、线程
java·开发语言·操作系统
橙子也要努力变强11 天前
进程间通信基础
c++·操作系统