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

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

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

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


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

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

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


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

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

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


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

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


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

是的,所有的硬件资源都必须在操作系统层面被虚拟化,这包括计算机的核心CPU和存储器,以及各种辅助外设音响键盘之类。
但是对于计算机没有内置访问协议的硬件,自身又没有带驱动,操作系统是无法虚拟化的,无法虚拟化的硬件资源,所有软件都是无法访问的。虚拟化是强制性的。


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

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


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

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

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

原文地址:https://www.cnblogs.com/zobol/p/15122121.html