现代操作系统第五章输入输出PPT.ppt

  1. 1、本文档共161页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
现代操作系统第五章输入输出PPT

* 小结 I/O可以构造成四个层次: 中断服务例程 驱动程序 设备无关的I/O软件 运行于用户空间的I/O库和假脱机程序 驱动程序处理运行设备的细节,并且为操作系统的其余部分提供统一的接口。 设备无关的I/O软件所做的就是类似缓冲和错误报告之类的事情。 * 小结 磁盘有多种类型,包括有磁性磁盘、RAID以及各种不同类型的光盘。 磁盘臂调度算法通常可以改进磁盘性能,但是其虚拟的几何结构使得情况更为复杂。 通过配对二个磁盘,就可以构造具有特定属性的稳定的存储介质。 时钟用于记录实际时间,限制进程运行时间,处理监视定时器以及完成帐务统计。 * 小结 面向字符的终端涉及许多可以输入的特殊字符以及可以输出的特殊的转义序列的问题。输入有生模式或熟模式两种,取决于程序希望对输入有多少控制。输出上的转义序列控制光标移动,并且允许在屏幕上插入和删除文本。 许多个人计算机使用GUI作为其输出。这些都是基于WIMP范例:窗口、图标、菜单以及指点设备。 基于GUI的程序通常是事件驱动的,一旦事件发生即被发送给程序去处理。 * 用户界面:键盘、鼠标和监视器 输入软件 输出软件 * 输入软件(Input Software) 用户输入主要来自键盘和鼠标 键盘包含一个嵌入式微处理器,它通过一个特殊的串行端口与主板上的控制芯片通信 一个键被按下和被释放时都会产生键盘中断 * 键盘软件 扫描码:I/O端口中的键编号,7位表示编号,第8位表示键状态 键盘驱动程序跟踪键的状态,接受键盘输入并向上层用户程序传送 键盘驱动程序对输入的处理方法: 面向字符的(原始模式):接受输入并不加修改地向上传送 面向行的(加工模式):处理全部行内编辑,将校正后的行传送给上层 * 鼠标软件 鼠标步:大约0.1mm 发送给计算机的信息:Δx、Δy和按钮,即位置上的变化,而不是绝对位置。 单击和双击:两次点击在空间上(鼠标步)最够接近,在时间上(毫秒级)也足够接近,即双击 * 输出软件 文本窗口 X窗口系统 图形用户界面 位图 * 文本窗口 转义序列:用来移动光标、在光标出插入或者删除字符或行的命令 ANSI标准 * 文本窗口 终端输出时接受的ANSI转移序列。 ESC表示ASCII转义字符(0xlB) n, m和s是可选的数字参数。 如果光标在顶行,向上滚屏 ESC M 允许重现n(0=正常, 4=粗体, 5=闪烁, 7=反白) ESC [ nm 在光标处插入n字符 ESC [ n@ 在光标处删除n字符 ESC [ n P 在光标处删除n行 ESC [ n M 在光标处插入n行 ESC [ n L 从光标处清除行(0清除到结尾,1从开始清除,2全部清除) ESC [ s K 从光标处清除屏幕(0清除到结尾,1从开始清除,2全部清除) ESC [ s J 移动光标到(m,n) ESC [m; nH 向左移动n格 ESC [ nD 向右移动n格 ESC [ nC 向下移动n行 ESC [ n B 向上移动n行 ESC [ n A 意义 转义序列  * X窗口系统 UNIX系统的用户界面的基础,简称为X 完全运行在用户空间,在逻辑上分为客户软件和主机软件 X只是一个窗口系统,不是完全的GUI。要获得完全的GUI,需在其上运行其他软件层: Xlib:一组库过程,用于访问X的功能 本征函数集:一个工具包,管理按钮、滚动条及其他窗口小部件的GUI元素 Motif:商业UNIX系统使用的公共桌面环境的基础 窗口管理器:单独的客户进程,控制窗口的创建、删除和移动 * 在 MIT的X窗口系统中的客户机和服务器 X窗口系统 * X窗口系统 #include X11/Xlib.h #include X11/Xutil.h main(int argc, char *argv[]) { Display disp; /*服务器标识符*/ Window win; /*窗口标识符*/ GC gc; /*图形描述表标识符*/ XEvent event; /*存储一个事件*/ int running = 1; disp = XOpenDisplay(display_name); /*连接到X服务器*/ win = XCreateSimpleWindow(disp, ... ); /*为新窗口分配内存*/ XSetStandardProperties(disp, ...); /*把窗口通知窗口管理器*/ gc = XCreateGC(disp, win, 0, 0); /*创建图形描述表*/ XSelectInput(disp, win, ButtonPressMask | KeyPressMask | ExposureMask

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档