*** 作系统中的分区,分页,分段有什么区别啊

 *** 作系统中的分区,分页,分段有什么区别啊,第1张

分区是把一个硬盘分成几个区来存储文件。像C盘,D盘都分区分出来的。

什么是分页

无论你的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")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10944530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存