深度讲解Linux内存管理和Linux进程调度(一)

==转载自一个Linux大神的链接—博客:linux内存和进程--------https://blog.csdn.net/21cnbao/article/details/77505330

一切的学习都是为了解决问题,而不是为了学习而学习,为了学习而学习,这种行为实在是太傻了,因为最终也学不好
本文的目的是试图给出一个回答这些问题的思考问题的出发点,我们倡导面对任何问题时侯,先弄明白系统的设计目标

吞吐vs。响应
首先我们在思考调度器的时候,啊哈说到调度器,我放个大神的链接—Vamei—https://www.cnblogs.com/vamei/archive/2018/07/25/9364382.html

这个大神不过因为抑郁症离世了,天妒英才,可惜啊
好吧我们顺便根着大神的博客来了解一下调度器时什么东东。首先我们知道进程是操作系统虚拟出来的概念,用来组织计算机中的额任务。但是随着进程被赋予越来越多的任务,它就好像有了真实的生命。不过进程的生命都得到了操作系统内核的关照。如何在进程间分配有限的计算资源,最终让用户获得最佳的使用体验。内核中安排进程执行的模块称为调度器。
任何操作系统的调度器只追求2个目标:吞吐率大和延迟低。
吞吐量大势必要把更多的时间放在做真实的有用功之上,而不是把时间浪费在频繁的上下文切换。而延迟要对说明要求优先级高的进程可以随时抢占进来,打断别人,但是抢占又会引起上下文切换,上下文切换更大的消耗不是切换本身,而是切换会引起大量的cache miss。
Linux作为一个软实时的操作系统,实际上想达到某种平衡,在内核编译的时候,是倾向于支持吞吐还是响应。
对于
**具体的Linux内核编译实现可以参看博文-----GloryBossy--------https://blog.csdn.net/qq_34247099/article/details/50949720
**Linux有三类区间是不可以抢占调度的,分别是
1.中断
2.软中断
3.持有类是spin——lock这样的锁而锁住该CPU和调度的情况
**
CPU消耗性vsI/O消耗性
Linux运行的进程分为两类,一类是CPU消耗性狂算,一类是I/O消耗性,狂睡,前者CPU利用率高,后者低,一般而言,I/o型消耗对延迟比较敏感,应该优先调度
分配和占据
Linux作为一个把应用程序员当傻逼的操作系统,它必须允许应用程序犯错。
所以就不要问了:进程malloc()了内存,还没有free()就挂了。所以进程死了的时候坑定是资源都被内核释放掉的。
先到这里感觉这个博主讲的真心不错----https://blog.csdn.net/21cnbao

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值