2 UNIX综述

为了更好地理解UNIX源代码,我们需要首先了解UNIX运行的硬件环境。

2.1 硬件平台

UNIX可以运行在PDP11/4011/70处理器上。PDP11/40是数字设备公司(DEC—DigitalEquipment Cooperation)在1972年推出的一款16位处理器。其主频为1.28MHz,最大直接寻址空间达64KB2)。其物理地址空间可被扩展为1822位,从而达到256KB甚至4MB。而现代个人电脑最普通的Intel32位处理器,都能达到1G以上的主频,直接寻址空间达4G。相比之下,PDP11/40的性能也许显得有些可怜,但是它在当时却是一个了不起的成就,先进的设计理念使得它的硬件架构和现代处理器并无二致:中断及中断优先级的支持、内核模式和用户模式的双操作模式、虚拟内存、对多个I/O设备的支持、DMA传输、堆栈等。

PDP11/7011/40的升级版,它也是16位处理器。除了在地址位的扩展、浮点处理和CPU性能上的一些提高之外,它和11/40并没有任何区别。这就保证了PDP11/40的后向兼容性。事实上,整个PDP11处理器家族都良好地保持着这一点。本书中UNIX的源代码对此是一个很好的证明,代码中对PDP11/70做特殊处理的部分不超过100行。

500)this.width=500;" border="0">

     

PDP11/40的所有设备包括CPU都连接到总线(UNIBUS)上,如图2-1所示。总线具有很高的数据传输速率,其最大传输速率达到40Mbit/s(当前计算机前端传输速率可达1033Mbit/s,最新型I/O总线PCI-Express则可达102.4Gbit/s。)。PDP11/40的总线由56根线组成,所有的数据、地址和控制信息都沿着这56根线传送。CPU和主存、I/O设备之间、I/O设备和主存之间都是通过总线互相通信。总线上设备之间的通信通过主从模式(master-slave)实现。比如,当CPU需要读取下一条指令时,它将地址信息发送至总线上,向总线发出读取主存的命令,这时CPU就是主设备,主存就是从设备。当读取完成后,数据沿总线传送至CPU

当一对主从设备在总线上进行数据传输时,总线被锁定(interlocked),直至数据传送完成,该总线被释放。

       PDP11/40的数据排列是小数端(littleendian),即对单字而言,低字节在前(低地址),高字节在后(高地址)。若整数0x1011位于地址0x1000处,则0x11位于0x10000x10位于0x1001

本书后面章节代码中的数字很多使用8进制来表示,这是因为PDP11/40芯片对数据是按8进制处理的,包括其指令设计,很多都是8进制格式。

2.1.1 中断和自陷(Trap

1)中断

中断是主存、I/O设备等外部设备向CPU发起的事件通知信号。该信号通知CPU某外设需要获取总线(BusRequest),进行特定任务的处理。该任务包括如下两种:

1)实现一个没有CPU参与的数据传送。比如DMA数据传输。一个例子是:磁盘数据直接传送至CRT显示器,从而实现屏幕的刷新。

2)打断当前程序的执行,强制CPU实现某个服务请求。

PDP11/40共分有9级中断,优先级分别从07(值越大表示优先级越高)的中断和最高级中断—非处理器请求(NPR—NoneProcessorRequest),也就是上述任务(1)。高级中断可以打断低级中断而优先执行。但实际上除了NPR中断外,系统只实现了47级中断,中断优先级30和中断优先级4是相同的,如图2-2所示。

500)this.width=500;" border="0">

2-2BRBusRequest的缩写。Dn代表某个外部设备(Device)。连接在不同的中断请求线BRx上的设备具有该中断请求线的优先级。

    ... ...

2)自陷

除了中断外,PDP11/40还具有自陷(trap)功能。自陷原理上和中断很相似,也是通过打断当前程序的运行而获优先执行。区别是自陷的优先级永远是7;产生源是CPU自身,比如非法地址访问、非法指令执行等都会产生自陷。而中断的产生源是除CPU外的外围设备,比如磁盘、电传终端(Teletype)等。有一种特殊的自陷是系统访问的接口,用于实现系统调用(openreadwrite等)来访问内核资源。

另外,PSW寄存器中的中断屏蔽位并不能屏蔽自陷的产生,哪怕它的值是7,从这个意义上来讲,自陷可以认为是“第8级中断”。

3)属性列表

当前中断(自陷)的优先级存放在PSW寄存器的bit75PDP11/40各种中断(自陷)的一个列表如下:

其中,KL-11/DL-11:一种串行接口,用于连接电传终端(tty---Teletype)和CRT显示器等。PC-11:纸带读取/打孔机。LP-11LinePrinter,行打印机。

... ...


上一章 概述                         目录                         下一章   虚拟内存


本书在全国各大书店及网城均有销售:
亚马逊                          China pub
上学吧                          1号店



11-23 06:07