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

2023-09-16 10:00:00

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.2.3 地址转换

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

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

1.2.4 内存保护

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

内存保护的两种方法:

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

2 文件

3 I/O

4 缓冲区,磁盘

更多推荐

各种数据库分页查询SQL

一、DB2:DB2分页查询SELECT*FROM(Select字段1,字段2,字段3,rownumber()over(ORDERBY排序用的列名ASC)ASrnfrom表名)ASa1WHEREa1.rnBETWEEN10AND20以上表示提取第10到20的纪录select*from(selectrownumber()o

图解 LeetCode 算法汇总——双指针

双指针算法是一种比较常用于搜索链表或数组相关的问题,很多算法的基本的解题思路就是使用暴力搜索法。而双指针是对暴力搜索的一种优化,通过双指针可以减少数据的遍历次数。通常双指针是有两个指针,叫做light左指针和right右指针,或者叫做快指针和慢指针。作为左右指针的话,一般是在数组的或者链表的头尾两侧,从两遍往中间收缩,

【分布式计算】七、同步 synchronization 重难点

两个协议:1、NTP(NetworkTimeProtocal)–>广泛使用机器周期向时间服务器获取准确时间2、没有协议名称−>->−>没有广泛使用时间服务器周期扫描所有机器,计算时间平均值;导致时间服务器负载大,不广泛使用逻辑时钟(logicalclock)是一种次序时间,而非准确物理时钟(anorderingtime

方案:AI赋能,森林防火可视化智能监管与风险预警系统解决方案

一、方案背景森林火灾是世界八大自然灾害之一,具有发生面广、突发性强、破坏性大、危险性高、处置扑救特别困难等特点,严重危及人民生命财产和森林资源安全,甚至引发生态灾难。有效预防和及时控制森林火灾是保护国家生态建设成果、推进生态文明建设的重要措施。监管痛点:1)现有的森林防火监测系统落后,以人工地面巡护、瞭望塔高点巡查为主

JVM执行流程

一、Java为什么是一种跨平台的语言?通常,我们编写的java源代码会被JDK的编译器编译成字节码文件,再由JVM将字节码文件翻译成计算机读的懂得机器码进行执行;因为不同平台使用的JVM不一样,所以不同的JVM会把相同的字节码文件翻译成不同操作系统认识的机器码,这样就实现了跨平台;二、Java代码的执行流程解释执行为主

LabVIEW在运行时调整表控件列宽

LabVIEW在运行时调整表控件列宽如何在LabIEW中运行时调整表控件的列宽大小?在VI运行时,有两种不同的方法可以更改表中列的宽度。首先,可以使用鼠标手动更改它们;其次,可以从框图中以编程方式更改它们。手动更改列宽只有在启用列标题时,才能使用鼠标更改表的列宽。默认情况下,在LabVIEW中,列标题是禁用的。请按照以

观测云接入 NewRelic .NET 探针

背景部分客户系统采用的是.NET4.5部署研发的、基于IIS进行发布的Web项目,需要接入到观测云进行链路信息展示,ddtrace和otel对于低版本.NET支持力度有限。环境信息IIS4.0.NETcore4.0、4.5、4.6WindowServer2012R2域名配置准备一个域名www.datakit.com,需

ubuntu+.net6+docker 应用部署教程

先期工作1、本地首先安装DockerDesktop2、本地装linuxinwindows3、生成镜像后期工作1、云服务器部署生成镜像方法1、生成Dockerfile配置文件开发工具visualstudio2022如果项目已经存在,可以选中项目,右键点击->选择添加Docker支持。继续选linux项目支持docker后

基于深度学习网络的烟雾检测算法matlab仿真

目录1.算法运行效果图预览2.算法运行软件版本3.部分核心程序4.算法理论概述5.算法完整程序工程1.算法运行效果图预览2.算法运行软件版本matlab2022a3.部分核心程序.......................................................................

Tomcat常见报错以及手动实现Tomcat

一.Tomcat的简单启动1.安装Tomcat2.Tomcat启动1.双击bin目录下的startup.bat文件2.输入http://localhost:8080/,显示如下界面代表安装成功,默认在8080端口3.注意,不要关闭黑窗口,关闭了,tomcat服务就停止了.3.曾经的启动失败案例3.1Tomcat停止时报

Postman —— post请求数据类型

1、Postman中post的数据类型post中有以下数据类型1、form-data2、x-www-form-urlencoded3、raw4、binary2、Postman请求不同的post数据类型from-datamultipart/form-data,它将表单的数据组织成Key-Value形式,也可以上传文件,当

热文推荐