什么是分页?
无论你的NT服务器的内存有多大,它总是显得不够充足。当物理RAM从低端开始运行时,Windows NT使用了分页文件Pagefile.sys。为了运行不同的进程和应用程序,Pagefile.sys给物理内存分配了一些空间。在这些空间内允许交换数据页。
默认分页文件在C盘根目录下,这个文件的大小与你的虚拟内存是一样大的,不以删除。一般建议将虚拟内存改在D盘。减少对系统分区的占用,也减少对系统分区的频繁读写。
分段?
程序分段的好处。cpu中的段寄存器中保存了段址(base)和偏移值的上限(limit)。段址:有效地址 中,如果有效地址大于limit,便会引发异常。这样就可以限制程序不能范围当前段外的数据,不能访问其他程序的数据。总之就是不能访问它不能访问的数据。
面向对象的好处。对象就是一块连续的内存中的数据吧。这点跟上面一点类似。通过限制访问,就做到了private的效果吧。
分段与分页:
(1)内存分段和内存分页一样都是一种内存管理技术,分段是为了权限保护,分页是为了虚拟内存.
(2)分段后,程序员可以定义自己的段,各段有独立的地址空间,象进程的地址空间互相独立一样.
(3)同一个类的实例分配在一个段中,只有该类的方法可以访问,如果其他类的方法去访问,会因为段保护而出错.可以从硬件上实现类的数据保护和隐藏
后面的分段来自网络,不知道对不对?这是计算机 *** 作系统这门课里讲的内容。
#include
int main()
{
int x,y
scanf("%d",&x)
if(0<x&&x<10) y=3*x+2
else
{if(x=0) y=0
else
{if (x<0) y=x*x
else printf("go die\n")
}
}
printf("%d",y)
return 0
}该程序的分段函数如下:
f(x)=3x+2 (0<x<10)
f(x)=1 (x=0)
f(x) = x*x (x<0)
#include <stdio.h>
#include <math.h>
void main()
{
float x
double y
printf("Please input the value of x:")
scanf("%f",&x)
if(x>=-10&&x<=4)
{
y=fabs(x-2)
printf("y=%.2f\n",y)
}
else if(x>=5&&x<=7)
{
y=x+10
printf("y=%.2f\n",y)
}
else if(x>=8&&x<=12)
{
y=pow(x,4)
printf("y=%.2f\n",y)
}
else
printf("No answer\n")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)