码迷,mamicode.com
首页 > 编程语言 > 详细

OS学习记录:线程

时间:2020-02-07 12:38:52      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:描述   处理机   就是   调用   运行   根据   单位   简单   分派   

线程:

  线程的实质是把进程的任务划分成更小、不能再分、具有独立功能的单位,以线程的形式来并发执行,以提高程序并发执行的程度。

  线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程只拥有在运行必需的资源,包括程序计数器,一组寄存器和栈,但它可与同属一个进程的其他线程共享线程所拥有的全部资源。一个线程可以创建和撤销另一个线程。同一个进程的多个线程可以并发执行。线程在运行中呈现间断性,也有就绪、阻塞和运行三种基本状态。

  线程的分类:

    (1)内核级线程

      内核级线程依赖于内核。用户进程和系统进程中的线程的创建、撤销和切换都由内核实现,在内核中保留每个线程的控制块,内核根据该控制块感知线程的存在并对线程进行控制。

    (2)用户级进程

      用户级进程不依赖于内核,与内核无关,线程的创建、撤销、切换都不需要利用系统调用实现。

  线程的区别:

    (1)线程的调度与切换速度

        内核级线程的调度由内核的线程调度程序完成,用户级线程则由用户线程包中的一个过程来完成。内核级线程的调度程序在核心态下运行。用户级线程的调度程序在用户态下运行。

        内核级线程的调度规则与进程调度相似,用户级线程的调度规则相对简单;内核级线程切换慢,用户级线程切换块。

    (2)系统调用

        内核级线程进行系统调用只阻塞该线程,而用户级线程进行系统调用要阻塞线程所属的进程。

    (3)线程执行的时间的分配

        内核级线程的CPU时间以线程为单位进行分配,每一个线程都可以独享一个CPU时间片;用户级线程的CPU时间以进程为单位进行分配,同一进程的多个线程共享一个CPU时间片。

  线程控制块TCB

    (1)每一个线程都由一个数据结构表示,包括它的基本状态、标识以及记账信息。这个数据结构就是线程控制块TCB。TCB记录了操作系统用于描述线程情况及控制线程运行所需的全部信息。

    (2)线程控制块的信息

        线程标识符信息  处理机状态信息  线程调度信息  线程控制信息 

 

OS学习记录:线程

标签:描述   处理机   就是   调用   运行   根据   单位   简单   分派   

原文地址:https://www.cnblogs.com/wenzhao/p/12272548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!