1.1 操作系统的第一个功能——虚拟化硬件资源

问1:操作系统一般处于计算机系统的哪一个位置?

操作系统处于计算机硬件和软件层的交汇处,操作系统本身是一种软件,它负责管理所有在该计算机系统下的硬件资源,并且向上提供抽象接口。


问2:管理硬件资源为什么要单独交给操作系统?

  • 因为这个世界上有数万家硬件厂商,数百万种硬件设备(这些厂家根据各种行业协议和各种接口协议来制作有自己公司特色的硬件设备),我们的操作系统必须要适配它们所有
  • 此外管理硬件资源的很多逻辑(比如硬盘读写),都是反日常思维的,如果让普通程序员或者学生去编写,那恐怕是不可能的事情。
  • 最重要的是如果没有一个对硬件资源的统一管理者,那么每一个商业软件团队都要将大多数的硬件协议控制编写一遍,这在成本上是不可接受的

所以出现一个统一管理硬件资源的存在,是计算机技术发展的必然,这个存在就是操作系统的雏形。


问3:那操作系统如何管理硬件呢?

操作系统面对不同的硬件都会编写不同的管理访问方式。对于新的硬件形式,当操作系统内部没有内置新硬件设备的访问协议,我们必须安装驱动才可以使用(很多免驱设备是因为它会自动安装驱动,不是没有驱动)。

但是无论下层的硬件形式如何,操作系统对上层提供的软件接口一定是一致的,保持不变的。


问4:操作系统负责将下层硬件资源同化为同样的软件资源?

对,操作系统将各种硬件资源协调为同一种逻辑层的软件资源,比如机器上插着的各种拼盘内存和硬盘,操作系统会对上协调为统一的内存空间和存储空间。让运行在操作系统上的软件能够通过文件地址的方式,访问到存在于不同硬件上的数据。

这种很方便的能力被叫做虚拟化


问5:操作系统会将所有硬件都进行虚拟化吗?

是的,所有的硬件资源都必须在操作系统层面被虚拟化,这包括计算机的核心CPU和存储器,以及各种辅助外设音响键盘之类。

但是对于计算机没有内置访问协议的硬件,自身又没有带驱动,操作系统是无法虚拟化的,无法虚拟化的硬件资源,所有软件都是无法访问的。虚拟化是强制性的。


问6:虚拟化除了将硬件资源逻辑化,还有什么功能?

虚拟化技术在硬件资源逻辑化的基础上,提供了分时复用和共享内存的功能。这两种技术使我们现在既可以上网又可以听歌。


问7:Java的虚拟机技术是一种虚拟化吗?

是的,Java的虚拟机是一种虚拟化技术,它是将各种操作系统资源进行了虚拟化,统一为Java虚拟机资源,这样Java程序就可以很方便地移植到别的计算机上,不用担心兼容性。

欢迎访问:个人博客-zobolの计算机操作系统学习札记

1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》的更多相关文章

  1. 1.4 操作系统的其余功能 -《zobolの操作系统学习札记》

    1.4 操作系统的其余功能 操作系统除了虚拟化.并发.存储管理三个主要功能,还有许多子功能,我主要介绍几种常见的功能比如 目录 1.4 操作系统的其余功能 稳定性 高性能 隔离保护 易用性(可视化) ...

  2. 1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》

    1.2 操作系统的第二个功能--并发功能 目录 1.2 操作系统的第二个功能--并发功能 问1:什么是并发功能?并发功能是必要的吗? 问2:并发功能必须要求拥有多核CPU吗? 问3:多核CPU和单核C ...

  3. 1.3 操作系统的第三个功能——存储管理功能 -《zobolの操作系统学习札记》

    1.3 操作系统的第三个功能--存储管理功能 作者zobol:关于操作系统概论-存储管理功能,我给出下列问题: 目录 1.3 操作系统的第三个功能--存储管理功能 问1:操作系统的文件管理系统主要是负 ...

  4. 网络功能虚拟化(NFV)

    你造什么是网络功能虚拟化(NFV)吗? NFV将网络功能整合到行业标准的服务器.交换机和存储硬件上,提供了优化的虚拟化数据平面,NFV通过服务器上运行的软件让管理员取代传统物理网络设备,并降低成本.能 ...

  5. 10天学会phpWeChat——第二天:hello world!我的第一个功能模块

    今天我们开始进入<10天学会phpWeChat>系列教程的第二天:创建我的第一个hello world! 功能模块. 1.登录后台,进入 系统设置--自定义模块,如图: 自定义模块参数说明 ...

  6. ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)

    ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub    ...

  7. 20172327 2018-2019-1 《第一行代码Android》第二章学习总结

    学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...

  8. 【2】Asp.Net Core2.2第一个功能增加

    [前言] 上一篇完成了Asp.Net Core 2.2项目的建立,解释了一番项目结构,这一篇开始动手写个小功能,从Controller-Action-Model-View,完成前后端最基础的交互过程, ...

  9. NFV网络功能虚拟化 基本概念

    NFV基本概念 NFV则由运营商联盟提出,为了加速部署新的网络服务,运营商倾向于放弃笨重昂贵的专用网络设备,转而使用标准的IT虚拟化技术来拆分网络功能模块,如DNS.NAT.Firewall等.于是一 ...

随机推荐

  1. 利用 onnxruntime 库同时推理多个模型的效率研究

    1. 背景 需求:针对视频形式的数据输入,对每一帧图像,有多个神经网络模型需要进行推理并获得预测结果.如何让整个推理过程更加高效,尝试了几种不同的方案. 硬件:单显卡主机. 2. 方案 由于存在多个模 ...

  2. Spring配置文件-Bean实例化的三种方式

    1.无参构造方法实例化(详见我的博客) 2.工厂静态方法实例化 创建StaticFactory类 public class StaticFactory { public static UserDao ...

  3. BUCK电路和BL8033使用记录

    我开始时用的是MPS的MP1584EN,这个芯片各方面都挺不错的.有次老大让我画个降压电路,看到用的是MP1584就说国外的芯片太贵,让我用上海贝岭的BL8033.BL8033确实很好用,虽然它没有1 ...

  4. JavaWeb项目端口占用问题

    今天使用springboot编写项目的时候安装了一个插件,重启了idea,但是项目忘记终止连接了,再打开idea启动项目发现端口被占用 控制台输出: ************************* ...

  5. 2021.12.06 P2501 [HAOI2006]数字序列(动态规划+LIS)

    2021.12.06 P2501 [HAOI2006]数字序列(动态规划+LIS) https://www.luogu.com.cn/problem/P2501 题意: 现在我们有一个长度为 n 的整 ...

  6. docker入门_docker安装

    docker入门_docker安装 ubuntu 安装 curl -sSL https://get.daocloud.io/docker | sh # 官方安装脚本自动安装 systemctl ena ...

  7. 理解ASP.NET Core - 授权(Authorization)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 之前,我们已经了解了ASP.NET Core中的身份认证,现在,我们来聊一下授权. 老规矩,示 ...

  8. 基于Ansible实现Apache Doris快速部署运维指南

    Doris Ansible 使用指南 Apache Doris 介绍 Apache Doris是一个现代化的MPP分析型数据库产品.仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析.Apac ...

  9. Infrastructure 知识: dnf对module的处理

    引言 从RHEL8/CentOS8开始,dnf取代yum作为rpm 包管理工具.与之而来的还有模块(module)这个东西. 有了它们的加持,让在同一个OS上安装不同版本的软件或者开发语言的工作比之前 ...

  10. elastic search(以下简称es)

    参考博客园https://www.cnblogs.com/Neeo/p/10304892.html#more 如何学好elasticsearch 除了万能的百度和Google 之外,我们还有一些其他的 ...