基础知识

Linux文件系统采用带链接的树形目录结构,即只有一个根目录(通常用“/”表示),其中含有下级子目录或文件的信息;子目录中又可含有更下级的子目录或者文件的信息。这样一层一层地延伸下去,构成一棵倒置的树,如图1所示。

 
1 Linux树型目录结构

在目录树中,根节点和中间节点(用圆圈表示)都必须是目录,而普通文件和特别文件只能作为“叶子”出现。当然,目录也可以作为叶子。

http://blog.sina.com.cn/s/blog_6bdaec4c0100majs.html

通过一个多道编程的具体例子,来看看多道编程时计算机里面事件的发生顺序和多道编程环境下系统响应时间的提升。

假定我们有4个程序,每个程序花费80%的时间进行I/O,20%的时间使用CPU,每个程序的启动时间和其需要使用CPU进行计算机的分钟数如表4-1所示。


从0点0分开始到0点10分,系统里只有1个程序,因此属于单道编程状态。单道编程时CPU的利用率为20%,因此第1个程序在该10分钟里总共使用了CPU达2分钟(其他8分钟都用来进行I/O了)。0点10分到0点15分,系统里面有两个程序,因此属于2道编程。2道编程时CPU利用率为36%,则在5分钟时间内,CPU使用了1.8分钟。假定这两个程序完全平等,则每个程序使用CPU的时间是0.9分钟。至此,程序1总共运行了2.9分钟CPU时间,程序2运行了0.9分钟CPU时间。

从0点15分开始到0点20分,系统里面有3个程序,因此属于3道编程状态。3道编程时CPU的利用率为48.8%,则在这5分钟时间内,CPU被占用了大约2.4分钟(其他2.6分钟都用来I/0了)。同样,假定所有程序完全平等,则每个程序使用CPU的时间为0.8分钟。至此,程序1总共运行了3.7分钟CPU时间,程序2运行了1.7分钟CPU时间,程序3运行了0.8分钟CPU时间。此时,程序1离结束所需要的CPU时间最短,仅为0.3分钟。

从0点20分开始,系统里面有4份额程序,因此属于4道编程。我们知道4道编程时CPU利用率为59%而如果程序1想再运行0.3分钟CPU时间,则整个系统需运行时间约为2分钟(2分钟时间内CPU共被使用1.2分钟,平均每个程序使用CPU时间为0.3分钟)因此在0点22分时,第一个程序执行完毕,系统变为3道编程。

   此时,程序1结束,程序2总共运行了2分钟CPU时间,程序3运行了1.1分钟CPU时间程序4运行了0.3分钟CPU时间。此时,程序3离所需的CPU时间最短,为0.9分钟。那么系统需要运行多长时间才能使程序3获得0.9分钟的CPU时间呢?答案是5.6分钟。因为3道编程的CPU利用率大约为48%,而5.6分钟内CPU的时间约是2.7分钟。三个程序平分,每个程序运行了0.9分钟CPU时间。因此,到0点27.6分钟,系统里只剩下两个程序。而在1.6分钟后,即0点28.2分钟时,程序2将结束运行,剩下程序4一个程序。该程序则在0点31.7分钟时结束运行。整个事件发生顺序,如图4-5所示。








多道编程比起单道编程,系统平时响应时间缩短了11.375分钟,响应时间减少了41.37%。多道编程带来的好处到底有多少和每个程序的性质、多道编程的度数、进程切换消耗等有关。但一般说来,只要度数适当,多道编程总是利大于弊。




    ---------详细请参考相关操作系统书籍



3. 

处理机字长是指处理机能同时处理(或运算)的位数,即同时处理多少位(bit)数据。比如Intel Pentium 4处理器字长为32位,它能同时处理32位的数据,也即它的数据总线为32位。以前的处理器比如8086,则为16位处理器,现在新兴的64位处理器,它的数据吞吐能力更强,即能同时对64位数据进行运算。处理器的字长越大,说明它的运算能力越强。如果讲处理器的寻址范围,则要看处理器的地址总线的位数,而不是它的字长!这个要明白!比如Intel Pentium 4处理器的数据总线为32位,地址总线也是32位。8086的数据总线为16位,地址总线为20位。新兴的64位处理器的数据总线为64位,地址总线大部分是32位。这个清楚之后,再看地址总线与寻址范围的关系。存储单元是以字节(byte)为单位,N根地址总线能访问2的N次方个存储单元。于是有32位地址总线可以访问2的32次方个存储单元,即4GB。 8086处理器字长是16位,它的地址总线是20位,所以能访问2的20次方个存储单元,即1MB。 另外一点需要注意的就是,如果有些题目说:按“字”寻址,就说明是存储单元大小为字长的位数,按“字节”寻址,说明存储单元式字节的大小(个人理解,没有考证)

 

下面通过举几个例子,来说明这些关系

 

1、某计算机字长32位,存储容量8MB。按字编址,其寻址范围为(0~2M-1)计算步骤:8MB字节=8*1024*1024*8位。所以8MB/32位=2M.

 

2、某计算机字长32位,其存储容量为4MB,若按半字编址,它的寻址范围是(0-2M-1)计算步骤:若按半字就是16位了 4MB=4*1024*1024*8位,所以4MB/16 = 2M;

 

3、字长为32位.存储器容量为64KB.按字编址的寻址范围是多少计算步骤:64K字节=64*1024*8位. 所以64KB/32位=(64*1024*8)/32=16*1024=16K故寻址范围为: 0-16K-1

 

4、某机字长32位,存储容量1MB,若按字编址,它的寻址范围是什么?

 

解释:容量1M=2*1024*1024 位      一个字长是32 位

所以,寻址范围是二者相除=256K

1、某计算机字长为32位,其存储容量为16MB,若按双字编址,它的寻址范围是多少?

2、某机字长为32位,存储容量为64MB,若按字节编址.它的寻址范围是多少?

解答:

我的方法是全部换算成1位2进制的基本单元来算。先计算总容量,如第一题中是16mb中,一B为8位,也就是8个一位基本单元组成,16M=2^24位=2^24个一位基本单元。所以总的基本单元是2^24*8。

一个字长是n位,就是说一个字是由n个一位基本单元组成。按照字来编址就是说由一个字所包含的一位基本单元的个数作为一个地址单元,它对应一个地址。同理,双字编址就是两个字所包含的的基本单元数作为一个地址单元。由于一个字节(1B)永远是8位,所以按字节编址永远是8个一位基本单元作为一个地址单元。寻址范围就是说总共有多少个这样的地址。

第一题中一个字长是32位,对于按字编址来说一个地址单元有32个基本单元,按双字编址则是一个地址单元有64个,按字节是8个,总容量是2^24*8个。所以按字编址的地址数是2^24*8/32个,按双字是2^24*8/64个,按字节是2^24*8/8个。因此,第一题答案是2^21=2M

同理,第二题答案是2^26*8/8=2^26=64M






评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值