计算机操作系统 (王道考研)笔记(二)

重点知识点

  • 1 内存
    • 1.1 内存的基础知识
      • 1.1.1 内存定义、作用
      • 1.1.2 指令的工作原理
      • 1.1.3 三种装入策略
      • 1.1.4 从写程序到程序运行
      • 1.1.5 链接的三种方式
      • 1.1.6 总结
    • 1.2 内存管理
      • 1.2.1 内存空间的分配与回收
        • a) 连续分配管理
        • b) 非连续分配管理
          • 1) 基本分页存储管理
          • 2) 基本分段存储管理
          • 3) 段页式存储管理
      • 1.2.2 内存空间的扩充
        • a) 覆盖技术
        • b) 交换技术
        • c) 虚拟存储技术
      • 1.2.3 地址转换
      • 1.2.4 内存保护
  • 2 文件
    • 2.1 内存映射文件
      • 2.1.1 定义
      • 2.1.2 传统文件访问方式
      • 2.1.3 内存映射文件访问方式
    • 2.2 文件管理
  • 3 I/O
  • 4 缓冲区,磁盘

1 内存

1.1 内存的基础知识

1.1.1 内存定义、作用

内存可存放数据。程序执行前需要先放到内存中才能被CPU处理----缓和CPU硬盘之间速度矛盾
在这里插入图片描述

1.1.2 指令的工作原理

在这里插入图片描述

在这里插入图片描述

1.1.3 三种装入策略

装入策略是为了解决将指令中的逻辑地址(相对地址)转换为物理地址(绝对地址)。
有三种装入策略:1. 绝对装入;2.可重定位装入(静态重定位);3.动态运行时装入(动态重定位)

  1. 绝对装入

在这里插入图片描述

  1. 可重定位装入

在这里插入图片描述

  1. 动态运行时装入

在这里插入图片描述

1.1.4 从写程序到程序运行

在Windows系统重装入模块就是.exe文件
在这里插入图片描述

1.1.5 链接的三种方式

链接指的是将编译后的二进制文件与引用的三方库二进制文件,链接成一个.exe文件(也就是装入模块)。
在这里插入图片描述

在这里插入图片描述

1.1.6 总结

在这里插入图片描述

1.2 内存管理

1.2.1 内存空间的分配与回收

*** 操作系统负责内存空间的分配与回收
在这里插入图片描述

内存空间的分配与回收主要有两种:连续分配管理、非连续分配管理。

a) 连续分配管理

连续分配:指为用户进程分配的必须是一个连续的内存空间。
在这里插入图片描述

动态分区分配算法
在这里插入图片描述

b) 非连续分配管理

有三种方法:基本分页存储管理、基本分段存储管理、段页式存储管理;

1) 基本分页存储管理

在这里插入图片描述

2) 基本分段存储管理

在这里插入图片描述

3) 段页式存储管理

是两种方法的结合
在这里插入图片描述

1.2.2 内存空间的扩充

*** 操作系统需要提供某种技术从逻辑上对内存空间进行扩充
因为电脑内存有限16g,有程序超过80g大小,所以就需要内存空间扩充技术。

内存扩充的技术有三种:覆盖技术、交换技术、虚拟存储技术;

a) 覆盖技术

缺点:必须由程序员声明覆盖结构,操作系统完成自动覆盖。对用户不透明,增加了用户编程负担。覆盖技术只用于早期的操作系统,现在已经被淘汰。
在这里插入图片描述在这里插入图片描述

b) 交换技术

在这里插入图片描述
在这里插入图片描述

c) 虚拟存储技术

虚拟内存技术

  1. 定义与特征

在这里插入图片描述

  1. 实现虚拟内存技术

虚拟内存技术的实现是建立在离散分配的内存管理方式基础上
离散分配的内存管理方式有三种:基本分页存储管理、基本分段存储管理、基本段页式存储管理;
由此衍生出三种虚拟内存实现方法:请求分页存储管理、请求分段存储管理、请求段页式存储管理;
在这里插入图片描述

  1. 三种虚拟内存实现方法
    请求分页管理方式:

在这里插入图片描述

1.2.3 地址转换

操作系统需要提供地址转换功能,负责程序的逻辑地址与物理地址的转换
原因:为了使编程更方便,程序员写程序应该只需关心指令、数据的逻辑地址。而逻辑地址到物理地址的转换(这个过程称为地址重定位)应该由操作系统负责,这样就保证了程序员写程序时不需要关注物理内存的实际情况。(和封装的思想很像,就是把负责的实现过程封闭起来,别人只需要调用,不需要考虑内部实现逻辑)

拓展:有三种装入方式可以实现地址重定位

1.2.4 内存保护

操作系统需要提供内存保护功能。保证各进程在各自存储空间内运行,互不干扰

内存保护的两种方法:

  1. 设置一对上限、下限寄存器。
    在这里插入图片描述
  2. 采用重定位寄存器和界地址寄存器
    在这里插入图片描述

2 文件

2.1 内存映射文件

2.1.1 定义

内存映射文件(Memory-Mapped Files)是操作系统向上层程序员提供的功能(系统调用),方便程序员访问文件数据,方便多个进程共享同一个文件数据;

2.1.2 传统文件访问方式

在这里插入图片描述

2.1.3 内存映射文件访问方式

在这里插入图片描述
在这里插入图片描述

2.2 文件管理

3 I/O

4 缓冲区,磁盘

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

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

相关文章

线性代数的本质(六)——线性空间

文章目录 线性空间线性空间子空间坐标与同构线性变换与矩阵基变换与坐标变换 线性空间 线性空间 Grant: 普适的代价是抽象。 仔细分析就会发现,关于向量空间的一切概念及有关定理都不依赖于向量的具体表现形式(有序数组),也不依赖于向量加法、数乘的具体…

notepad++编辑多个位置

在notepad设置多次点击不同的位置,然后同时操作这多个位置的方法: 1、选择编辑,首选项: 2、选择多点编辑:

数据结构学习笔记—— 排序算法总结【ヾ(≧▽≦*)o所有的排序算法考点看这一篇你就懂啦!!!】

目录 一、排序算法总结(一)排序算法分类(二)表格比较 二、详细分析(最重要考点!!!)(一)稳定性(二)时间复杂度(…

MapRdeuce工作原理

hadoop - (三)通俗易懂地理解MapReduce的工作原理 - 个人文章 - SegmentFault 思否 MapReduce架构 MapReduce执行过程 Map和Reduce工作流程 (input) ->map-> ->combine-> ->reduce-> (output) Map: Reduce

通讯协议介绍CoAP 协议解析

目录 1 通讯协议 2 TCP/IP 网络模型 2.1 TCP协议 2.1.1 TCP 连接过程 2.1.2 TCP 断开连接 2.1.3 TCP协议特点 2.2 UDP协议 2.2.1 UDP 协议特点 3 应用层协议简介 3.1 HTTP 协议 3.2 CoAP 协议 3.3 MQTT 协议 4 CoAP 协议详解 4.1 REST 风格 4.2 CoAP 首部分析 4…

Python 判断三位水仙花数

"""判断是否为三位水仙花数知识点:0、水仙花满足条件:(1 ** 3) (5 ** 3) (3 ** 3) 1531、字符串索引,例如:name zhouhua name[0] z2、变量类型转换函数3、双目运算符幂**,例如:3 ** 2 3 * 3 94、…

功能基础篇2——常用哈希和加密算法介绍及Python相关库与实现

加解密 https://docs.python.org/3/library/crypto.html 三方库推荐,https://cryptography.io/en/latest/ Criptography,https://pypi.org/project/cryptography/ PyCryptodome,a fork of PyCrypto,https://pypi.org/project/…

【笔记】ubuntu 20.04 + mongodb 4.4.14定时增量备份脚本

环境 ubuntu 20.04mongodb 4.4.14还没实际使用(20230922)后续到10月底如果有问题会修改 原理 只会在有新增数据时生成新的备份日期目录备份恢复时,如果恢复的数据库未删除,则会覆盖数据 准备 准备一个文件夹,用于…

Centos 7 部署SVN服务器

一、安装SVN 1、安装Subversion sudo yum -y install subversion2、验证是否安装成功(查看svn版本号) svnserve --version二、创建版本库 1、先建立目录,目录位置可修改 mkdir -p /var/svn cd /var/svn2、创建版本库,添加权限…

Unity工具——LightTransition(光照过渡)

需求描述 在游戏中,开发者为了让玩家更直接地看到待拾取的物品从而为其添加一种闪烁效果,或者模拟现实中闪烁的灯光效果,我能够想到的一种方案则是通过控制光照强度来实现,那么本篇文章我们就尝试通过这个方案来实现一下&#xff…

什么是Vue的Vetur插件?它有哪些功能

引言 在现代前端开发中,Vue.js已经成为了一个备受欢迎的JavaScript框架。随着Vue.js的流行,开发人员需要强大的工具来提高他们的生产力和Vue.js项目的质量。Vetur插件是一个为Vue.js开发者提供的强大工具,它不仅提供了丰富的功能&#xff0c…

vue框架实现表情打分效果

本来今天要实现这个功能 但是在网上查了一下 就csdn上有一个符合要求的 但是他竟然收费,痛心疾首啊 太伤白嫖党的心的 所以我手写了一个这个类似功能的代码 希望能帮到有这个需求的同学们 技术栈是VUE3 用其他技术栈的也可以看 因为逻辑很简单都一样的 // 问卷的虚拟数据 con…

前端框架vBean admin

文章目录 引言I 数据库表设计1.1 用户表1.2 角色表1.3 菜单表II 接口引言 文档:https://doc.vvbin.cn/guide/introduction.html http://doc.vvbin.cn 仓库:https://github.com/vbenjs/vue-vben-admin git clone https://github.com/vbenjs/vue-vben-admin-doc 在线体验demo:…

步步为营,如何将GOlang引用库的安全漏洞修干净

文章目录 引场景构建第一步、直接引用的第三方库升级修复策略1.确认是否为直接引用的第三方库2.找到需要升级的版本是否为release版本 第二步、间接引用的第三方库升级修复策略那么问题来了,我们这么间接引用库的对应的直接引用库是哪个呢? (…

Hadoop NameNode执行命令工作流程

Hadoop NameNode执行命令工作流程 客户端API或者CLI与NameNode的交互命令数据的格式(1) 预处理流程(2) 创建NameNode与NameNodePrcServer流程(3) HDFS API以及CLI的命令到NameNode的工作执行流程(4) 执行命令的参数流动 客户端API或者CLI与NameNode的交互命令数据的格式 hadoop…

Apache 原生 Hadoop 运维命令

Hadoop 1、检查原生hadoop和压缩库是否可用 hadoop checknative2、打印hadoop环境的配置路径 hadoop classpathHDFS 1、查看hdfs文件系统的状态 hdfs dfsadmin -report2、获取安全模式的状态 hdfs dfsadmin -safemode get安全模式下只可进行读操作 3、文件系统健康检查 …

LeetCode_拓扑排序_困难_2603.收集树中金币

目录 1.题目2.思路3.代码实现(Java) 1.题目 给你一个 n 个节点的无向无根树,节点编号从 0 到 n - 1 。给你整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ai, bi] 表示树中节点 ai 和 bi 之间有一条边。再给…

10分钟设置免费海外远程桌面

前言 本教程将向您介绍如何使用 Amazon Lightsail 服务的免费套餐轻松搭建属于您的远程桌面。依托于 Amazon 全球可用区,您可以在世界各地搭建符合您配置需求的远程桌面。 本教程需要先拥有亚马逊云科技海外账户。现在注册亚马逊云科技账户可以享受12个月免费套餐…

《向量数据库指南》——文心大模型+Milvus向量数据库搭建AI原生应用

亲爱的科技探险家们和代码魔法师们: 未来的钟声已经敲响,预示着一场极度炫酷的虚拟现实游戏即将展开。从初期简单的智能识别,到设计师级别的图纸设计,生成式AI技术(Generative AI)以其独特理念和创新模式重塑了传统内容生产效率和交互模式,在无数领域展现着非凡的才华。…

清易低功耗智能雨量监测站概述

一、低功耗智能雨量监测站概述产品概述 低功耗智能雨量监测站基于智能传感、无线通信、智能处理与智能控制等物联网技术的开发,利用智能传感技术,通过传感器测量降雨量,并使用物联网进行传输。无需专门的通信线路,在联网的状态下…