线程

线程又叫迷你进程。线程比进程更轻,更容易创建。切换更容易。若存在大量的密集计算和IO操作。拥有多个线程允许这些活动重叠进行。

例子。当我们用文字处理软件处理文字的时候,会有多线程。一个和用户的gui界面交互。一个是处理文件的自动备份。如果是单线程的话。当备份的时候,键盘的操作就会被忽略。对用户不友好。

线程模型

进程拥有一个执行的线程,在该线程中有一个程序计数器,寄存器,以及堆栈记录历史纪录。进程用于把资源合在一起,线程则是CPU调度的基本单元。

左边的是进程中的内容,也就是所有线程都共享的,右边的数据是单个线程中的内容,和其他线程不共享

当一个线程完成工作后,通过(thread_exit) 退出

另外一个常见的线程调用时(thread_yield) 它允许线程自动放弃CPU而让另一个线程运行

POSIX 线程

为了实现可移植的程序。IEEE制定了线程的标准。

在用户空间实现线程。把整个线程放在用户空间。内核一无所知。

用户级线程,可以用用户实现自己的调度算法。

内核中实现线程。采用系统调用。内核中存放线程表.在内核中创建和撤销线程,代价是非常高的。所以采用让这个线程不可运行的标识。

混合实现

内核识别内核线程,进行调度。一些内核线程对多个用户线程复用。

转载于:https://www.cnblogs.com/tl542475736/p/7705101.html

操作系统知识--线程相关推荐

  1. java 线程 操作系统线程_线程基础:线程(1)——操作系统和线程原理

    1.概述 我在写"系统间通信技术专栏"的时候,收到很多读者的反馈.其中有一部分读者希望我抽空写一写自己关于对Java线程的使用经验和总结.巧的是,这个月我所在的技术团队也有很多同事 ...

  2. 计算机操作基本知识公务员,公务员计算机类操作系统知识.pdf

    软件设计师 (原高级程序员 ) 复习资料 专题三:操作系统知识 1.操作系统知识: 1.1 基本概述 操作系统是一个大型的软件系统,是为了提高计算机系统资源(硬件和软件资源)的利用效率并方便 用户使用 ...

  3. 软件设计师-操作系统知识

    1.操作系统知识: 1.1基本概述 操作系统是一个大型的软件系统,是为了提高计算机系统资源(硬件和软件资源)的利用效率并方便用户使用的一组程序,这些程序可以用软件实现,也可以用固件(微程序设计)实现. ...

  4. 面试中的操作系统知识

    面试中的操作系统知识 同步和互斥,锁 举一个死锁的例子 进程和线程的区别 进程是资源分配的单元,线程是系统调度的单元 转自https://www.zhihu.com/question/25532384 ...

  5. java线程与操作系统其他线程共享时间片_Java多线程(一)

    ***********************第14章 多线程 ********************************** 一.why 想让 两段代码 同时执行 的时候使用多线程 publi ...

  6. 【操作系统】—线程概念和多线程模型

    [操作系统]-线程概念和多线程模型 本章节学习内容如下 一.什么是线程,为什么要引入线程 线程是一个基本的CPU执行单元,也是程序执行流的最小单位 二.引入线程机制后,有什么变化? 三.线程的属性 线 ...

  7. GUID分区与MBR分区有什么区别? 操作系统知识

    GUID分区与MBR分区有什么区别? 操作系统知识 1.MBR分区表类型的磁盘 主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,它仅仅包含一个64个字节的硬盘分区表 ...

  8. 在学RTX之前的操作系统知识

    RTX学习之路 --在学RTX之前的操作系统知识 每当一提起操作系统这个词,脑子里立即浮现的是Windows, Linux,还有就是DOS, DOS系统在上学的时候偶尔用过,但那时候流行的是Windo ...

  9. 2021-07-08操作系统知识:程序计数器(pc)、指令寄存器(IR)、通用寄存器(GR)、状态寄存器(SR)、程序状态字PSW

    操作系统知识:程序计数器(pc).指令寄存器(IR).通用寄存器(GR).状态寄存器(SR).程序状态字PSW 快乐的一只小喵喵 2019-10-28 16:43:01 14046 收藏 96 分类专 ...

最新文章

  1. 2020黑客报告:7位道德黑客赏金收入超100万
  2. UML建模的要点总结
  3. 使用Java和JSF构建一个简单的CRUD应用
  4. 前端学习(2226):react之组件
  5. 实例说明代码段(.text)、数据段(.data)、bss段、只读数据段(.rodata)、堆栈的划分依据
  6. android联系人源码分析,android 联系人源码分析 新字段的添加流程
  7. [原创]《敏捷软件测试:测试人员与敏捷团队的实践指南》一书思维图初稿版...
  8. python np数组中括号里面‘:n‘与‘n:‘什么意思
  9. 新浪博客中特殊字符不显示的问题
  10. 逆向基础——软件手动脱壳技术入门
  11. fir高通滤波器matlab程序,FIR数字滤波器的Matlab实现[高等教育]
  12. 三轴加速度传感器角度值转换原理
  13. 简单银行账户管理系统
  14. mysql隔离级别 isolation_MySQL事务和隔离级别
  15. 计算机控制台程序,什么是电脑控制台,是DOS设定吗?
  16. 全缓存、行缓存和无缓存
  17. 大数据架构师拿年薪50W的方法诀窍
  18. window的onload()的使用
  19. 显色指数(CRI)计算软件分享(升级版本:增加同步计算R15,CCT,CIE色坐标,三刺激值等)
  20. 【Kubernetes】K8s集群operator模式安装minio

热门文章

  1. golang读取文件编码转换问题
  2. Android绘制基础及手写绘制实例
  3. 创建和使用约束Constraint
  4. 【C++】C++中substr的用法
  5. 【操作系统】虚拟存储器(下)-思维导图
  6. 计算机硬盘驱动器越大,计算机硬盘驱动器的使用寿命是多少
  7. java pdf 工具_Java_iText_PDF—生成PDF工具
  8. SQL 两张结构一样的表合并查询
  9. Spring + Ibatis + MySql实例详解
  10. HDFS 读/写数据流程