首页 理论教育Windows操作系统下的处理器管理与进程同步、调度和通信

Windows操作系统下的处理器管理与进程同步、调度和通信

【摘要】:处理器管理的主要任务是对处理器的使用进行分配,并对其运行进行控制和管理。下面我们以Windows操作系统为例,介绍操作系统对于处理器的管理。处理器管理本质上是对进程的管理。Windows是一个多任务的操作系统,当应用程序对CPU有请求时,系统就为它创建一个或几个进程,并为这些进程分配CPU资源,处理器管理就是对这些进程的同步、进程之间的通信、进程调度进行管理。

处理器管理的主要任务是对处理器的使用进行分配,并对其运行进行控制和管理。为了提高CPU的利用率,操作系统一般都支持若干个程序同时运行,称为多任务处理(multitasking)。所谓的任务(task),是指装入内存并启动运行的一个应用程序。下面我们以Windows操作系统为例,介绍操作系统对于处理器的管理。

操作系统成功启动之后,这时除了和操作系统相关的一些程序在运行外,用户还可以根据自己的需要启动多个应用程序,如IE浏览器、Word、PowerPoint、QQ等,这些程序可以互不干扰地独立工作。按下“Ctrl+Alt+Del”组合键可以打开“Windows任务管理器”窗口(如图3.5所示)。通过该窗口的“应用程序”选项卡可以看到当前正在运行的应用程序有哪些,通过“进程”选项卡还可以看到系统中的各个进程对CPU和内存的占用情况。

处理器管理本质上是对进程的管理。所谓“进程”就是要么全做要么都不做的一段程序,这段程序是原子的,不可再分的。Windows是一个多任务的操作系统,当应用程序对CPU有请求时,系统就为它创建一个或几个进程,并为这些进程分配CPU资源,处理器管理就是对这些进程的同步、进程之间的通信、进程调度进行管理。

如果我们把CPU的时间进行划分(比如1/20s),每片时间称为时间片。当我们启动多个任务时,为了保证多个任务“同时”执行,操作系统中的调度程序一般根据时间片轮转的原则为这些任务分配处理器,即每个任务轮流得到一个时间片,当一个时间片用完后,不论这个任务多么重要,调度程序都要把时间片分配给下一个任务,依次循环下去,直至任务完成。这种调度任务的方式被称为“抢占式任务调度”。由于CPU的处理速度极快,所以给用户的感觉是CPU是同时执行所有任务的,其实从微观的角度来看,CPU是轮流执行这些任务的。(www.chuimin.cn)

图3.5 使用Windows任务管理器查看Windows系统中当前的任务运行情况

由于不同任务的重要程度不同,请求的迫切程度也不同,要通过一定调度算法来确定任务的优先级,从而决定任务得到处理器的先后次序。调度算法有很多种,比如先来先服务(FCFS),也就是按时间顺序排队,先到的任务先得到服务;再如短作业优先(SJF),可以照顾到在所有作业中占很大比重的短作业,使它们能够比长作业优先执行。调度算法很多也很灵活,这里就不一一列出了。