zoukankan      html  css  js  c++  java
  • 操作系统精髓与设计原理(三)——线程、对称多处理和微内核

    线程和进程

    线程是资源分配的基本单位、线程是调度的基本单位

    进程的概念包括两个特点:

    • 资源所有权:一个进程包括一个存放进程映像的虚拟地址空间,进程映像是程序、数据、栈和进程控制块中定义的属性的集合。一个进程拥有对资源的控制权和所有权,操作系统保护进程之间的资源不起冲突。
    • 调度/执行:一个进程具有一个执行状态和一个分配的优先级,并且是一个可被操作系统调度和分派的实体。

    为了区分上面两个特点,分派的单位通常称作线程轻量级进程,而拥有资源所有权的单位通常称作进程任务

    多线程

    多线程是指操作系统在单个进程内支持多个并发执行路径的能力。
    每个线程有:

    • 线程执行状态;
    • 在未运行时保存的线程上下文;线程可以被看作进程内的一个被独立地操作地程序计数器;
    • 一个执行栈;
    • 用于每个线程局部变量地静态存储空间;
    • 与进程内的其他线程共享的对进程的内存和资源的访问。

    进程中的所有线程可以共享该进程的状态和资源。

    线程的优点:

    • 比创建一个新进程耗时短;
    • 终止一个线程比终止一个进程耗时短;
    • 线程切换比进程切换耗时短;
    • 提高不同程序间的通信的效率。

    线程特性

    线程状态:

    • 派生:当派生一个新进程的时候,也为其派生了一个线程。
    • 阻塞
    • 接触阻塞
    • 结束

    线程同步
    多个线程同时获取一处资源造成的影响。可以加锁。

    用户级和内核级线程

    线程可以分为这两种。
    纯用户级线程软件中,所有线程管理工作由应用程序完成。
    用户级线程的优点:

    • 所有线程数据结构都在用户地址空间,不需要转化为内核态特权,节省了两次状态转换的开销。
    • 应用程序量身定做调度算法。
    • 跨平台性。

    纯内核级线程中软件中,所有线程管理的工作都是由内核完成,应用程序没有线程管理的代码。
    上面二者可以进行组合。

    对称多处理

    在**多对称崇礼系统(SMP)**中, 内核可以在任何处理器上执行,并且通常是每个处理器可用的进程或线程池中自己的调度工作。
    在这里插入图片描述
    SMP关键问题:

    • 同时的并发进程或线程
    • 调度
    • 同步
    • 存储管理
    • 可靠性和容错性

    微内核

    微内核是一个小型的操作系统核心,它为模块化扩展提供基础。
    微内核的基本原理:只有最基本的操作系统功能才放在内核中。
    在这里插入图片描述
    优点:

    • 一致接口
    • 可扩展性
    • 灵活性
    • 可移植性
    • 可靠性
    • 分布式系统支持
    • 适用于面向对象操作系统环境
  • 相关阅读:
    Python 字符串格式化
    centos 7 & 6 优化脚本
    centos7.X 系统初始化>>优化
    重新嫁接rm命令
    ArcGIS Engine 10 开发常见问题的解决方法
    数据提交成功后如何避免alert被window.location.reload()影响
    服务器端IIS中部署带Office组件程序
    常用正则表达式
    C#解析XML
    使用Spire.Doc组件利用模板导出Word文档
  • 原文地址:https://www.cnblogs.com/lippon/p/14117720.html
Copyright © 2011-2022 走看看