1-4 挖掘CPU资源

挖掘CPU资源

多道程序(multiprogramming)

早期计算机的CPU在读写硬盘时就会空闲。为了利用这部分的CPU资源,监控程序会把正在等待CPU资源的程序启动。

这种方法提高了CPU的利用率,但是也导致了问题:程序之间没有优先级,紧急的任务可能要等很长时间才有机会分配到CPU(例如用户交互任务)。

分时系统

每个程序运行一段时间后都会出让CPU给其它程序。

程序通过调用Yield、GetMessage、PeekMessage这几个系统调用,将CPU主动出让给其它程序。但是如果程序陷入了while(1)的死循环,则整个系统都会停止。

多任务系统

操作系统:操作系统接管了所有的硬件资源,并且本身运行在一个受硬件保护的级别。

进程:每个进程都有独立的地址空间,彼此之间互相隔离。

CPU:CPU由操作系统统一进行分配,每个进程根据进程优先级的高低都有机会得到CPU,同时运行超出一定时间会被操作系统暂停,这种方式被称为抢占式。

操作系统可以强制剥夺CPU资源并且分配给它认为当前最需要的进程。如果每个进程分配到的时间都很短,就会造成很多进程同时运行的假象。