Chapter 4线程、对称多处理和微内核

一、             线程间的状态切换比进程间的状态切换开销更低的原因?(从资源分配角度来分析)

从下面这幅图可以看出

左边为单线程进程模型,右边为多线程进程模型。从上图可以看出,多线程虽然有自己的线程控制块、用户栈和内核栈,但是他们是共享同一个进程中用户地址空间的,线程切换不需要重新分配资源;相反,进程间由于不共享用户地址空间,进程切换时需要重新分配资源,操作系统使其环境产生实质性的变化。(核心问题是资源分配问题)

二、             在进程概念中体现出来的两个独立且无关的特点是什么?

资源所有权和调度/执行。

资源所有权:一个进程包括一个进程影像的虚拟地址空间,一个进程总是拥有对资源的控制或所有权。

调度/执行:一个进程沿着一个通过一个或多个程序的一条执行路径(轨迹)。

三、             单用户多处理系统中使用线程的4个例子

1、  执行速度

2、  异步调用(程序)

3、  前台和后台工作(如word)

4、  模块化程序结构

在支持线程的OS中,调度和分派是在线程的基础上完成的,但是有些活动影响着进程中的所有线程,因此OS必须在进程一级对它们进行管理。

四、             用户级线程相对于内核级线程的3个优点


对比上面纯用户级线程和纯内核级线程,可知:

优点一;纯用户级线程中,内核以进程为单位进行调度,所有线程共享一个进程的用户地址空间,因此线程切换不需内核特权(右图纯内核级线程中可以看出,当进行线程切换时,需进入到内核态进行切换),节省了两次状态转换(用户态——>内核态,内核态——>用户态)。

优点二:从上图可知,用户级线程处在用户态执行,与具体OS无关。调度可以是应用程序相关的。

优点三:用户态线程可以在任何操作系统中运行(可移植性好),不需要内核的的特别支持。线程库(Thread libray)是一组供所有应用程序共享的应用程序级别的函数。

五、             用户级线程相对于内核级线程的两个缺点。(也就是内核级线程的优点)

比较上两图可以看出:

缺点一:纯用户级线程中,内核以进程为单位进行调度,因此当其中一个用户线程阻塞时,很有可能阻塞整个进程,而在内核级线程中,当一个线程发生阻塞时,内核可以调度到另一个线程进行执行。

缺点二、在纯用户进程中,内核以进程为单位进行调度给处理器,一个多线程的应用程序不能利用多处理技术,讲多个线程分配给不同的处理器进行执行。而右图中内核级线程是可以的,Windows采用的就是这种技术。

六、             Jacketing的定义

针对用户级线程的缺点而产生的技术。目标:把产生阻塞的系统调用转化成一个非阻塞的系统调用。

七、             给出在典型的单体结构操作系统中可以找到,且可能是微内核操作系统外部子系统的服务和功能。

文件系统,设备驱动程序、虚存管理程序、窗口系统和安全服务。他们可以和内核交互,也可以相互交互。

八、             微内核设计相对于整体式结构设计的7个优点。

UNIX分层内核体系结构            微内核体系结构图(客户/服务器模式)

微内核外部的操作系统部件被当做服务器进程来实现,它们可以借助与微内核传递消息来实现相互之间的交互。MACH采用微内核模式。

1、  一致接口,进程无需区分是内核级服务还是用户级服务

2、  可扩展性,允许增加新的服务以及在同一个功能区域中提供多个服务

3、  灵活性,不仅 可以增加功能还可以删减功能,以产生一个更小、更有效的实现

4、  可移植性,

5、  可靠性,小的微内核可以被严格的测试。

6、  分布式系统支持

7、  对面向对象操作系统的支持

九、             微内核操作系统可能存在的性能缺点(从客户服务器的架构来分析)

从微内核体系结构图可以看出。因为微内核中只有最基本功能,微内核外部操作系统部件被当做服务器进程实现,进程间通信需通过微内核构造和发送消息、接受应答并解码所花费的时间比进行一次系统调用的时间要多。

十、             列出即使在最小的微内核操作系统中也可以找到的3个功能。

IPC——进程间通信,低级存储管理、和I/O和中断管理。

十一、      微内核操作系统中,进程或线程间通信的基本形式是什么?

消息。通过微内核构造和发送信息,接受应答并解码。

转载于:https://www.cnblogs.com/lixiangfa/archive/2011/09/08/2171880.html

操作系统复习之线程、对称多处理和微内核相关推荐

  1. 北京理工大学操作系统复习——习题+知识点

    文章目录 传送门 前言 ppt习题+课后习题汇总 第1章 操作系统概论 操作系统性能指标计算 第2章 进程管理 进程调度算法 课后2-9:最短作业优先 课后2-12:四种算法比较 课后2-13:轮转与 ...

  2. 东北大学软件学院操作系统复习考点(附概念题)

    word直接复制来了,格式就不改了.至于这门课怎么复习,只要平时实验都认真完成.报告认真写,平时分都很高:考试的话除了看 第一章:概述 什么是操作系统? 是一段一直运行在计算机上的程序 是资源的分配者 ...

  3. 我的操作系统复习——进程(下)

    上一篇博客是复习操作系统进程篇的上篇,包括进程状态.PCB.进程控制等--我的操作系统复习--进程(上),本篇博文是进程篇的下篇,开始复习进程同步.进程通信,以及重要的线程概念. 一.进程同步 什么是 ...

  4. 淮阴工学院计算机操作系统,淮阴工学院 操作系统复习.docx

    淮阴工学院 操作系统复习 一.填空1.作业调度是处理机的高级调度,进程调度是处理机的低级调度.2.页表的作用是用来表示逻辑页号所对应的物理块号.3.某分页系统,CPU访问内存一次需要2μs ,增加快表 ...

  5. 文件服务器 工作站 通信媒体,【2013年自考“网络操作系统”复习资料(22)】- 环球网校...

    [摘要]2013年自考"网络操作系统"复习资料 1.为构建一个局域网,在硬件上和软件上应具备哪些条件? 硬件:①网卡和媒体②网络工作站③网络服务器④网络连接器. 软件:①服务器操作 ...

  6. 操作系统复习--OS的运行机制和体系结构

    操作系统复习–OS的运行机制和体系结构 本文章按照王道操作系统参考 文章主要分:运行机制,操作系统内核,操作系统的体系结构 运行机制 两种命令 特权指令:不允许用户直接使用的命令,如:I/O,中断命令 ...

  7. c语言缓冲池管理算法,操作系统复习资料

    操作系统复习资料 第一章操作系统概论 一.选择 1.操作系统的基本类型主要有__________. A.批处理系统.分时系统和多任务系统 D.实时系统.分时系统和多用户系统 2.操作系统的______ ...

  8. 操作系统 - 进程与线程的区别[超详解]

    操作系统 - 进程与线程的区别[超详解]面试高频考题

  9. 操作系统——进程和线程的区别

    操作系统--进程和线程的区别 最近学习了操作系统中的进程和线程这两个知识点,昨天老师给我们出了一道题:进程和线程的区别.听完题目后一脸懵逼,只想到了进程的一部分概念,回来之后就查书,找到了答案. 1. ...

最新文章

  1. 2021年春季学期-信号与系统-第十二次作业参考答案-第五小题
  2. 微信JS-SDK之图像接口开发详解
  3. Java多线程的实现方式-Thread 类,Runnable 接口
  4. Windows环境下QWT安装及配置
  5. matlab ga函数,matlab遗传算法ga函数
  6. mysql 存储过程 风险_删除/恢复SQL server危险的存储过程方法
  7. Envious Exponents
  8. 算法真的“难”吗?其实也不见得...
  9. python将xls文件转换xlsx
  10. 一定要收藏!!!2019取消管理费最新最全香港开户攻略
  11. 计算机职业生涯规划书一万字,大学生职业规划一万字
  12. HTTP(一)HTTP响应的过程
  13. 【Git】1090- 我在工作中是如何使用Git的
  14. 积极的心态是成功的起点
  15. SAP ABAP 解析JSON
  16. Spring Boot-整合redis(六)
  17. vue-simple-uploader
  18. 电解电容为什么会爆炸?
  19. 433M串口模块无线通信(STM32)
  20. PythonCSV文件操作小结

热门文章

  1. 关于DMA,TCM(ITCM和DTCM)和Cache的理解
  2. 类的sizeof大小和C语言中各种数据类型的长度
  3. React Native组件开发指南
  4. MyBatis逆向工程:根据table生成Model、Mapper、Mapper.xml
  5. 邮件服务器软件EwoMail 1.05 发布
  6. 6、Gerrit插件
  7. 浏览器标准模式与怪异模式的区别
  8. 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组...
  9. 管理“我的右上角” : 介绍菜单栏图标软件 Bartender
  10. 每一個故事兜發生在狠乆以前