操作系统导论读书笔记

目录

  • 虚拟化
    • 抽象:进程
      • 抽象:进程概念

虚拟化

抽象:进程

本章讨论操作系统提供的基本的抽象—— 进程。进程的非正式定义非常简单:进程就是运行中的程序。程序本身是没有生命周期的,它只是存在磁盘上面的一些指令(也可能是一些静态数据)​。是操作系统让这些字节运行起来,让程序发挥作用。

虽然只有少量的物理CPU可用,但是操作系统如何提供几乎有无数个CPU可用的假象?操作系统通过虚拟化(virtualizing)CPU来提供这种假象。通过让一个进程只运行一个时间片,然后切换到其他进程,操作系统提供了存在多个虚拟CPU的假象。这就是时分共享(time sharing)CPU技术,允许用户如愿运行多个并发进程。潜在的开销就是性能损失,因为如果CPU必须共享,每个进程的运行就会慢一点。

要实现CPU的虚拟化,要实现得好,操作系统就需要一些低级机制以及一些高级智能。我们将低级机制称为机制(mechanism)​。机制是一些低级方法或协议,实现了所需的功能。例如,我们稍后将学习如何实现 上下文切换(context switch) ​,它让操作系统能够停止运行一个程序,并开始在给定的CPU上运行另一个程序。所有现代操作系统都采用了这种分时机制。

在这些机制之上,操作系统中有一些智能以策略(policy)的形式存在。策略是在操作系统内做出某种决定的算法。例如,给定一组可能的程序要在CPU上运行,操作系统应该运行哪个程序?操作系统中的调度策略(scheduling policy)会做出这样的决定,可能利用历史信息(例如,哪个程序在最后一分钟运行得更多?​)​、工作负载知识(例如,运行什么类型的程序?​)以及性能指标 (例如,系统是否针对交互式性能或吞吐量进行优化?​)来做出决定。

抽象:进程概念

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/495406.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shion(时间追踪工具) v0.13.2

Shion 是一款多功能的时间追踪软件,旨在帮助用户更好地管理时间。它提供了多种自定义数据卡片,如github风格的一年概览、30天单项数据柱状图和每日24小时活动展示,以便用户清晰地了解自己的日常生活。Shion还具备自动监听程序使用时间的功能&…

USDZ格式轻松转OBJ

USDZ格式简介 USDZ,作为苹果公司与PIXAR工作室联手推出的新型AR文件格式,正逐步成为增强现实(AR)领域中的佼佼者。USDZ文件不仅支持丰富的3D模型数据,还能嵌入材质、动画及交互信息,为用户带来沉浸式的AR体…

100V宽压输入反激隔离电源,适用于N道沟MOSFET或GaN或5V栅极驱动器,无需光耦合

说明: PC4411是一个隔离的反激式控制器在宽输入电压下具有高效率范围为2.7V至100V。它直接测量初级侧反激输出电压波形,不需要光耦合器或第三方用于调节的绕组。设置输出只需要一个电阻器电压。PC4411提供5V栅极驱动驱动外部N沟道MOSFET的电压或GaN。内部补偿和软启…

Linux的启动流程

目录 1、 加电开机,启动BIOS进行自检。 2、读取MBR(Master Boot Record, 主要启动记录区)。 3、加载GRUB(GRand Unified Bootloader)菜单。 4、加载内核(kernel)和驱动程序 5、运行systemd进程,加载如…

打造高效的 LaTeX 公式编辑器

在科研和工程领域,LaTeX 是最常用的公式排版工具之一。为了帮助用户更加高效地编辑和管理 LaTeX 公式,我们开发了一个集成了实时预览、公式管理和多格式导出功能的公式编辑器。本文将介绍这个工具的核心功能,并展示部分实现代码。 核心功能 …

OpenAI 12天发布会:AI革命的里程碑@附35页PDF文件下载

在人工智能的浪潮中,OpenAI的12天发布会无疑是2024年科技界的一场盛宴。从12月5日开始,OpenAI连续12天每天发布一个新应用或功能,标志着AI技术的又一次飞跃。本文将梳理这些激动人心的发布,带你一探究竟。 OpenAI发布会概览 Ope…

水电站视频智能监控系统方案设计与技术应用方案

一、背景需求 水电站作为国家重要的能源基地,其安全运行对于保障能源供应和社会稳定具有重要意义。然而,传统的人工监控方式存在着诸多问题,如人力成本高、监控范围有限、反应不及时等。因此,水电站急需引进一种先进的视频智能监控…

Batch_Size对神经网络训练效率的影响:一个PyTorch实例分析

一、Batch_Size简介 想象一下,你是一位老师,正在教一群学生学习数学。在这个比喻中,每个学生都是神经网络训练中的一个数据样本,而你教学生的方式就是通过“批量”来进行的。这里的“批量”就是我们所说的batch_size。 现在&…

Flutter组件————FloatingActionButton

FloatingActionButton 是Flutter中的一个组件,通常用于显示一个圆形的按钮,它悬浮在内容之上,旨在吸引用户的注意力,并代表屏幕上的主要动作。这种按钮是Material Design的一部分,通常放置在页面的右下角,但…

机器学习基础 衡量模型性能指标

目录 1 前言 ​编辑1.1 错误率(Error rate)&精度(Accuracy)&误差(Error): 1.2 过拟合(overfitting): 训练误差小,测试误差大 1.3 欠拟合(underfitting):训练误差大,测试误差大 1.4 MSE: 1.5 RMSE: 1.6 MAE: 1.7 R-S…

langchain使用FewShotPromptTemplate出现KeyError的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Arduino驱动DS18B20测量环境温度

DS18B20是一款高精度的单总线数字温度传感器,具体参数如下表所示: 参数名称 参数特性 测温范围 -55~125℃ 测量精度 在-10~85℃范围内的误差为0.5℃ 分辨率 9~12位数字信号,分辨率分别为0.5℃、0.25℃、0.125℃和0.0625℃ 通信方式 …

ffmpeg之播放一个yuv视频

播放YUV视频的步骤 初始化SDL库: 目的:确保SDL库正确初始化,以便可以使用其窗口、渲染和事件处理功能。操作:调用 SDL_Init(SDL_INIT_VIDEO) 来初始化SDL的视频子系统。 创建窗口用于显示YUV视频: 目的:…

MySQL索引为什么是B+树

MySQL索引为什么是B树 索引是帮助MySQL高效获取数据的数据结构,在数据之外,数据库还维护着满足特定查找算法的数据结构B树,这些数据结果以某种特定的方式引用数据,这样就可以在这些数据结构上实现高级查找算法,提升数据…

打造高效租赁小程序让交易更便捷

内容概要 在如今节奏飞快的商业世界里,租赁小程序如同一只聪明的小狐狸,迅速突围而出,成为商家与消费者之间的桥梁。它不仅简化了交易流程,还在某种程度上将传统租赁模式带入了互联网时代。越来越多的企业意识到,这种…

抓取手机HCI日志

荣耀手机 1、打开开发者模式 2、开启HCI、ADB调试 3、开启AP LOG 拨号界面输入*##2846579##* 4、蓝牙配对 5、抓取log adb pull /data/log/bt ./

GPT人工智能在医疗文档中的应用

应用场景 用于文档的整理。主要是针对医疗方面的文档整理。病人在打官司或者办理其他业务时,需要把很多文档整理成册并添加目录、编写概要(Summary)。这些文档有电子版本的,有纸质的扫描件,还有拍照(一般是…

GitCode 光引计划投稿 | GoIoT:开源分布式物联网开发平台

GoIoT 是基于Gin 的开源分布式物联网(IoT)开发平台,用于快速开发,部署物联设备接入项目,是一套涵盖数据生产、数据使用和数据展示的解决方案。 GoIoT 开发平台,它是一个企业级物联网平台解决方案&#xff…

golang 并发--goroutine(四)

golang 语言最大的特点之一就是语法上支持并发,通过简单的语法很容易就能创建一个 go 程,这就使得 golang 天生适合写高并发的程序。这一章节我们就主要介绍 go 程,但是要想完全理解 go 程我们需要深入研究 GPM 模型,关于 GPM 模型…

选择FPGA开发,学历是硬性要求吗?

在踏入FPGA开发领域之前,心中难免会泛起的疑虑。 选择FPGA开发,就一定需要高学历作为支撑吗? 一、先说结论:学历非必需,但建议不断提升自我。 FPGA开发的门槛意味着你需要投入比其他行业更多的时间和精力去学习&…