操作系统课堂笔记(2)操作系统的硬件环境之存储系统

简介: 支持OS运行硬件环境的一个重要方面: 作业必须把它的程序和数据存放在内存中才能运行 操作系统本身也要存放在内存中并运行 多道程系统中,若干个程序和相关的数据要放入内存→→操作系统要管理、保护程序和数据,使它们不至于受到破坏 1.存储器的层次结构 存储系统设计三个问题:          容量、速度和成本 存储访问局部性原理 提高存储系统性能的关键:     程序存储访
支持OS运行硬件环境的一个重要方面:
作业必须把它的程序和数据存放在内存中才能运行
操作系统本身也要存放在内存中并运行
多道程系统中,若干个程序和相关的数据要放入内存

→→操作系统要管理、保护程序和数据,使它们不至于受到破坏

1.存储器的层次结构

存储系统设计三个问题:
         容量、速度和成本


存储访问局部性原理

提高存储系统性能的关键:
    程序存储访问局部性原理
程序执行时,有很多循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合
对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域
处理器主要和存储器的局部打交道
经过一段时间以后,使用的代码和数据集合会改变


2.存储分块

存储最小单位:“二进位”,包含信息为0或1
最小编址单位:字节,一个字节包含八个二进位
主流个人电脑
主存:1G~4G之间
辅助存储器:在160GB~300GB
工作站、服务器
主存:512MB ~ 4GB之间
硬盘容量:数百GB
为简化分配和管理,存储器分成块,称一个物理页(Page)
块的大小:512B、1KB、4KB、8KB、16KB、64KB、256KB、1MB、4MB、16MB

3.存储保护设施

对内存中的信息加以严格的保护,使操作系统及用户程序不被破坏,是其正确运行的基本条件之一
多用户/多任务操作系统:
    OS给每个运行进程分配一个存储区域
 

保护的硬件支持

解决方案  依赖于  配有特殊硬件的CPU
硬件可提供如下功能:
界地址寄存器(界限寄存器)
存储键


界地址寄存器(界限寄存器):一种存储保护技术

机制比较简单,易于实现
实现方法:
在CPU中设置一对下限寄存器和上限寄存器
  存放用户作业在内存中的下限和上限地址
  或者 将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)
每当CPU要访问内存时,硬件自动将被访问的内存地址与界限寄存器的内容进行比较,以判断是否越界
如果未越界,则按此地址访问内存,否则将产生程序中断——越界中断(存储保护中断)


存储键

每个存储块有一个由二进位组成的存储保护键
一用户作业被允许进入主存,OS分给它一个唯一的存储键号
并将分配给该作业各存储块存储键也置成同样键号
当OS挑选该作业运行时,OS将它的存储键号放入程序状态字PSW存储键(“钥匙”)域中
每当CPU访问主存时,都将该主存块的存储键与PSW中的“钥匙”进行比较
如果相匹配,则允许访问,否则,拒绝并报警


4.地址转换机制

同时有多个程序在内存
程序在内存的位置不是固定的而是随机的


地址转换机制

虚拟地址(逻辑地址)
    处理器生成的指令或数据的二进制地址
这些地址用硬件和软件结合的方法转换成物理地址
MMU:内存管理单元,一种特殊硬件,完成转换工作




目录
相关文章
|
11天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
26 0
|
12天前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
13天前
|
算法 程序员
深入理解操作系统内存管理:分页系统的优势与挑战
【4月更文挑战第7天】 在现代操作系统中,内存管理是一项至关重要的任务,它确保了计算机能够高效、安全地运行各种程序。分页系统作为内存管理的一种技术,通过将物理内存分割成固定大小的单元——页面,为每个运行的程序提供了一种独立且连续的内存地址空间。该技术不仅简化了内存分配,还允许更高效的内存使用和保护。本文探讨了分页系统的核心原理,优势以及面临的挑战,旨在为读者揭示其在操作系统设计中的重要性。
|
1月前
|
人工智能 安全 vr&ar
移动应用开发的未来:适应多变的移动操作系统环境
【2月更文挑战第29天】 随着智能手机和平板电脑成为全球消费者日常生活不可或缺的一部分,移动应用(App)的开发已经成为软件工程的一个关键领域。本文将探讨移动应用开发的现状与挑战,特别是开发者如何在不断变化的移动操作系统(如Android、iOS等)环境中保持竞争力。我们将分析跨平台工具的兴起、人工智能在优化用户体验中的作用以及安全性问题的重要性,并展望即将到来的技术趋势。
|
9天前
|
监控 测试技术 Android开发
移动应用与系统:开发与操作系统的深度解析
【4月更文挑战第11天】在这篇文章中,我们将深入探讨移动应用的开发过程,以及移动操作系统如何影响这些应用的性能和功能。我们将详细分析移动应用开发的关键步骤,包括需求分析、设计、编码、测试和维护。同时,我们也将探讨移动操作系统,如Android和iOS,如何为应用开发提供支持,并影响其性能。
|
12天前
|
Java 物联网 Android开发
移动应用与系统:探索开发与操作系统的融合
【4月更文挑战第8天】 在数字化时代的浪潮中,移动应用与系统的发展已成为技术创新的前沿阵地。本文将深入探讨移动应用开发的关键技术、移动操作系统的架构演变以及两者之间的相互作用。通过对当前流行的开发工具、编程语言和操作系统特性的分析,我们旨在为开发者提供一套全面的指导,以优化移动应用的性能和用户体验。同时,文章还将展望移动技术的未来趋势,特别是在人工智能和物联网领域的潜在应用。
|
22天前
|
机器学习/深度学习 搜索推荐 vr&ar
移动应用与系统的未来:从开发到操作系统的全面解析
本文将探讨移动应用和系统的未来,包括移动应用开发的趋势,移动操作系统的进展,以及这两者如何相互影响。我们将深入探讨如何通过理解这些变化,来优化移动应用的性能和用户体验。
10 2
|
29天前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】⭐Linux 显示当前系统的主机名和操作系统类型 uuname命令 使用教程
【Shell 命令集合 网络通讯 】⭐Linux 显示当前系统的主机名和操作系统类型 uuname命令 使用教程
28 0
|
30天前
|
缓存 算法 安全
深入理解操作系统内存管理:分页系统的优势与挑战
【2月更文挑战第30天】 在现代操作系统中,内存管理是核心功能之一,它负责将有限的物理内存资源分配给多个并发运行的进程。分页系统作为内存管理的一种流行技术,其通过虚拟到物理地址的映射提供了程序的逻辑地址空间,并允许更高效的内存分配和保护。本文旨在探讨分页系统的关键优势,包括其如何提升内存利用率、实现内存保护以及支持多任务处理。同时,我们也将分析分页机制带来的挑战,诸如页面置换算法的效率问题、页表管理和TLB(Translation Lookaside Buffer)的维护等。
|
1月前
|
存储 算法
深入理解操作系统内存管理:分页系统的优势与挑战
【2月更文挑战第29天】 在现代操作系统中,内存管理是核心功能之一,它负责有效地分配、跟踪和回收内存资源。分页系统作为一种内存管理技术,已经成为大多数操作系统的标准配置。本文将探讨分页系统的原理、优势以及面临的挑战。通过对分页机制的深入分析,我们旨在提供一个全面的视角,以帮助读者更好地理解这一关键技术如何影响操作系统的性能和稳定性。