存储管理

来自ITwiki,开放的信息技术大百科

存储管理操作系统四大功能之一,是指存储器资源(主要指内存并涉及外存)的管理,主要是指对主存的管理.


内容包括

  • 存储分配与回收;
  • 存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从"垃圾"中窃取其他进程的信息;保证每个用户程序只能访问自己的存储空间;
  • 内存扩充(虚拟存储):提高内存利用率、扩大进程的内存空间;
  1. include <iostream.h>
  2. include <windows.h>

void print(int p_num, int e_num); void dop_add(int S_addr,int apply); char ask(); int cancel(); void initial(); void order1(); void order2(); void firstfit(); void firstfit_add(); void firstfit_del(); void refirst(); void refirst_add(); void refirst_del(); void bestfit(); void bestfit_add(); void bestfit_del(); void worstfit(); void worstfit_add(); void worstfit_del(); void scan_deal(int pid); int scan_f(int pid); int scan_b(int pid); int YN=0; struct Map { unsigned Size; unsigned e_addr; }; const N=100; struct Map map[N]; struct Pid { int ID; unsigned p_size; unsigned p_addr; }; struct Pid pid[N]; int p_num =0; int e_num; int bnext = 0; int fnext = 0; unsigned Apply = 0; int pid_into =0; int last =0; void main() { int flag = 1; char x; while(flag) { initial(); l: cout<<"请选择算法:"<<endl; cin>>x; switch(x) { case '1' : cout<<"您选择的是最先适应算法!"<<endl; firstfit(); flag=YN; YN=0; break; case '2': cout<<"您选择的是循环最先适应算法!"<<endl; refirst(); flag=YN; YN=0; break; case '3': cout<<"您选择的是最佳适应算法!"<<endl; bestfit(); flag=YN; YN=0; break; case '4': cout<<"您选择的是最坏适应算法!"<<endl; worstfit(); flag=YN; YN=0; break; default: cout<<"您的选择无效,请重新选择:"<<endl; goto l; } } print(p_num, e_num); }

分类

存储管理技术分为两大类:

  • 实存储器管理:实存储器管理讨论主存的管理;
  • 虚拟存储器管理:涉及主存和外存,把外存是看作内存的直接延伸即物理扩充,用户并不感觉内外存的区别.


管理目标

存储管理的管理目标为:提高利用率、方便用户使用、用户机器速度提高、提供足够的存储空间、方便进程并发运行。