zoukankan      html  css  js  c++  java
  • 计算机操作系统(第三版)读书笔记

      看这本书的主要目的是想了解进程线程在操作系统内部的实现过程和原理,以便为之后的高并发学习打下基础。

    进程:通常程序是静态实体(Passive Entity),在多道程序系统中,它们是不能独立运行的,更不能和其它程序并发执行。在操作系统中引入进程的目的,就是为了使多个程序并发执行。简单来说,进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。一个进程在运行时需要一定的资源,如CPU、存储空间及I/O设备等。

    线程:通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源,在引入线程的os中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小的多,能更高效地提高系统内多个程序间并发执行的程度。因而近年来推出的操作系统都引入了线程,以便进一步提高系统的并发行,并把它视作现代操作系统的一个重要标致。

    虚拟技术:

    1. 时分复用:分时使用方式(并发)
    2. 空分复用:电信业中就使用频分复用技术来提高信道的利用率,将一个频率范围非常宽的信道,划分成多个频率范围较窄的信道,其中的任何一个频带都只供一对用户通话,在计算机中也使用了空分复用技术来提高存储空间的利用率。

    虚拟存储器技术(虚拟内存)可以使一个100M的应用程序可以运行在20M的内存空间。

    处理机调度与死锁:

    在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。由于处理机是最重要的计算机资源。提高处理机的利用率及改善系统性能(吞吐量、响应时间),在很大程度上取决于处理机调度性能的 好坏,因而,处理机调度便成为操作系统设计中心的问题之一。

    进程调度中的三个基本机制:

    1. 排队器。为了提高进程调度的效率,应事先将系统中所有的就绪进程按照一定的方式排成一个或多个队列,以便调度程序能最快地找到它。
    2. 分派器(分派程序)。分派器把由进程调度程序所选定的进程,从就绪队列中取出该进程,然后进行上下文切换,将处理机分配给它。
    3. 上下文切换机制。当处理机进行切换时,会发生两对上下文切换操作。在第一对上下文切换时,操作系统将保存当前进程上下文,而装入分派程序的上下文,以便分配程序运行;在第二对上下文切换时,将移出分派程序,而把新选进程的CPU现场信息装入到处理机的各个相应寄存器中。应当指出,上下文切换将花去不少的处理机时间,即使时现代计算机,每一次上下文切换大约需要花费几毫秒的时间,该时间大约可执行上千条命令。为此,现在已有通过硬件(采用两组或多组寄存器)的方法来减少上下文切换的时间。一组寄存器供处理机在系统态时使用,另一组寄存器供应用程序使用。在这种条件下的上下文切换只需改变指针,使其指向当前寄存器组即可。

    进程或线程死锁(之后所说的进程都指 进程和线程):

    1. 竞争资源。当系统中供多个进程或线程共享的资源如打印机、公用队列等,其数目不足以满足诸进程或线程的需要时,会引起诸进程或线程对资源的竞争而产生死锁。
    2. 进程或线程间推进顺序非法。进程或线程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。

    竞争资源引起进程或线程死锁的原因:可把系统中的资源分为两类,一类是可剥夺性资源,是指某进程在获得这类资源后,该资源可以再被其他进程或系统剥夺。例如优先权高的进程可以剥夺优先权低的进程的处理机。有如,内存区可由存储器管理程序把一个进程从一个存储区移到另一个存储区,此即剥夺了该进程原来占有的存储区。甚至可将一个进程从内存调到外存上。可见CPU和主存均属于可剥夺性资源。另一类资源时不可剥夺性资源,当系统把这类资源分配给某进程后,再不能强行收回,只能再进程用完后自行释放,如磁带机、打印机等。

    竞争非剥夺资源:在系统中所配置的非剥夺资源,由于他们的数量不能满足诸进程运行的需要,会使进程在运行过程中,因争夺这些资源而陷入僵局。

    产生死锁的必要条件:

    1. 互斥条件:指进程对所分配到的资源进行排它性使用,即

    未完...

  • 相关阅读:
    DataGird导出EXCEL的几个方法
    csv文件与DataTable互相导入处理
    LeetCode 345
    LeetCode 168
    LeetCode 344
    LeetCode 342
    LeetCode 343
    LeetCode 326
    LeetCode 338
    LeetCode 319
  • 原文地址:https://www.cnblogs.com/go-ahead-wsg/p/12030828.html
Copyright © 2011-2022 走看看