操作系统中一些零散的知识点

第三章 内存管理

  1. 在虚拟内存系统中,虚拟内存的最大容量是由计算机的地址结构(CPU寻址范围)确定的,而虚拟内存的实际容量是受到“内存大小+磁盘空间大小”、“地址线位数”共同制约,取二者最小值
  2. 实现虚拟内存管理必须有相应硬件的支持,如:记录当前进程页表始址的页表寄存器、判断逻辑地址是否越界显然也需要硬件实现、以及将页表始址和逻辑地址转换成页表项的地址(即查页表的过程)也是需要硬件完成
  3. 虚拟地址空间VS物理地址空间:
    请添加图片描述
  4. 分段存储管理方法有利于程序的动态链接
  5. 当操作系统对内存的管理采用页式存储管理方法时,所划分的页面大小由什么决定?
    • 硬件层面(CPU架构)决定了可以支持哪些页面大小,而操作系统则在CPU架构支持的页面大小中选定一种页面大小。页面大小一旦选定,则所有的页面都一样大。
  6. 虚拟存储技术是补充内存逻辑空间的技术。内存逻辑空间大小就表现为虚拟地址的位数
  7. 虚拟内存的特征:多次性(进程数据分多次调入内存)、对换性(暂时用不到的数据可以对换到外存)、离散性(进程数据离散存储)、虚拟性
    • 其中,多次性和对换性需要基于非连续分配而实现;虚拟性需要基于多次性和对换性而实现
  8. 页面引用串:即该程序一段时间内需要调用的页号序列,又可称为访问串
  9. 导致LRU算法实现起来耗费高的原因是需要对所有的页进行排序
  10. 抖动和Belady异常:
    • 抖动:当单个进程分配到的内存块少于某个数目时(此数目大概是工作集大小),该进程的页面会频繁地进行换入换出,导致缺页率急剧升高。本质上就是因为进程被分配的页数不够。【所有页面置换策略都有可能引起抖动】
    • Belady异常:给进程分配的页框增加,但缺页率不降反增。【只有FIFO策略会引起Belady异常】
  11. 磁盘由对换区和文件区组成,其中对换区用于辅助实现虚拟内存
    请添加图片描述
  12. 在内存非常满的情况下,CPU访问内存则很有可能发生缺页,就会频繁的在内存与对换区之间执行换入换出,此时CPU的利用率就会很低(会长时间处于等待页面置换的状态)。此时通过增加内存条来增加物理空间容量可以从根本解决问题
  13. 可变分配搭配局部置换的意思:刚开始为每个进程分配一定数量的物理块。发生缺页时只允许从自己的物理块中选出一个换出外存。若进程在运行中频繁缺页,系统会为该进程多分配几个物理块,直至该进程缺页率趋于适量值;若进程在运行中缺页率非常低,则可适当减少分配给该进程的物理块。
  14. 数据结构中说“链表是不连续存储的”,其中这个“不连续”指的是虚拟地址不连续;“数组是顺序存储的”也只是虚拟地址的连续(因为如果同一个数组的元素个数很多,超过了一个页面,那么不同页面的元素,其物理地址就可能不同,因为虽然一个页面中的元素肯定是顺序存储的,但是不同页面在物理地址中不能保证仍是连续的)
  15. 查慢表不可能不命中,但有可能缺页

第五章 I/O管理

  1. 缓冲区在主存中;高速缓存(Cache)在CPU中;Spooling技术中的输入/出井在外存中
  2. 所有单机资源利用率的提升的基本前提都是要有“并发性”。如果没有多个进程的并发,那独占设备和共享设备也没什么区别、内存里只放一个进程的数据也无所谓、交换技术也没有存在的意义。下面是几个提高单机资源利用率的例子
    • Spooling技术:独占设备->共享设备,提高设备利用率
    • 虚拟技术:
      • 虚拟内存:提高内存利用率
      • 虚拟设备:提高设备利用率
    • 交换技术:提高内存、CPU利用率
  3. Spooling是以空间换时间的技术;虚拟存储技术、覆盖与交换技术是以时间换空间的技术;通道技术是以金钱换时间的技术(是搞一个单独的硬件)
  4. “在一个磁盘上设置多个分区”并不能改善磁盘设备的I/O性能。这是因为操作系统是安装在C盘的,而如果将磁盘分区后,按照惯例,将应用程序安装在D盘,实际上是与操作系统所在的C盘相隔较远。而操作系统内的程序肯定是经常被访问到的,因此磁头大部分时间都在C盘所在的磁盘内侧柱面移动,而若此时有频繁访问的应用程序在远离C盘的D盘中存在,就会使得磁头移动的距离过长,从而降低磁盘设备的I/O性能。
    请添加图片描述
  5. 在系统内存中设置磁盘缓冲区的主要目的是减少磁盘I/O次数。
    假设一个文件有10个物理块,若没有设置磁盘缓冲区,则每次I/O只能将1块内容读入内存,读整个文件总共需要10次I/O;若设置了磁盘缓冲区,缓冲区可存储10个物理块的内容,则可通过1次I/O就将文件对应的10个物理块全部读入缓冲区,之后便无需再启动磁盘I/O。
  6. 进程在执行驱动程序时可能进入阻塞态(即阻塞I/O)
  7. 初始化设备、读写设备的操作都是由驱动程序控制完成的
  8. 光盘、U盘、磁盘都是既可以随机访问,又可以顺序访问的。其中,光盘的原理和磁盘很类似,都是盘面上会有一圈圈存储介质,光盘有个激头,其作用和磁盘的磁头类似,既可以定位一圈,做到随机访问,又可以在一圈上顺序访问。而U盘实际上是ROM,是基于闪存技术,即EEPROM的集成+一个控制单元
  9. 磁盘的延迟时间和传送时间都和磁盘转速有关。前者一般取平均值转半圈的时间,后者根据要读取的扇区和转速算。
    磁盘的启动时间和磁盘驱动器的物理、电气特性有关。
    找道/寻道时间和磁盘调度算法、磁臂移动速度有关。
    磁盘的处理时间指读取出一个扇区后,磁头需要休息一段时间(这是因为一块数据会把磁盘缓冲区充满)。
    磁盘读取数据的上述时间中,影响最大的是
  10. A cluster(簇)is a group of sectors(block) (扇区(块))on a hard disk drive that is addressed as one logical unit by the operating system.
    即物理块=扇区,逻辑块=簇。
    扇区是物理上限制的读/写一次的基本单位;簇是操作系统限制的存储空间分配基本单位。即操作系统给文件分配空间是以簇为单位的
    请添加图片描述
  11. 旋转延迟的大小取决于磁盘空闲空间的分配程序,旋转延迟的大小与文件物理结构有关。这两个本质都一个意思,就是数据在磁盘上的扇区分配不一样,会导致每次读的旋转延迟时间不一样
  12. SSD(固态硬盘)的随机存取速度很快,传统机械硬盘因为要寻道和找扇区,所以随机存取速度慢,但传统机械硬盘的连续存取很快。因此SSD的优势主要体现在随机存取的速度上。
  13. 磁盘的初始化过程:
    - 刚出厂时,磁盘只是被划分成一个个磁道,并未被划分成扇区
    - 低级格式化(物理格式化)【扇区相关】:将磁盘的各个磁道划分为扇区,并确定管理扇区所需要的各种数据结构,包括扇区校验码(如奇偶校验、CRC循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误)
    - 分区:将磁盘进行分区,每个分区由若干柱面组成(即分为我们熟知的C盘、D盘、E盘)
    - 逻辑格式化【文件系统相关】:即创建文件系统,包括创建文件系统的根目录、对保存空闲磁盘块信息的数据结构进行初始化(如位示图、空闲分区表)

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

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

相关文章

【Apollo学习笔记】——规划模块TASK之RULE_BASED_STOP_DECIDER

文章目录 前言RULE_BASED_STOP_DECIDER相关配置RULE_BASED_STOP_DECIDER总体流程StopOnSidePassCheckClearDoneCheckSidePassStopIsPerceptionBlockedIsClearToChangeLaneCheckSidePassStopBuildStopDecisionELSE:涉及到的一些其他函数NormalizeAngleSelfRotate CheckLaneChang…

【包过滤防火墙——firewalld动态防火墙】的简单使用

文章目录 firewald与iptables区别firewalld九个区域firewalld配置方法firewalld参数和命令firewalld两种模式firewalld使用实验 firewalld不要与iptables混用 firewald与iptables区别 iptables 主要是基于接口,来设置规则,从而判断网络的安全性。firewa…

UE4 春节鞭炮

先搞个基类,一个鞭炮的 搞个鞭炮类,存多个鞭炮 在构造函数的位置先生成对应的鞭炮数 将鞭炮绑定到绳子上,随绳子摆动而一起摆动 在基类里面写爆炸事件 最后用Timer去调用

docker-compose 部署 Seata整合nacos,Postgresql 为DB存储

docker-compose 部署 Seata整合nacos,Postgresql 为DB存储 环境 详情环境可参考 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 我这里 <spring.cloud.alibaba-version>2021.1</spring.cloud.alibaba-version>所…

linux的make和makefile学习

linux的make和makefile学习 准备工作使用GNU链接库链接到math库编写复利程序 创建自己的库链接到主目录 不同的C标准系统调用write()获取头文件信息功能测试宏 准备工作 安装GCC和Make工具 安装中文输入法 参考&#xff1a;http://t.csdn.cn/eH0Ow sudo apt-get update sudo…

springboot使用logback配置彩色日志

springboot使用logback配置彩色日志 前言一、logback文件二、效果 前言 应该有很多同学发现&#xff0c;使用了logback以后&#xff0c;我们的控制台日志都变成灰色了&#xff0c;网络上搜到的logback配置大多数没有进行配色&#xff0c;所以会把springboot的默认配色方案给覆盖…

【python爬虫】10.指挥浏览器自动工作(selenium)

文章目录 前言selenium是什么怎么用设置浏览器引擎获取数据解析与提取数据自动操作浏览器 实操运用确认目标分析过程代码实现 本关总结 前言 上一关&#xff0c;我们认识了cookies和session。 分别学习了它们的用法&#xff0c;以及区别。 还做了一个项目&#xff1a;带着小…

数据结构 -作用及基本概念

为什么要使用数据结构 学习数据结构是计算机科学和软件工程领域中非常重要的一门课程。以下是学习数据结构的几个重要原因&#xff1a; 组织和管理数据&#xff1a;数据结构提供了一种组织和管理数据的方式。通过学习不同的数据结构&#xff0c;你可以了解如何有效地存储和操作…

Lesson6---案例:人脸案例

学习目标 了解opencv进行人脸检测的流程了解Haar特征分类器的内容 1 基础 我们使用机器学习的方法完成人脸检测&#xff0c;首先需要大量的正样本图像&#xff08;面部图像&#xff09;和负样本图像&#xff08;不含面部的图像&#xff09;来训练分类器。我们需要从其中提取特…

C++学习笔记总结练习:多态与虚函数

1 多态 多态分类 静态多态&#xff0c;是只在编译期间确定的多态。静态多态在编译期间&#xff0c;根据函数参数的个数和类型推断出调用的函数。静态多态有两种实现的方式 重载。&#xff08;函数重载&#xff09;模板。 动态多态&#xff0c;是运行时多态。通过虚函数机制实…

详细介绍如何基于ESP32实现低功耗的电子纸天气显示器--附完整源码

实现界面展示 这是一款天气显示器,由支持 wifi 的 ESP32 微控制器和 7.5 英寸电子纸(又名电子墨水)显示器供电。当前和预测的天气数据是从 OpenWeatherMap API 获取的。传感器为显示屏提供准确的室内温度和湿度。 该项目在睡眠时消耗约 14μA,在约 10 秒的清醒期…

MATLAB制图代码【第二版】

MATLAB制图代码【第二版】 文档描述 Code describtion: This code is version 2 used for processing the data from the simulation and experiment. Time : 2023.9.3 Author: PEZHANG 这是在第一版基础上&#xff0c;迭代出的第二版MATLAB制图代码&#xff0c;第二版的特点是…

不同路径 II【动态规划】

不同路径 II 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”&#xff09;。 现在考虑网格中有障碍物。那么从左上…

NOR型flash vs NAND型flash

FLASH是一种存储芯片&#xff0c;全名叫Flash EEPROM Memory&#xff0c;通过程序可以修改数据&#xff0c;即平时所说的“闪存”。 闪存可以在软件的控制下写入和擦写数据。其存储空间被分割成相对较大的可擦除单元&#xff0c;成为擦除块&#xff08;erase block&#xff09…

没有使用sniffer dongle在windows抓包蓝牙方法分享

网上很多文章都是介绍买一个sniffer dongle来抓蓝牙数据,嫌麻烦又费钱,目前找到一个好方法,不需要sniffer就可以抓蓝牙数据过程,现分享如下: (1)在我资源附件找到相关安装包或者查看如下链接 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/bluetooth/testing-bt…

Doris架构中包含哪些技术?

Doris主要整合了Google Mesa(数据模型)&#xff0c;Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式&#xff0c;编码和压缩)的技术。 为什么要将这三种技术整合? Mesa可以满足我们许多存储需求的需求&#xff0c;但是Mesa本身不提供SQL查询引擎。 Impala是一个…

Docker技术--Docker中的网络问题

1.docker中的网络通信 如果想要弄清楚docker中的网络通信问题,其实需要弄清楚这几个问题就可以:容器与容器之间的通信、容器与外部网络之间的通信、外部网络与容器之间的通信。 -a:容器与容器之间的通信,如下所示: 在默认情况下,docker使用网桥(Bridge模式)与NAT通信。这…

攻防世界-Caesar

原题 解题思路 没出现什么特殊字符&#xff0c;可能是个移位密码。凯撒密码加密解密。偏移12位就行。

MyBatis-Plus —— 初窥门径

前言 在前面的文章中荔枝梳理了MyBatis及相关的操作&#xff0c;作为MyBatis的增强工具&#xff0c;MyBatis-Plus无需再在xml中写sql语句&#xff0c;在这篇文章中荔枝将梳理MyBatis-Plus的基础知识并基于SpringBoot梳理MyBatis-Plus给出的两个接口&#xff1a;BaseMapper和ISe…

机器学习之 Jupyter Notebook 使用

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…