现代操作系统之输入输出(三)

时钟

时钟硬件

时钟又称为定时器,时钟负责维护实际,并且防止一个进程垄断CPU,此外还有其它的功能。
计算机中有两种类型的时钟,一种是连接到110V或220V的电源线上,这样每个电压周期产生一个中断,频率是50GHZ或60HZ。 另一种类型的时钟由三部分组成:晶体振荡器,计数器和存储寄存器。
可编程时钟通常具有几种操作模式——一次完成模式;方波模式(不停地循环),周期性产生的中断是时钟滴答。
可编程时钟芯片通常与包含两个或三个独立的可编程时钟,并且还具有许多其他选项。
大多数计算机都有一个电池供电的备份始终。

时钟软件

时钟硬件的全部工作是根据已知的时间间隔产生中断。 时钟的第一个功能是维护日时间,唯一要小心的就是越界。 第二个功能则是防止进程超时运行。最精确的记账方法就是每当一个进程启动时,便启动一个不同主席团定时器的辅助定时器。
进程可以请求操作系统在一定时间间隔之后向他们 警。警 通常是信 ,中断,消息或类似的东西。
如果时钟驱动程序拥有足够的时钟,它就可以为每个请求设置一个单独的时钟。如果不是这样的情况,就必须用物理时钟来模拟多个虚拟实在。一种办法是维护一张表。
操作系统的组成部分也需要设置定时器,这些定时器被成为监视定时器。软盘在使用时是不旋转的。当数据要从如哪怕读出时,点击必须首先启动。只有当软盘以全速旋转时,IO才可以开始。

软定时器

一般而言,由两种方法管理IO——中断和轮询。 中断具有很短的等待时间,但是切换代价巨大。
软定时器避免中断。无论当内核因何种原因在运行时,在它返回到用户态前,都要检查实时时钟以了解软定时器是否到期。若到期,指向被调度的事件,而无需切换到内核态(因为已经在内核态)
如果软定时器未出现预定事件,则可以安排一个时间最大值。 如果应用程序对于偶然的时间间隔能够忍受美妙只有1000个数据包,那么软定时器和低频硬件定时器的组合可能比纯粹的中断驱动IO或纯粹的轮询要好。

用户界面:键盘,数据和监视器

输入软件

每当一个键被按下的时候都会产生一个中断,并且每当一个键被是否的时候还会产生第二个中断。

键盘软件

将用户刚刚键入的信息显示在屏幕上称为回显。

鼠标软件

鼠标仅仅指出位置的变化,而不是绝对位置本身。

输出软件

文本窗口

当输出是连续的单一字体,大小和颜色的形式时,输出比输入简单。
为了更为复杂的更新屏幕,大多数驱动沉痼支持一系列命令来移动光标,在光标处插入或删除字符或行。这些命令常常被称为转义序列。

X窗口系统

当X在一台机器运行时,从键盘或鼠标采集输入并且将输出写到屏幕上的软件称为X服务器。他必须跟踪当前选择按个串口。这样就知道新的键盘输入发送个给哪个X客户,并从X客户接受显示命令。
X服务器总是位于用户的计算机内部,而X客户有可能在缘分的远程计算服务器上。X服务器的主要工作是在屏幕上显示位,所以让它靠近用户。
在单机上或通过 络咋iUNIX上运行X串口系统都是可行的。
X只是一个窗口系统,而不是完全的GUI。要获得完整的GUI,要在其上运行其他软件层。
X提供了一个工具包,组成了本征函数集。并以此为基础可以构建GUI。
大多数应用程序利用的是对Motif的调用,而不是对Xlib的调用。
窗口管理不是X本身的组成部分。一个单独的用户进程称为窗口管理器控制着屏幕上窗口的创建,删除以及移动。为了管理窗口,窗口管理器要发送命令到服务器噶偶是它作甚,。矿口管理器经常运行在X客户相同的机器上,但是理论上可以运行哎任何地方。

从程序到工作站大多数绘图命令都是单项发送的,不期望应答。其原因是传送时间长,会降低执行速度。
事件匆匆工作站流向程序,通常是为了相应人的某些行为。存在许多类时间,但是发送给一个沉痼的只有那些它宣传愿意处理的Windows事件。 事件是拍成队列的,程序从队列中读取数据,而操作系统不会主动调用应用程序中的过程。
X的一个关键概念是资源,资源是一个保存一定信息的数据结构。次元可以在多个进程之间共享。图形上下文将属性和窗口,在概念上与Windows的设备上下文相类似。
主循环由两条语句构成,并且在逻辑上比Windows中对应的循环要简单得多。第一个语句得一个事件,第二条语句对事件类型进行分配从而进行处理。

图形化用户界面

WIMP代表着窗口,图标,菜单和顶点设备。
GUI软件可以在用户级代码中实现(如UNIX系统中做的那样),也可以在操作系统中实现(Windows)
GUI系统的输入仍然使用键盘和鼠标,但是输出几乎总是送往特殊的硬件电路板,称为图形适配器。
Windows是面向消息的。每个程序都有一个消息队列,与程序的所有窗口相关的消息都被发送到该队列中。程序的主循环包括提取下一条信息,并且通过调用针对该消息类型的内部国产对其进行处理。在某些情况下,windows本身可以绕过消息队列而之间调用这些过程。
Windows由两种方法可以让一个程序做某些事情,一种方法是投递一条消息到消息队列,而另一种方法是发送一调消息到窗口,从而使Windows直接调用WndProc本身。

位图

GDI过程是矢量图形学的实力。
每一个 个方块的平均红,绿,蓝取值被采样并且保存为一个像素的值。这样的文件被称为位图。
位图具有一个问题是不能缩放。 Windows支持DIB(设备无关位图),扩展名bmp。在像素之前具有文件与信息头以及一个颜色表,这样的信息使得在不同的设备直接移动位图非常容易。

字体

TrueType字体不是位图而是字符的轮廓。每个TrueType字符数通过围绕其周界的一些列点来定义。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年11月1日
下一篇 2017年11月1日

相关推荐