发表于:2008-03-05 17:37:00
2楼
所谓协同式多任务和抢先式多任务.我有个疑问,cpu只有一个,如何协同多任务???就如计算机的cpu一般,程序本身是多进程多线程,但是cpu处理也只能一个线程一个线程进行.多进程(几个程序)过来貌似几个程序都在尽心,实际上.每个进程中间的线程任然是在cpu的空闲时间才进行处理的....这只是计算机的cpu处理速度远快于总线,缓存,等外设速度情况下....而作为工控用的cpu速度都比较慢,,,,而很多情况下,控制时间要求却比较严格...因此在cpu角度来看,抢先式和协同式没有本质区别.
我想其实际区别在于协同式就如线程或指令一般,cpu在连续的几个处理周期分别处理各个任务中的一小部分....这样一来可以避免某个任务独占cpu和总线.....而抢先式就可能会强占有一段时间中的多个处理周期...
以上个人见解...欢迎拍砖