linux 内核原来并不分页

news/2024/7/20 13:24:36 标签: 操作系统, 内存管理

内核代码 mem_init的过程 statrt_memory 减去了 内核代码的长度  所以其实虚拟空间是从内核之上开始的

其实这样省了很多麻烦,因为一开始设定 page 的时候就不用算上内核了

 

摘选:

linux内核中没有分页内存吗?是的,没有,那么windows的内核为何就有呢?毕竟不是一个家族不好做全方位的评判,我的结论就是linux上的任何的程序只将内核作为一个平台而不依赖内核。这个事实的结果就是在linux内核中不能分配过大的内存,linux内核中唯一可以分配大内存的地方就是vmalloc区域,仅仅放松了对物理内存连续的限制,在vmalloc中分配内存只要求虚拟内存连续,并且事实上最多只能分配128M的内存,这是linux内核中最宽松的限制了。

在linux中,一切功能都可以由用户空间应用程序来解决,就连杀毒程序也不例外,这是因为linux有强大的安全机制,单点验证机制,只要linux保证任何用户不能随意su到root权限就可以了,这事实上就是一个消除一切漏洞的行为,只要操作系统安全机制没有漏洞,只要内核没有漏洞,那么一切恶意程序的得逞完全归结于该恶意程序所利用的用户空间应用程序设计的不足,而且这件事在linux看来,内核完全没有必要过问,正如一个国家的机关只认百姓的请求以及该请求的代理权限,只要认证通过就给与服务而不再对别的情况加以过问,linux只是一个服务者罢了,它不喜欢任何额外的机制要靠内核来完成,也就是说任何用户都不要随意动不动就用内核实现一个机制,只要在用户空间实现就好了。

看看windows下的杀毒程序这一简单的使用内核来完成的程序,正是由于windows不能保证复杂但是薄弱的用户空间机制都是安全的,才会动用内核来实现更高级别的安全管理,它没有linux的那种简单但是可以信赖的单点验证机制。正如微软建议的那样,在没有别的办法的时候请实现一个驱动程序,在DriverEntry中完成一切。既然微软会建议程序员编写内核驱动,那么微软的操作系统当然也把内核空间的开发开放给了程序员,于是DDK成了很大一部分人最后的救命稻草,既然将内核驱动的开发开放给了程序员,那么如何使用内存就不应该有任何限制,再者windows希望用一种简单一致的机制管理所有的不管是用户空间还是内核空间的内存,于是内核空间的内存管理和用户空间的内存管理大体上没有区别,都可以使用分页内存,说一句可能让windows的粉丝不愿意听的话:我们windows实现的不是很安全,所以你们可以用内核这个最高级别的执行绪以权势压人。反观linux,开源的linux难道没有将内核开放给程序员吗?不,绝对的开放,看看lkml的热闹程度吧!但是不同的是,linux下开发内核是完全为了内核本身的机制扩展而不涉及任何用户策略,linux的内核和用户应用分得比较开。

转载于:https://www.cnblogs.com/tranceL/p/6617526.html


http://www.niftyadmin.cn/n/1022632.html

相关文章

96、ajax、fetch、axios的区别

请参考: 这一篇解释的比较详细: 越来越火的网络请求Fetch和Axios到底有什么区别 - 知乎 (zhihu.com) 1)Ajax、fetch、axios的区别与优缺点: (21条消息) Ajax、fetch、axios的区别与优缺点_书山有路勤为径,学海无涯苦作舟-CSDN…

201521123095 《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点。 2. 书面作业 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误。并分析输出结果。 package parent; public class OutOfParentPackage{public static void showParen…

【Linux基础入门】1、Linux系统简介

1.1 Linux为何物? Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8,10)和 Mac OS 。这里简单介绍一下操作系统在整个计算机系统中的角色。我们的应用体系主要由四层构成&#xff0…

97、session、cookie、token 详解

参考: (21条消息) session、cookie、token 详解_徐本锡的专栏-CSDN博客

98、从需求提出到上线流程总结

(22条消息) 一线大厂:从需求提出到上线流程总结_li_ITboy的博客-CSDN博客

Ambari安装之部署本地库(镜像服务器)(二)

部署本地库(镜像服务器) (1)下载HortWorks官网上的3个库到本地(也可以在线下载,但是速度会很慢) 我们先把hortworks官网上需要下载的3个库下载到本地(这个还是需要很长时间的&#x…

49、表达式求值---百度

一、描述 请写一个整数计算器&#xff0c;支持加减乘三种运算和括号。 二、思路 三、实现 public int calculate(String s) {s s.trim();Deque<Integer> stack new ArrayDeque<>();int number 0;char sign ;char[] charArray s.toCharArray();for (int i 0…

99、CDN加速原理

(22条消息) 一文看懂CDN加速原理_xiangzhihong8的专栏-CSDN博客_cdn原理