第一章:计算机的软硬件基本结构_4

1.4 操作系统做什么

操作系统的一个功能是提供抽象的接口,另一个主要功能是管理硬件资源。

1.4.1 不要让CPU打盹

在计算机发展的早期,CPU资源十分昂贵,当CPU运行一个程序的时候,该程序需要读写磁盘,CPU就空闲下来了。这极大的浪费了CPU的资源。于是人们编写了一个监控程序,当某个程序暂时无须使用CPU时,监控程序就把另外正在等待CPU资源的程序启动,使得CPU能充分利用起来。这被称为 多道程序。但是这种程序的调度策略太过粗糙。程序之间不分轻重缓急。

稍微改进了一下,程序运行模式就变成了一种协作的模式。每个程序运行一段时间以后都主动让出CPu给其他程序,使得一段时间内每个程序都有机会运行一小段时间。这种程序协作模式叫做 分时系统。但是这种方式如果有一个非常耗时的计算在运行,那就会一直霸占着计算机。

于是出现了更先进的操作系统模式,这便是我们熟悉的 多任务系统,操作系统接管了所有硬件资源,并且本身运行在一个受硬件保护的级别。所有应用程序都以 进程的方式运行在比操作系统权限更低的级别。每个进程都有自己独立的地址空间,使得进程之间的地址空间相互隔离。CPU由操作系统统一分配,每个进程根据进程的优先级高低都有机会得到CPU,但是运行时间超过了一定时间,操作系统就会暂停该进程,将CPU资源分配给其他等待运行的进程。这种CPu的分配方式便是所谓的 抢占式,操作系统可以强制剥夺CPU的资源并分配给它认为目前你最需要的进程。

1.4.2 设备驱动

操作系统作为硬件层的上层,它是对硬件的管理和抽象。对于操作系统上面的运行库和应用程序来说,他们希望看到的是一个统一的硬件访问模式。

当成熟的操作系统出现以后,硬件逐渐被抽象成了一系列概念。在UNIX中,硬件设备的访问方式和访问普通文件方式是一样的;在windos中,图形硬件被抽象成了GDI,声音和多媒体设备被抽象成了DirectX对象;磁盘被抽象成了普通文件系统。硬件的细节全部交给操作系统中的硬件驱动程序来完成。驱动程序可以看作是操作系统的一部分,它往往跟操作系统内核一起运行在特权级,但是它又与操作系统内核间有一定的独立性,使得驱动程序有比较好得灵活性。

第一章:计算机的软硬件基本结构_4相关推荐

  1. 第一章:计算机的软硬件基本结构_3

    第一章:计算机的软硬件基本结构_3 1.3 站得高,望得远 系统软件可以分为两块,一块是平台性的,比如操作系统内核,驱动程序,运行库,和数以千计的系统工具.另一块是用于程序开发的,比如编译器,汇编器, ...

  2. 【软件设计师】第一章 计算机组成与结构

    目录 第一章 计算机组成与结构 第一节 数据的表示 1.进制的转化 2.源码.补码.反码.移码 3.浮点数运算(小阶向大阶对齐,小阶尾数右移) 第二节 计算机结构 运算器与控制器的组成 第三节 指令寻 ...

  3. 电子计算机的基本结构基于存储程序思想是由,第一章计算机基础知识习题

    <第一章计算机基础知识习题>由会员分享,可在线阅读,更多相关<第一章计算机基础知识习题(3页珍藏版)>请在人人文库网上搜索. 1.第一章 计算机基础知识习题一.单项选择题1.通 ...

  4. 第一章 计算机系统概述 1.2.1 计算机硬件的基本组成 [计算机组成原理笔记]

    第一章 计算机系统概述 1.2.1 计算机硬件的基本组成 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英.戴志涛 2021王道计算机组成原理视频公开课 本节重点: 冯诺依曼机结构 现代计 ...

  5. 计算机组成原理-第一章 计算机系统概述(详细知识点总结)

    第一章 计算机系统概述 大纲 大纲: (一).计算机发展历程 (二).计算机系统层次结构 计算机硬件的基本组成.计算机软件的分类.计算机的工作过程 (三).计算机性能指标 吞吐量.响应时间.CPU时钟 ...

  6. 【计算机系统结构】第一章 计算机系统结构基本概念

    文章目录 第一章 计算机系统结构基本概念 1.1 计算机系统结构的概念 1.2 计算机体系结构的发展 1.3 系统结构中并行性的发展 1.4 系统结构的设计 1.5 定量分析技术基础 第一章 计算机系 ...

  7. 医用计算机基础 刘燕,1第一章 计算机基础知识1.ppt

    1第一章 计算机基础知识1.ppt CT断层扫描成像设备 眼底成像仪 获取病例数据 数据处理(三维重构) 利用计算机软硬件技术.网络通讯技术等现代化手段,对医院及其所属各部门对人流.物流.财流进行综合 ...

  8. 人工操作阶段计算机是如何工作的,第一章计算机基础概述全解.ppt

    第一章计算机基础概述全解 1.2.3 汉字编码 汉字的编码 国标码:中文内码之一,汉字信息交换的标准编码.国标码是不可能在计算机内部直接采用.于是, 汉字的机内码采用变形国标码 . 国标码:作为转换为 ...

  9. 操作系统:第一章 计算机系统概述

    本文已收录至 Github(MD-Notes),若博客中有图片打不开,可以来我的 Github 仓库:https://github.com/HanquanHq/MD-Notes,涵盖了互联网大厂面试必 ...

最新文章

  1. css3 各种纸张贴纸效果
  2. 【错误记录】NDK 配置错误 ( C/C++ debug|arm64-v8a : Could not get version from cmake.dir path )
  3. 计算机专业毕业论文的参考文献,计算机专业毕业专著类参考文献 计算机专业毕业论文参考文献哪里找...
  4. redis如何解决秒杀超卖java_Spring Boot + redis解决商品秒杀库存超卖,看这篇文章就够了...
  5. OpenCV在图像中寻找轮廓的实例(附完整代码)
  6. Python的日志记录-logging模块的使用
  7. 飞鸽传书2011帮助文档
  8. 【NOIp2002】矩形覆盖
  9. 写给初学asp.net的新人们 新手学习经验
  10. 基于MATLAB函数mesh绘制由多张曲面围成的三维封闭曲面详解
  11. gtp java 文件传输_GitHub - zhmgczh/GTPService: 围棋GTP协议应用实例(一个自动对弈程序,命令行交互或命令行与GUI对弈)...
  12. ligerUI的dialog
  13. 前度字符串转数组_java中的hashcode 前度刘郎
  14. 搜索算法之爬山法总结和实现
  15. 用poi将word表格转excel
  16. Leecode159:至多包含两个不同字符的最长子串
  17. 20-Django REST framework-Serializer序列化器
  18. 奶爸日记24 白砂糖
  19. android自定义手势,Android编程实现自定义手势的方法详解
  20. 深入谈谈String.intern()在JVM的实现

热门文章

  1. 【Pygame实战】末世来临,真正从零开始的残酷生存游戏,你能活多久?
  2. 分享史上java最牛逼 最简短的代码
  3. 在美团投放广告的优势、展现形式介绍!
  4. 计算机毕业设计Java的健身房管理系统(源码+系统+mysql数据库+lw文档)
  5. 微信二次开发第一弹 —— 与微信握手
  6. 条码标签纸的种类,常见的条码标签纸有哪些?条码标签纸的用途
  7. 四个角不是直角的四边形_四边形的特点是有四条直的边和四个直角对吗
  8. mac怎么更新python_mac上更新python的方法
  9. 【pwnable.kr】 passcode
  10. CAD图纸文件太大?三种小方法教你如何清理CAD超大文件。