当前位置: 首页 > news >正文

做网站找众展建立个人网站的方法

做网站找众展,建立个人网站的方法,太原网络推广价格,淘宝客手机网站文章目录操作系统基础---多线程1.为何引入线程程序并发的时空开销线程的设计思路线程的状态和线程控制块TCB2.线程与进程的比较3.线程的实现⭐1.内核支持线程KST2.用户级线程3.组合方式操作系统基础—多线程 1.为何引入线程 利用传统的进程概念和设计方法已经难以设计出适合于… 文章目录操作系统基础---多线程1.为何引入线程程序并发的时空开销线程的设计思路线程的状态和线程控制块TCB2.线程与进程的比较3.线程的实现⭐1.内核支持线程KST2.用户级线程3.组合方式操作系统基础—多线程 1.为何引入线程 利用传统的进程概念和设计方法已经难以设计出适合于SMP(多对称处理机)结构计算机系统的OS其根本原因在于多处理机环境下进程的创建调度分配所花费的时空开销太大引入线程以线程作为调度和分派的基本单位可以提升系统的并发性改善多处理机系统的性能。 程序并发的时空开销 1.创建进程系统在创建一个进程时必须为它分配其所必须的除处理机外的所有资源如内存空间IO设备以及建立相应的PCB。 2.撤销进程系统在撤销进程时必须先对其所占有的资源执行回收操作然后再撤销PCB 3.进程切换对进程进行上下文切换时需要保留当前进程的CPU环境设置新选中的CPU环境需要花费不少处理机时间。 线程的设计思路 设法将进程的两个属性分开即不把作为调度和分派的基本单位也同时作为拥有资源的单位以做到“轻装上阵”而对于拥有资源的基本单位又不对之施以频繁的切换。 线程的状态和线程控制块TCB 线程运行的三个状态 1执行状态线程已获得处理机而正在运行2就绪状态线程已获得除处理机外的所有执行条件获得处理机后可立即执行3阻塞状态线程在执行中因某事件受阻而处于暂停状态 线程控制块TCB ①线程标识符②一组寄存器③线程运行状态④优先级⑤线程专有存储区⑥信号屏蔽⑦堆栈指针 2.线程与进程的比较 1.调度的基本单位 在引入线程的OS中已把线程作为调度和分派的基本单位当线程切换时仅需保存和设置少量寄存器内容切换代价远低于进程。在同一进程中线程的切换不会引起进程的切换但从一个进程的线程切换到另一个进程的线程时必然会引起进程的切换。 2.并发性 在引入线程的OS中不仅进程之间可以并发执行而且在一个进程中的多个线程之间亦可并发执行甚至允许一个进程中的所有线程都能并发执行不同进程中的线程也能并发执行。使OS具有了更好的 并发性。 3.拥有资源 进程可以拥有资源并作为系统中拥有资源的一个基本单位。然而线程本身并不拥有资源而是仅有一点必不可少的能保证独立运行的资源。每个线程中都应具有一个用于控制线程运行的线程控制块TCB用于指示被执行指令序列的程序计数器保留局部变量少数状态参数和返回地址等的一组寄存器和堆栈。 多个线程可以共享该进程所拥有的资源属于同一进程的所有线程都具有相同的地址空间线程可以访问该地址空间中的每一个虚地址此外还可以访问进程所拥有的资源如已打开的文件定时器信号量机构等的内存空间和它所申请的IO设备等。 4.独立性 同一进程中的不同线程之间的独立性要比不同进程之间的独立性低得多。为防止进程之间彼此干扰和破坏每个进程都拥有一个独立的地址空间和其它资源除了共享全局变量外不允许其它进程访问。但是同一进程的不同线程往往为了提高并发性以及进行相互之间的合作而创建的它们共享进程的内存地址空间和资源如每个线程都可以访问它们所属进程地址空间中的所有地址一个线程的堆栈可以被其它线程读写甚至完全清除。由一个线程打开的文件可以供其它线程读写。 5.系统开销 在创建或撤销进程时系统都要为之分配和回收进程控制块分配或回收其它资源如内存空间和IO设备等。OS为此所付出的开销明显大于线程创建或撤销时所付出的开销。此外由于一个进程中多个线程具有相同的地址空间线程之间的同步和通信也比进程的简单。因此一些OS中线程的切换同步和通信都无需操作系统内核的干预。 6.支持多处理机系统 在多处理机系统中单线程进程只能在一个处理机上运行但多线程进程可以将一个进程中的多个线程分配到多个处理机上使它们并行执行。 多线程OS中的进程 在多线程OS中进程仍是作为系统资源分配的基本单位一个进程内的多个线程可并发执行进程已不是可执行的实体多线程OS中把线程作为独立运行的基本单位此时进曾不再是基本可执行实体。但进程仍具有与执行相关的状态 进程执行状态实际上指该进程的某线程正在执行将某进程挂起实际上将该进程的所有线程也挂起将某进程激活实际上将该进程的所有线程也激活 3.线程的实现⭐ 1.内核支持线程KST 概念介绍 kST——Kernel Supported Threads 内核支持线程KST是在内核的支持下运行的它们的创建阻塞撤销和切换等都是在内核空间实现的。为了对内核线程进行控制和管理在内核空间为每一个内核线程设置了一个线程控制块内核根据该控制块而感知某线程的存在并对其加以控制。当前大多数OS都支持内核支持线程。 内核支持线程的优点 ①在多处理器系统中内核能够同时调度同一进程中的多个线程并行执行②如果进程中的一个线程被阻塞了内核可以调度该进程中的其它线程占有处理器运行也可以运行其它进程中的线程③内核支持线程具有很小的数据结构和堆栈线程的切换比较快切换开销小④内核本身也可采用多线程技术可提高系统的执行速度和效率。 内核支持线程的缺点 对于用户的线程切换而言其模式切换的开销较大在同一个进程中从一个线程切换到另一个线程时需要从用户态转到核心态进行这是因为用户进程的线程在用户态运行而线程调度和管理是在内核实现的系统开销较大。 内核支持线程的实现 系统在创建一个新进程时便为它分配一个任务数据区PTDA(Per Task Data Area)其中包括若干个线程控制块TCB空间。 在每一个TCB中可保存线程标识符优先级线程运行的CPU状态等信息。 这些信息与用户级线程TCB中的信息相同但是现在却是被保存在内核空间当中。 每当进程要创建一个线程时便为新线程分配一个TCB将有关信息填入该TCB中并为之分配必要的资源。内核支持线程的调度和切换与进程的调度和切换十分相似。 2.用户级线程 概念介绍 用户级线程是在用户空间中实现的。对于线程的创建撤销同步与通信等功能都无需内核的支持即用户级线程是与内核无关的。在一个系统中的用户级线程的数目可以达到数百个至数千个。由于这些线程的任务控制块都是设置在用户空间而线程所执行的操作也无需内核的帮助因而内核完全不知道用户级线程的存在。 注对于设置了用户级线程的系统其调度仍是以进程为单位进行的。 而内核支持线程调度是以线程为单位进行的 用户级线程的优点 ①线程切换不需要转移到内核空间。对一个进程而言所有线程的管理数据结构均在该进程的用户空间中管理线程切换的线程库也在用户地址空间运行因此进程不必切换到内核方式来做线程管理从而节省了模式切换的开销。②调度算法可以是进程专用的。在不干扰OS调度的情况下不同的进程可以根据自身需要选择不同的调度算法对自己的线程进行管理和调度而与OS的低级调度算法是无关的。③用户级线程的实现与OS平台无关。因为对于线程管理的代码是属于用户程序的一部分所有的应用程序都可以对之进行共享。因此用户级线程甚至可以在不支持线程机制的操作系统平台上实现。 用户级线程的缺点 ①系统调用的阻塞问题②在单纯的用户级线程实现方式中多线程应用不能利用多处理机进行多重处理的优点内核每次分配给一个进程仅一个CPU进程中仅有一个线程可以执行其它线程在该线程放弃CPU之前只能等待。 用户级线程的实现 用户级线程是在用户空间实现的。所有的用户级线程都具有相同的结构它们都运行在一个中间系统上。当前有两种方式实现中间系统 1.运行时系统实质上是用于管理和控制线程的函数的集合包括用于创建和撤销线程的函数线程同步和通信的函数以及实现线程调度的函数等。这些函数能使用户级线程与内核无关。运行时系统中的所有函数都驻留在用户空间并作为用户级线程与内核之间的接口。 用户级线程在切换时不须转入核心态而是由运行时系统中的线程切换过程来执行切换任务。当线程需要系统资源时将该要求传送给运行时系统由后者通过相应的系统调用来获得系统资源。 2.内核控制线程这种线程又称为轻型进程LWP。 每一个进程都可拥有多个LWP同用户级线程一样每个LWP都有自己的数据结构如TCB其中包括线程表示符优先级状态另外还有栈和局部存储区等。LWP也可以共享进程所拥有的资源。LWP可以通过系统调用来获得内核提供的服务当一个用户级线程运行时只须将它连接到一个LWP上此时它便具有了内核支持线程的所有属性。这种线程的实现方式就是组合方式每一个LWP都要连接在一个内核级线程上LWP可把用户级线程与内核连接起来同时LWP实现了内核与用户级线程之间的隔离内核所看到的总是多个LWP而看不到用户级线程从而使用户级线程与内核无关 为了节省资源将多个LWP做成一个缓冲池称为线程池。 用户进程中的任何一个线程都可以连接到LWP池中的任何一个LWP上。 多个用户级线程可多路复用一个LWP但是只有当前连接到LWP上的线程才能和内核通信其余线程或阻塞或等待LWP。 3.组合方式 概念介绍 在组合方式线程系统中内核支持多个内核支持线程的建立调度和管理同时也允许用户应用程序建立调度和管理用户级线程。 由于用户级线程和内核支持线程连接方式不同从而形成了三种不同模型 1多对一模型将多个属于一个进程的用户线程映射到一个内核控制线程。当用户线程需要访问内核时将其映射到这个内核控制线程上但每次只允许一个线程进行映射。该模型优点是线程管理开销小效率高缺点是如果一个线程在访问内核时发生阻塞则整个进程都会被阻塞并且任何时间只有一个线程可访问内核多个线程不能同时在多个处理机上运行。2一对一模型每一个用户级线程映射到一个内核支持线程。解决了多对一模型的缺点它唯一的缺点是每创建一个用户线程就相应地创建一个内核线程开销较大需要限制整个系统的线程数。3多对多模型允许多用户线程映射到同样数量或更少数量的内核线程上。它既可以使多个线程并行地运行在多处理机系统上也可以减少线程的管理开销。
http://www.w-s-a.com/news/508425/

相关文章:

  • 许昌网站建设百姓国货app下载
  • 什么是建站装修公司做宣传在哪个网站
  • 阿里云虚拟主机多个网站吗大庆油田建设集团网站
  • 坂田公司做网站公司有网站域名后如何建网站
  • 自媒体网站程序淘宝网站维护
  • 凡科网站建设网站wordpress 七牛oss
  • 搬瓦工的主机可以用来做网站吗分类信息网站开发需求方案
  • 上海高端网站开发站霸网络国际网站建设的目的
  • 程序员招聘求职的网站做网站加入广告联盟
  • 网站建设的技术方案模板易做文学网站的logo
  • 建设国家标准官方网站响应式网站切图
  • 网站链接数怎么做wordpress安装网址
  • 沈阳建网站 哪家好如何做旅游网站推销
  • 继续网站建设南通网站建设方法
  • 淮南公司网站建设如果做京东优惠卷的网站
  • 二手房网站平台怎么做项目工程监理公司网站建设方案
  • 秦皇岛做网站公司小说推广平台有哪些
  • php网站做分享到朋友圈天元建设集团有限公司信用代码
  • 邱县做网站在线免费图片编辑器
  • 网站备份网站做网站如何把支付宝微信吧
  • 做网站的怎么获取客户信息晋城建设局网站
  • 新开传奇网站发布网单职业wordpress建站网页无法运作
  • 海南省住房和城乡建设厅官方网站网站开发有哪些语言
  • 网站开发排期表免费网站建设策划
  • 飞沐网站设计江苏建设人才网证书查询
  • 网站优化的意义怎么帮商家推广赚钱
  • 安顺公司做网站福州建设发展集团有限公司网站
  • 普陀企业网站建设做散客机票的网站如何推广
  • 河北网站建设与制作建设宁波市分行的互联网网站
  • python做网站是不是特别慢百度推广基木鱼