操作系统结构

来源:互联网 发布:java undefined 判断 编辑:程序博客网 时间:2024/05/21 07:58

           作系统最重要的一点是要有多道程序处理能力。单个用户通常不能总是使用CPU和I/O设备都忙。

一、多道程序设计

        多道程序设计通过组织作业使CPU总有一个作业可执行,从而提高CPU的利用率。

        它的思想如下:操作系统同时将多个任务保存在内存中,该作业集可以是作业池中作业集的子集(作业池中包括所有进入系统的作业)。操作系统选择一个位于内存中的作业并开始执行。最终,该作业可能必须等待另一个任务如I/O操作的完成,这时对于非多道程序系统,CPU就会空闲;而对于多道程序系统,CPU会简单地切换到另一个作业并执行。当该作业需要等待时,CPU会切换到另一个作业。最后,第一个作业完成等待并且重新获得CPU。只要有一个任务可以执行,CPU就绝不会空闲。

           缺点:多道程序系统提供了一个可以充分使用各种系统资源的环境。但是它们没有提供与计算机系统直接交互的能力。

二、分时系统

        分时系统是多道程序设计的延伸。在分时系统中,虽然CPU还是通过在作业之间的切换来执行多个作业,但是由于切换频率很高,用户可以在程序运行期间与之进行交互。

        共享需要一种交互计算机系统,它能提供用户与系统之间的通信。用户通过输入设备,如键盘或鼠标,向操作系统或程序直接发出指令,并等待输出设备的实时性输出结果。相应地,响应时间应该比较短,通常小于1s。

        分时系统允许许多用户同时共享计算机。由于分时系统的每个动作或者命令都比较短,因而每个用户只要少量的CPU时间。随着系统从一个用户快速切换到另一个用户,每个用户会感到整个系统只为自己所用。

        分时系统采用CPU调度和多道程序设计以提供给每个用户一个分时计算机的一小部分。每个用户在内存中至少有一个程序。装入到内存并执行的程序通常称为进程。当进程执行时,它通常只执行较短的一段时间,此时它并完成或者需要进行I/O操作,I/O可能是交互的,但是由于交互I/O通常按人的速度来运行,因此它需要很长时间完成,但是这对计算机来说相当慢了。在用户交互输入时,操作系统为了不让CPU空闲,会将CPU切换到其他用户的程序。

三、作业调度

        分时和多道程序设计需要在存储器中同时保存有几个作业。通常由于主存太小而不能容纳太多作业,因此这些作业刚开开始存储在磁盘的作业池(job pool)中。该池由所有驻留在磁盘中需要等待分配内存的作业组成。如果多个作业需要调入内存但没有足够的内存,那么系统必须在这些作业中做出选择,这样的决策被称为作业调度。

四、CPU调度

        如果有多个任务同时需要执行,那么系统必须要做出选择,这样的选择称为CPU调度。

五、虚拟内存

        在分时操作系统中,操作系统必须保证合理的响应时间,这有时需要通过交换来得到。交换时进程被换入内存或者由内存换出到磁盘。实现这一目的更常用方法是使用虚拟内存(virtual  memory),虚拟内存允许将一个执行的作业不完全放在内存中。

优点:程序可以比物理内存大,其次,它将内存抽象成一个庞大且统一的存储数组,将用户所理解的逻辑内存与真正的物理内存区分开来。这种安排使得程序不必为内存空间的限制而担心。

六、文件系统 

       分时系统也必须提供文件系统。文件系统驻留在一组磁盘上,因此必须提供磁盘管理。另外,分时系统需提供一种资源以防止不当使用的机制。为了确保有序执行,系统必须提供实现作业同步和通信的机制,它也确保作业不会进入死锁,进而无尽地相互等待。

 

原创粉丝点击