程序运行时的存储组织及管理•内存管理•存储管理•文件系统•外存管理•存储层次结构01内存管理内存分区代码区存放程序代码,不允许随意读写,也不允许进程间互相访问
数据区分为全局变量区、静态变量区和堆区
全局和静态变量在程序开始运行时分配,在程序结束时释放;堆区用于动态内存分配,由程序员控制其生命周期
堆栈区存放局部变量、函数调用的返回地址等,具有先进后出的特点
内存分配方式静态分配在编译时确定变量或数据结构的存储空间大小,并在程序运行时一次性分配
动态分配在程序运行时根据需要分配或释放存储空间
如C语言的malloc和free函数、C的new和delete操作符等
栈式分配由操作系统自动管理,无需程序员手动分配和释放
内存保护内存访问权限内存越界检测通过设置不同的访问权限,如读、写、执行等,来防止对内存的非法访问
通过编译器或运行时环境检查数组下标是否越界、指针是否越界等,以防止对无效内存的访问
段式保护核心转储与写时复制技术将内存划分为不同的段,每个段有不同的访问权限,以防止对敏感区域的非法访问
核心转储用于记录进程在发生错误时的内存映像,写时复制则用于实现进程间的数据隔离
02存储管理磁盘存储磁盘存储概述01磁盘存储是计算机系统中用于长期保存数据的硬件设备,通常由多个磁盘组成,通过旋转和磁头读写数据
磁盘类型02根据存储容量、读写速度和数据保护方式的不同,磁盘存储可以分为多种类型,如机械硬盘(HDD)和固态硬盘(SSD)
磁盘性能03磁盘性能主要取决于读写速度、存储容量和可靠性
随着技术的发展,磁盘的读写速度和存储容量不断提高,可靠性也得到了显著提升
高速缓存高速缓存概述高速缓存是一种用于提高计算机系统性能的技术,通过将常用的数据存储在高速存储介质中,以便快速访问
缓存替换策略当缓存已满时,需要选择合适的替换策略以决定哪些数据被移出缓存
常见的替换策略包括最近最少使用(L