[导读]5.14-rc6了,看起来5.14也快发布了。而我5.13的总结还没有写出,我早觉得有写一点东西的必要了,这虽然于搬砖的码农毫不相干,但在追求上进的工程师那里,却大抵只能如此而已。为了不忘却的纪念,我们列出5.13内核的10个激动人心的新特性。上集先谈4个:AppleM1的初始M...
5.14-rc6了,看起来5.14也快发布了。而我5.13的总结还没有写出,我早觉得有写一点东西的必要了,这虽然于搬砖的码农毫不相干,但在追求上进的工程师那里,却大抵只能如此而已。为了不忘却的纪念,我们列出5.13内核的10个激动人心的新特性。上集先谈4个:- Apple M1的初始
- Misc cgroup
- Landlock安全模块
- 系统调用的堆栈随机化
Apple M1的初始支持5.13最爆炸性的新闻无非是初始的Apple M1支持,但是然并卵,实用性几乎为0。因为,已经合入的patch非常类似于SoC bringup的初级阶段:- 带earlycon支持的UART (samsung-style) 串口驱动
- Apple中断控制器,支持中断、中断亲和(affinity )和IPI (跨CPU中断)
- SMP (通过标准spin-table来支持)
- 基于simplefb的framebuffer驱动
- Mac Mini的设备树
这样一个东西,是没法用的,发烧友玩玩可以,但是我们感激并欣赏Hector Martin “marcan”领导的Asahi Linux项目开了一个这样的好头。但是,在Apple M1上面跑Ubuntu啥的,近期、中期和长期的选择还是用Parallels虚拟化技术比较好。
Misc cgroup众所周知,cgroup具备一个强大的控制CPU、内存、I/O等资源在不同的任务群间进行分配的能力。比如,你通过下面的命令,限制A这个群的CFS调度类进程,最多只能耗费20%的CPU:这个世界上的绝大多数资源都是可以进行抽象的,比如属于cpuacct、cpu、memory、blkio、net_cls什么的,但是,总有一些不同于常人的人,他们既不是男人,也不是女人,而是“妖如果有了仁慈的心”的人。Linux内核的驱动子系统多达100多个,但是还是有极个别驱动不属于这100多类中的任何一类,于是在drivers下面有个misc:现在内核碰到了类似的问题,它的资源要进行配额控制,但是不属于通用的类型,而是:- Secure Encrypted Virtualization (SEV) ASIDs
- SEV - Encrypted State (SEV-ES) ASIDs
这些有限的 ASIDs用于在AMD平台上,进行虚拟机内存加密,不能归于现有cgroup的任何一类。那么,咱们加个misc类的cgroup吧,于是Misc control-group controller在5.13内核诞生了。这再次证明了,不要重新造轮子,但是你可以在现有的轮子里面放一个“杂交”轮子。Misc cgroup允许进行一些特殊资源的控制,透过3个接口完成。- misc.capacity描述资源的能力(只读),比如:
$ cat misc.capacityres_a 50res_b 10- 透过misc.current描述当前资源的占用(只读),比如:
$ cat misc.currentres_a 3res_b 0- 透过misc.max设置这个cgroup最多只能使用多少资源(可读可写),比如:
# echo res_a 1 > misc.max同志们,有了这个misc cgroup的支持,以后咱们的阿猫阿狗资源限制,也可以往里面塞了。它相当于开了一道门。 Landlock安全模块曾经有一个真诚的patch摆在我面前,但是我没有珍惜,发了V1被人怼了后就放弃了,等到失去的时候才后悔莫及,尘世间最痛苦的事莫过于此,如果上天可以给我一个机会再来一次的话,我会对那个patch说我要继续迭代发!如果非要在这个迭代的次数上加上一个期限,我希望是一百遍。5.13内核,最励志的事情无疑是,"Landlock" Lands In Linux 5.13 !在迭代了超过5年之后,安全组件landlock终于合入了Linux内核,这份始于2016年的爱情,终于有了一个美好的结局。为此,Linux内核doc的维护者,LDD3的作者之一Jonathan Corbet发文指出:Kernel development is not for people who lack persistence; changes can take a number of revisions and a lot of time to make it into a mainline release。文章链接:https://lwn.net/Articles/859908/所以,没有耐力、不能持之以恒,想一夜暴富的人,真地不适合做kernel开发。Landlock LSM主要给非特权进程提供安全沙盒的能力,比如你可以对一个普通进程,施加自定义的文件系统访问控制策略。它的操作原理是,先创建一个规则集ruleset,比如,如下的ruleset就是涉及到文件的读、写、执、读DIR、写DIR等:ruleset对用户以文件描述符fd的形式存在,再次证明了“一切都是文件”。接下来,我们可以透过这个fd,向这个ruleset里面添加rule,比如我们添加一个/usr目录的“读”规则,这样进程就不能写/usr了:我们把这个ruleset施加起来让它生效:想要体验的童鞋可以用这个例子启动你的进程,它设置好ruleset后,会去call exec启动命令行参数指定的程序:https://github.com/landlock-lsm/linux/blob/landlock-v34/samples/landlock/sandboxer.cLL_FS_RO环境变量是可读文件的列表,LL_FS_RW环境变量是可读写文件的列表,运行方法:LL_FS_RO=”只读路径” \LL_FS_RW=”可写路径” \sandboxer ./a.outa.out是你的想要安全沙盒的程序。在下已经一睹为快,在/home/baohua下面创建2个目录1,2,然后创建/home/baohua/1/1和/home/baohua/2/1这2个文件,限制第一个目录只读:童鞋们看明白了吗?我用sandboxer去启动cat,2个文件都是成功的。但是,去启动echo,/home/baohua/1/1是不允许写的,但是/home/baohua/2/1是可以写的。实际上,/home/baohua/1/1和/home/baohua/2/1并没有丝毫的不同。landlock在发挥作用了!
系统调用的堆栈随机化这是一项安全增强,它允许对系统调用发生时,内核使用的堆栈添加一个随机偏移。这给基于stack的攻击增加了难度,因为stack攻击通常要求stack有个固定的layout。现在每次系统调用,stack的layout都变化的话,黑客就比较捉摸不定了。比如ARM64主要修改了invoke_syscall()这个函数:这个东西听起来很高大上,但是它的原理可能简单地你想哭,show me the code:它实际上就是每次系统调用把offset随机化一下,然后通过__builtin_alloca()从stack里面分配一些stack空间,于是导致stack的位置移动。我们可以写个非常简单的应用程序来验证原理:然后编译gcc 1.c -fno-stack-protector -O0运行:亲爱的,你有没有发现,10次函数调用的时候,每次stack临时变量的位置都不一样!!?本文未完待续,您的赞赏将鼓励我的原创
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。
关键字:
驱动电源
在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。
关键字:
工业电机
驱动电源
LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...
关键字:
驱动电源
照明系统
散热
根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。
关键字:
LED
设计
驱动电源
电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...
关键字:
电动汽车
新能源
驱动电源
在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...
关键字:
发光二极管
驱动电源
LED
LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。
关键字:
LED
驱动电源
功率因数校正
在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...
关键字:
LED照明技术
电磁干扰
驱动电源
开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源
关键字:
LED
驱动电源
开关电源
LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。
关键字:
LED
隧道灯
驱动电源
LED驱动电源在LED照明系统中扮演着至关重要的角色。由于LED具有节能、环保、长寿命等优点,使得LED照明在各个领域得到广泛应用。然而,LED的电流、电压特性需要特定的驱动电源才能正常工作。本文将介绍常用的LED驱动电...
关键字:
LED驱动电源
led照明
LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电源转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。
关键字:
LED
驱动电源
高压工频交流
种种迹象都在表明,半导体行业或已提前进入寒冬时期,越来越多的厂商开始扛不住了……
关键字:
LED
半导体
驱动电源
崧盛股份9日发布投资者关系活动记录表,就植物照明发展趋势、行业壁垒等问题进行分享。植物照明未来市场需求广阔崧盛股份指出,植物照明将会走向长期产业领域。主要原因有三:第一,LED植物照明赋能终端种植更具有经济价值。由于LE...
关键字:
崧盛股份
驱动电源
在当今高度发展的技术中,电子产品的升级越来越快,LED灯技术也在不断发展,这使我们的城市变得丰富多彩。 LED驱动电源将电源转换为特定的电压和电流,以驱动LED发光。通常情况下:LED驱动电源的输入包括高压工频交流电(即...
关键字:
LED
驱动电源
高压直流
人类社会的进步离不开社会上各行各业的努力,各种各样的电子产品的更新换代离不开我们的设计者的努力,其实很多人并不会去了解电子产品的组成,比如LED电源。
关键字:
LED
驱动电源
低压直流
随着科学技术的发展,LED技术也在不断发展,为我们的生活带来各种便利,为我们提供各种各样生活信息,造福着我们人类。LED驱动电源实际上是一种电源,但是它是一种特定的电源,用于驱动LED发射带有电压或电流的光。 因此,LE...
关键字:
LED
驱动电源
电流
LED灯作为一种新型节能和无污染光源,由于其特有的发光照明特性,在现代照明应用中发挥着革命性的作用。作为 LED 照明产业链中最为核心的部件之一,LED 驱动电源的驱动控制技术所存在的可靠性低、成本高等典型问题一直制约着...
关键字:
多路
LED
驱动电源
随着社会的快速发展,LED技术也在飞速发展,为我们的城市的灯光焕发光彩,让我们的生活越来越有趣,那么你知道LED需要LED驱动电源吗?那么你知道什么是LED驱动电源吗?
关键字:
LED
开关电源
驱动电源
早前有新闻称,Cree在2018年开始宣布转型高科技半导体领域,并一边逐渐脱离照明与LED相关业务,一边持续投资半导体。在今日,Cree宣布与SMART Global Holdings, Inc.达成最终协议,拟将LED...
关键字:
cree
led照明