这个是我转来的,觉得讲的很好,所以贴到这里。
任务的分时处理是分时操作系统的思想内核。
分时操作系统是把 CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。如果某个作业在时间片结束之前,整个任务还没有完成,那么该作业就被暂停下来,放弃 CPU,等待下一轮循环再继续做。此时 CPU 又分配给另一个作业去使用。由于计算机的处理速度很快,只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个 CPU时间片,中间有所“停顿”;但用户察觉不出来,好像整个系统全由它“独占”似的。分时操作系统主要具有以下 3个特点:①多路性。用户通过各自的终端,可以同时使用一个系统。②及时性。用户提出的各种要求,能在较短或可容忍的时间内得到响应和处理。③独占性。在分时系统中,虽然允许多个用户同时使用一个 CPU,但用户之间操作独立,互不干涉。分时操作系统主要是针对小型机以上的计算机提出的。一般而言,微处理器(MPU)驱动的通用计算机,系统设计人员对每一台的最终具体应用都是不得而知的,因此,在价格允许的情况下,硬件设计务求 CPU时钟尽可能的快;计算及管理能力尽可能的强;程序和数据存储器的容量尽可能的大;各种计算机外设的配接尽可能的详尽等等,特别是采用分时操作系统的机器,因为是一机多用户的管理系统,它的要求就更高了。
相对而言,微控制器(MCU)俗称单片机,是一个单片集成系统,它将这些或那些计算机所需的外设,诸如程序和数据存储器、端口以及有关的子系统集成到一片芯片上。从硬件上,单片机系统与采用分时操作系统的计算机系统是无法比拟的。但是,在单片机系统的设计中,设计人员对其最终具体应用是一清二楚的,它的使用环境相对是单一固定的。所控制的过程的可预见性为分时系统思想的实现提供了可能性。具体一点就是:虽然单片机的 CPU速度较低,但其任务是可预见的,这样作业调度将变得简单而无须占用很多的 CPU时间,同时“时间片”的设计是具体而有针对性的,因此可变得很有效。同时,我们可以比较一下,单片机的分时处理面对的是多个并行的任务,而并不像小型机一样是多个用户。在分时处理的过程中,我们可以完全掌控每一个任务的紧急状况及完成状况,这样我们就可以根据每一个任务的实时需要调整给与的时间,而并不需要像分时操作系统一样划分严格相等的“时间片” 。当一个任务的执行条件成熟时,我们就分配时间给与处理,而若完成所占用的 CPU 时间在 1ms 以内,我们就可以一次分配时间完成。所以严格来说,单片机的分时处理应该是一种建立在以时钟和轮询基础上的分时处理。 在单片机程序设计中引入分时处理的思想的前提就是单片机的性能在不断提升,已经可以保证分时处理的正常实现。而单片机系统性能始终是实时性第一,分时处理可以让那些时间短而实时性高的任务得到最为及时的处理。同时,相对而言一般在一个单片机系统中都会存在并行任务,而分时处理可以让他们都得到执行,因为在每个循环中每个正在执行的任务都可获得 CPU时间使自己得到执行。而只要时间片划分的恰当,则可以确保每一个任务得到一个最优化的执行时间。 |