操作系统-4-进程管理(一) (5)

      

操作系统-4-进程管理(一)

      进程的两个属性:进程是一个资源分配的基本单位。进程是一个可独立调度和分派的基本单位。

      从进程方面解释引入线程:进程作为一个资源拥有者,在创建、撤消、切换中,系统必须为之付出较大时空开销。

            所以系统中进程的数量不宜过多,进程切换的频率不宜过高,但这也就限制了并发程度的进一步提高。
            将进程的上述两个属性分开,线程作为调度的基本单位,不同时作为独立分配资源的单位;
            线程会被频繁调度和切换。进程作为拥有资源的单位,不进行频繁切换。线程因而产生。
      特征:结构性:TCB:标识、现场信息(寄存器、PC、栈指针)、调度信息(状态、优先级)
                   数据块:过程参数、数据、系统与用户堆栈
         并发性:同一进程中的各线程在同一主存空间,可以共享进程中的所有资源(数据、设备、文件),线程间通信方便。
         共享性:同一进程的各线程
         动态性:有生命期,有状态变化,可创建子线程
      性质:在引入线程的OS中,线程是进程中的一个实体,是被系统独立调度和分派的基本单位。
         线程自己基本不拥有系统资源,只拥有少量必不可少的资源:程序计数器PC、一组寄存器、栈。
         线程可与同属一个进程的其它线程共享进程所拥有的全部资源。
         一个线程可以创建和撤消另一个线程;同一进程中的多个线程之间可以并发执行。
         系统调度的基本单位是线程而不是进程,每当创建一个进程时,至少要同时为该进程创建一个线程,否则该进程无法被调度执行。
      单线程进程的内存布局和运行:
          

操作系统-4-进程管理(一)


      管理和执行相分离的进程模型:
           

操作系统-4-进程管理(一)

      引入线程的好处:创建一个新线程花费时间少
              线程的终止时间比进程短;
              同进程内的线程切换时间比进程短;
              因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核
              适合多处理机系统

      线程的属性:轻型实体:基本不拥有资源
            独立调度的基本单位
            可以并发执行
            共享进程资源

      线程的状态:线程状态:运行、就绪和阻塞三种状态。线程的状态转换类似于进程。
            挂起状态对线程是没有意义的,如果进程挂起后被对换出主存,则它的所有线程因共享了进程的地址空间,也必须全部对换出去。
            线程的两种阻塞方式:阻塞进程方式:对某些线程实现机制,当线程被阻塞时,所在进程也转换为阻塞态,即使这个进程存在另一个处于就绪态的线程。
                      阻塞线程方式:如果存在另外一个处于就绪态的线程,则调度该线程进入运行状态,否则进程才转换为阻塞态。
      线程的管理:线程包:多线程技术利用线程包(库)提供线程原语集来支持多线程运行
               线程包(库)可分成两种:用户空间中运行的线程包(库)
                           内核中运行的线程包(库)
            线程包(库)提供一组API,支持应用程序创建、调度、撤销和管理线程的运行。如:创建、撤销、改变优先级等。
            有的操作系统直接支持多线程,而有的操作系统不支持多线程。

 

    2 线程与进程的比较

      概述:线程具有进程的许多特征,在引入线程的OS中,每一进程都拥有至少一个线程。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjwpf.html