首页 > 其他分享 >Operating Systems: Three Easy Pieces-虚拟化CPU——第6章 受限直接执行

Operating Systems: Three Easy Pieces-虚拟化CPU——第6章 受限直接执行

时间:2023-01-31 23:00:40浏览次数:42  
标签:硬件资源 操作系统 虚拟化 Three Pieces Operating 受限 进程 CPU

1、虚拟化采用的机制:采用时分共享CPU的方式,也就是运行一个进程一段时间,然后运行另一个进程,如此轮换。

2、虚拟化机制的挑战:第一个是性能:如何在不增加系统开销的情况下实现虚拟化?第二个是控制权:如何有效地运行进程,同时保留对 CPU 的控制?

3、基本技巧:受限直接执行。

  什么是受限直接执行,第一,受限是指,应用程序不能随意访问硬件资源,如,向磁盘发出I/O请求、获取更多内存、占用更多CPU;第二,直接执行是指,

直接在 CPU上运行程序。

  从性能上来讲,直接执行程序当然是节省开销的有效方式,但程序可以为所欲为吗?当然,操作系统不会允许这样的事情发生,所以要有控制权,因此,要考虑操作系统怎么能确保程序不做任何我们不希望它做的事,同时仍然高效地运行它?这个问题通过第4部分受限来解释。

  另外,一个程序可以一直霸占CPU吗?操作系统也不会允许这样的事情发生,操作系统如何让它停下来并切换到另一个进程,从而实现虚拟化 CPU 所需的时分共享?这个问题通过第5部分进程之间切换来解释。

4、受限:对用户(程序员)访问硬件资源进行限制,但又需要允许内核小心地向用户程序暴露某些关键功能,因此,操作系统将程序的执行分两种模式,即用户模式和内核模式。在用户模式通过系统调用(区别于过程调用)受限访问硬件资源,例如调用open访问文件系统;在内核模式操作系统可以访问所有硬件资源。

5、进程之间切换

标签:硬件资源,操作系统,虚拟化,Three,Pieces,Operating,受限,进程,CPU
From: https://www.cnblogs.com/zzx2bky/p/17067378.html

相关文章

  • CF1780F Three Chairs
    目录简述分析代码知识点:枚举,容斥。原题面:https://codeforces.com/contest/1780/problem/F。涉及\(\gcd\)的枚举的常见套路+似乎不太常见的容斥(?)以及一种和题解原理......
  • 35 Three.js的融合材质
    简介在上一节,使用three.js的60版本,我们成功的实现了THREE.MeshDepthMaterial的案例。但是,我们没有办法修改它的材质的颜色。而一切都是由材质的默认属性决定的,但是Three.js......
  • ThreeJs入门概要
    ThreeJs入门概念及使用整理  ThreeJs用于浏览器3D图形的渲染,基于WebGL封装,本身是Javascript语言开发的。尝试基于threeJs开发手写手绘小程序,因此整理了相关的基础技......
  • CF1780 F.Three Chairs - 题解
    给定数列\(\{a_n\}\),求无序三元组\((i,j,k)\)的数量,满足\(\gcd(\min(a_i,a_j,a_k),\max(a_i,a_j,a_k))=1\),\(n\leq3\cdot10^5,a_i\leq3\cdot10^......
  • LESSON THREE:Java入门环境搭建
    Java入门环境搭建Java如何诞生改进了c与c++的一些难点;1995年诞生;三大版本:JavaSE:标准版(桌面程序、控制台开发、简单游戏...)JavaME:嵌入式开发JavaEE:E企业级开发(web......
  • Three.js 进阶之旅:新春特典-Rabbit craft go
    声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进行其他获利行为。摘要兔年到了,祝大家身体健,康万事顺利。本文内......
  • 【Three.js】关于Three.js的辅助库ststs.js报错的解决方案
    【Three.js】(一)了解Three.js基本的代码样式与运行结果​​问题描述​​​​解决方案​​关于Three.js的问题,可以与作者共同讨论。问题描述作者初学Three.js,需要用到ststs.......
  • 用Three.js写h5小游戏-3d飞机大战
    用Three.js写h5小游戏-飞机大战​​博主的话​​​​运行图片​​​​目录路径!​​index.html​​博主的话Three.js是js的一个3D引擎,比较复杂。比如光是Three.js就附带了10......
  • three.js教程1-快速入门
    1、项目开发环境引入threeJs如果采用的是Vue+threejs或React+threejs技术栈,threejs就是一个js库,直接通过npm命令行安装就行。npm安装特定版本three.js(注意使用哪个......
  • Codeforces 1335E2 Three Blocks Palindrome (hard version)
    链接难度:\(\texttt{1800}\)\(T\)组数据。一个序列\(a_{1\simn}\)。定义\([\underbrace{a,a,\dots,a}_{x},\underbrace{b,b,\dots,b}_{y},\underbrace{a,......