02 2014 档案
摘要:在“多任务”一文中,我们提到了“协同式多任务”与“抢先式多任务”的概念和二者的区别,谈到现在主流的多任务实现是“抢先式多任务”,并且留下关于未来“协同式多任务”是否会被淘汰的疑问。今天在此再举几个例子作对比,为前面提出的疑问做个推测。第一个例子先来看看“抢先式多任务”程序的运行表现。在这个例子中,我们用C#创建一个console程序,这个程序要做的事很简单,就是在命令行窗口记录下从程序启动到做完一个正整数累加(从1累加到50亿)的时间,程序代码如下: 1 class WasteTime 2 { 3 public void run() 4 { 5 ...
阅读全文
摘要:多任务操作系统已经存在一段很长的时间了,但即使都属于多任务操作系统,早期的多任务操作系统却采用的是不同于今天称为“抢先式多任务”(preemptive multitasking)的多任务处理机制。以windows为例,在windows95以前的多任务操作系统,其采用的是“协同式多任务”(cooperative multitasking)。那么这两者的区别在哪里呢?在现在的多任务系统中,当一个新的进程开始时,在它的时间片(timeslice)之内,cpu的使用权是在这个进程手里的,当时间片结束时,系统要收回cpu的使用权做下一轮分配;而在“协同式多任务”操作系统中,进程在执行过程中是可以不受..
阅读全文
摘要:我们知道,在现代计算机系统中,数据都是以0和1的形式存储的。而要表示0和1两个不同的状态,常常可以根据电荷的有无或者多寡来分别对应。一个可以表示二进制状态的装置就可以算是一个存储单元,其代表的数据容量为1bit。可以做存储单元的电子产品有千千万万,电容作为一种可以简单实现的工艺产品,且其充电状态的有无很明显地折射出二进制的意味,很自然的,它也可以用作存储单元,事实上,动态存储器(Dynamic RAM)的存储单元便是一个电容加上一个晶体管组成的。于是一个电容就存储着1bit的数据,一个容量为1G的动态存储器,有8x1024x1024x1024 个bit,里面的电容器数量超过了80亿个,比全..
阅读全文

浙公网安备 33010602011771号