linux内存机制和windows,linux内存的管理机制与windows最主要的区别是什么?

Linux?系统和android?虽然都是用的是linux内核,但对处理程序内存的方式不一样,特别是前台的上层程序,内核级程序基本是一样的。

linux内核基本是先把数据都放在内存上的,内存不够才放到交换分区(虚拟内存)上,细节是,只有频繁使用的数据才会放到内存上,不频繁操作的数据会渐渐放到交换分区上,适当时写回硬盘里。

而windows的处理方式是?内存和虚拟内存一起使用,不是以内存操作为主,这样的结果是IO的负担比较大,有时会拖慢处理速度。linux的哲学是,尽可能使用内存,因为内存的速度比硬盘速度快100多倍。

Android?用户程序基本是java写的,android有着自己一套管理体系,不同于普通的linux系统和windows系统。

前台使用中的程序才会占用CPU,放入后台的程序会被“冻结”停止使用CPU,只有服务类程序会一直占用CPU,除非停止。android会尽可能载入程序的缓存,以便下次程序启动时会更快,这个程序自动运行载入缓存是可以控制的,用“卫士”之类的系统软件设置即可。

android如果内存比较吃紧,会自动清除不常用程序的缓存,自动关闭不常用的程序。当然android的内存管理不是万能的,比如1G内存,已经占用了900M,如果再开一个300M的程序,这个程序很可能会意外退出,除非清理腾出足够的内存来运行。

安卓是比较节能的。

我们使用windows有个习惯,就是尽量结束那些不用的、占用CPU的程序,总是要用软件清理。安卓不一样,只有前台程序和服务程序会占用CPU,不用时,把前台程序放入后台即可,设置----应用----找到“正在运行”的选项卡?结束掉不用的服务即可;右上角“显示缓存程序”,需要清理内存可以释放掉相应的程序就能腾出内存(我们都不用费力清理内存的,不影响使用)。

安卓是比较节能的前提是:不运行比较大型的软件,适时关闭网络wifi、GPS、蓝牙等不用的硬件,这样才节能。

android即使程序开满了内存,内核也不会崩溃的,linux系统也是一样。但linux系统可能因为使用满了swap交换分区,IO负担比较重,运行会有点卡,必要时内核会强制结束一些程序。

windows内存满了,一般会弹出提示内存不够,但比较不稳定,尤其是windows2003?和xp之类的系统,会诱发系统不稳定,系统崩溃蓝屏。

全部

你可能感兴趣的:(linux内存机制和windows,linux内存的管理机制与windows最主要的区别是什么?)