1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》
1.1 操作系统的第一个功能——虚拟化硬件资源
问1:操作系统一般处于计算机系统的哪一个位置?
操作系统处于计算机硬件和软件层的交汇处,操作系统本身是一种软件,它负责管理所有在该计算机系统下的硬件资源,并且向上提供抽象接口。

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

问3:那操作系统如何管理硬件呢?
操作系统面对不同的硬件都会编写不同的管理访问方式。对于新的硬件形式,当操作系统内部没有内置新硬件设备的访问协议,我们必须安装驱动才可以使用(很多免驱设备是因为它会自动安装驱动,不是没有驱动)。
但是无论下层的硬件形式如何,操作系统对上层提供的软件接口一定是一致的,保持不变的。
问4:操作系统负责将下层硬件资源同化为同样的软件资源?
对,操作系统将各种硬件资源协调为同一种逻辑层的软件资源,比如机器上插着的各种拼盘内存和硬盘,操作系统会对上协调为统一的内存空间和存储空间。让运行在操作系统上的软件能够通过文件地址的方式,访问到存在于不同硬件上的数据。
这种很方便的能力被叫做虚拟化。
问5:操作系统会将所有硬件都进行虚拟化吗?
是的,所有的硬件资源都必须在操作系统层面被虚拟化,这包括计算机的核心CPU和存储器,以及各种辅助外设音响键盘之类。
但是对于计算机没有内置访问协议的硬件,自身又没有带驱动,操作系统是无法虚拟化的,无法虚拟化的硬件资源,所有软件都是无法访问的。虚拟化是强制性的。
问6:虚拟化除了将硬件资源逻辑化,还有什么功能?
虚拟化技术在硬件资源逻辑化的基础上,提供了分时复用和共享内存的功能。这两种技术使我们现在既可以上网又可以听歌。
问7:Java的虚拟机技术是一种虚拟化吗?
是的,Java的虚拟机是一种虚拟化技术,它是将各种操作系统资源进行了虚拟化,统一为Java虚拟机资源,这样Java程序就可以很方便地移植到别的计算机上,不用担心兼容性。
1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》的更多相关文章
- 1.4 操作系统的其余功能 -《zobolの操作系统学习札记》
1.4 操作系统的其余功能 操作系统除了虚拟化.并发.存储管理三个主要功能,还有许多子功能,我主要介绍几种常见的功能比如 目录 1.4 操作系统的其余功能 稳定性 高性能 隔离保护 易用性(可视化) ...
- 1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》
1.2 操作系统的第二个功能--并发功能 目录 1.2 操作系统的第二个功能--并发功能 问1:什么是并发功能?并发功能是必要的吗? 问2:并发功能必须要求拥有多核CPU吗? 问3:多核CPU和单核C ...
- 1.3 操作系统的第三个功能——存储管理功能 -《zobolの操作系统学习札记》
1.3 操作系统的第三个功能--存储管理功能 作者zobol:关于操作系统概论-存储管理功能,我给出下列问题: 目录 1.3 操作系统的第三个功能--存储管理功能 问1:操作系统的文件管理系统主要是负 ...
- 网络功能虚拟化(NFV)
你造什么是网络功能虚拟化(NFV)吗? NFV将网络功能整合到行业标准的服务器.交换机和存储硬件上,提供了优化的虚拟化数据平面,NFV通过服务器上运行的软件让管理员取代传统物理网络设备,并降低成本.能 ...
- 10天学会phpWeChat——第二天:hello world!我的第一个功能模块
今天我们开始进入<10天学会phpWeChat>系列教程的第二天:创建我的第一个hello world! 功能模块. 1.登录后台,进入 系统设置--自定义模块,如图: 自定义模块参数说明 ...
- ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)
ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub ...
- 20172327 2018-2019-1 《第一行代码Android》第二章学习总结
学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...
- 【2】Asp.Net Core2.2第一个功能增加
[前言] 上一篇完成了Asp.Net Core 2.2项目的建立,解释了一番项目结构,这一篇开始动手写个小功能,从Controller-Action-Model-View,完成前后端最基础的交互过程, ...
- NFV网络功能虚拟化 基本概念
NFV基本概念 NFV则由运营商联盟提出,为了加速部署新的网络服务,运营商倾向于放弃笨重昂贵的专用网络设备,转而使用标准的IT虚拟化技术来拆分网络功能模块,如DNS.NAT.Firewall等.于是一 ...
随机推荐
- python中faker模块的使用
Faker 安装 pip install Faker 基本使用 from faker import Faker #创建对象,默认生成的数据为为英文,使用zh_CN指定为中文 fake = Faker( ...
- 微信小程序一些标签
wxml标签 一.视图容器(View Container): 二.基础内容(Basic Content) 标签名 说明 标签名 说明 view 视图容器 icon 图标 scroll-view ...
- .NET MAUI RC 是完整的 API 并准备好起飞 (GA)
2022年4月12日 微软发布了 .NET Multiplatform App UI (.NET MAUI) 作为候选版本RC ,具体参见 https://devblogs.microsoft.com ...
- 2021.07.19 P2624 明明的烦恼(prufer序列,为什么杨辉三角我没搞出来?)
2021.07.19 P2624 明明的烦恼(prufer序列,为什么杨辉三角我没搞出来?) [P2624 HNOI2008]明明的烦恼 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn ...
- python基础练习题(题目 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单)
day14 --------------------------------------------------------------- 实例022:比赛对手 题目 两个乒乓球队进行比赛,各出三人. ...
- 教你轻松解决CSRF跨站请求伪造攻击
摘要:CSRF(Cross-site request forgery)跨站请求伪造,通过伪装来自受信任用户的请求来利用受信任的网站.与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也 ...
- js call与bind和apply的区别
介绍 在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢. 在说区别之前还是先总结一下三者的相似之处: 1.都是用来改变函数的this对象的指向的. 2.第一个参数都是thi ...
- 面试必问的8个CSS响应式单位,你知道几个?
大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...
- 2.1 安装Linux系统对硬件有什么要求?
很多初学者在安装 Linux 系统时,都对自己的电脑配置存在质疑,担心其是否能够满足安装 Linux 的要求.本节就从 CPU.内存.硬盘.显卡等这些方面,详细介绍一下安装 Linux 系统的最低配置 ...
- Linux 运维请务必收藏~ Nginx 五大常见应用场景
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个很强大的高性能 Web 和反向代理服务,它具有很多非常优越的特性,在连接高并 ...