Debian 爱好者社区 为您找到相关结果 721

NVDIMM-P非易失内存标准公布:断电不丢数据、兼容DDR4

(DDR4可超过200GT/s),不怕断电,也不需要外接供电,但性能和DRAM仍然远不是一个级别。 NVDIMM-N混合使用DRAM、DRAM,在内存条上集成NAND闪存,外接电源供电,断电时将数据转移保存到NAND闪存中,新来电后恢复到DRAM,但闪存只是个备份,正常工作时闲置无法使用。 有消息称,紫光集团旗下西安紫光国芯也成功研发出了一看基于DDR4的NVDIMM-N。 NVDIMM-P则是以上二者的结合,三星主导DDR4版本,美光主导DDR5版本。 NVDIMM-H正在研发,美国Netlist公司主导,类似NVDIMM-N,也是DRAM、NAND混合体,但硬件结构差异较大。 - THE END - 转载请注明出处:快科技 #内存#DDR4 责任编辑:上方文Q...阅读全文

为什么使用 JavaScript 开发物联网?

嵌入式设备与JavaScript看似是来自两个不同世界的两个物种,八竿子都打不着。但是随着JavaScript 开疆扩土,从浏览器逆袭登陆到服务端之后又与物联网有了交集。 物联网的未来需要一门解释性语言 传统的嵌入式开发相对于WEB开发来说门槛高,碎片化严,平台复杂。C/C++性能高,对设备资源要求低,但是对开发者的要求高,开发效率低。 物联网与互联网、移动互联网的基因是相同的,大量的应用才能铸就生态的繁荣。而使用C/C++来开发应用是及其低效和昂贵的,纵观互联网、移动互联网,应用开发是解释性语言的天下。互联网的PHP、JavaScript,移动互联网的Java,JavaScript,而物联网还是使用C/C++。因此,物联网的未来需要一门解释性语言。 JavaScript是最好的选择 相...阅读全文

博文 2021-01-28 17:50:12 debian.cn

如何在一个U盘上安装多个Linux发行版

单击“安装发行版”选项并继续安装。在显示成功的安装消息之前,需要一些时间才能完成。 你现在可以在已安装部分中看到发行版了。对于另外的操作系统,复该过程。这是我安装 Ubuntu 16.10 和 Fedora 24 后的样子。 MultiBootSystem with Ubuntu and Fedora 步骤 6 下次通过 USB 启动时,我可以选择任何一个发行版。 Boot Menu 只要你的 U 盘允许,你可以添加任意数量的发行版。要删除发行版,请从列表中选择它,然后单击卸载发行版。 最后的话 MultiBootUSB 真的很便于在 U 盘上安装多个 Linux 发行版。只需点击几下,我就有两个我最喜欢的操作系统的工作盘了,我可以在任何系统上启动它们。 如果你在安装或使用...阅读全文

博文 2017-10-18 13:42:20 debian.cn

Linux Kernel 5.10本周末发布 十个功能盘点

Linux Kernel 5.10 有望在本周末发布,外媒 Phoronix 盘点了 10 个值得关注的改进和新功能。5.10 不仅是 2020 年最后一个内核版本,而且还是长期支持(LTS)版本。 Linux Kernel 5.10 合并窗口期在今年 10 月关闭,当时外媒 Phoronix 就发文概览了主要功能。而在 5.10 即将发布之际,外媒体再次盘点了 10 项比较有趣的功能: 1.AMD Zen 3 温度监控 AMD Zen 3 温度监控现在可以在支持 k10temp 驱动程序和其他持久 Zen 3 扩展的 Linux 上运行,这对操作至关要。Ryzen 5000 系列在 Linux 5.8-5.9 上运行良好,并且具备所有核心功能。 2.英特尔图形 在英特尔图形方面...阅读全文

博文 2020-12-09 10:30:48 debian.cn

三大亮点带你看 Linux 内核 5.6

当我们还在体验 Linux 5.5 稳定发行版带来更好的硬件支持时,Linux 5.6 已经来了。说实话,Linux 5.6 比 5.5 更令人兴奋。即使即将发布的 Ubuntu 20.04 LTS 发行版将自带 Linux 5.5,你也需要切实了解一下 Linux 5.6 内核为我们提供了什么。 我将在本文中点介绍 Linux 5.6 发布版中值得期待的关键更改和功能: Linux 5.6 功能亮点 当 Linux 5.6 有新消息时,我会努力更新这份功能列表。但现在让我们先看一下当前已知的内容: 1、支持 WireGuard WireGuard 将被添加到 Linux 5.6,出于各种原因的考虑它可能将取代 OpenVPN。如果你使用过它,那你可能已经知道它比 OpenVPN 更好的...阅读全文

博文 2020-02-07 11:13:09 debian.cn

Ubuntu 创始人爆粗口: 开源社区弥漫着“反社会人格”

Shuttleworth,请你不要让 Mir 死亡。(我理解在桌面端这可能是非常困难或许无法实现的,但是如果你未来想要进一步布局物联网,你就会发现它是非常实用的。) 随后 Shuttleworth 的回复并不令人感到愉快: Martin Kozub,我们拥有大量使用 Mir 作为合成器的物联网项目,因此代码将会接受更新。我也非常赞同,它是非常高效、简洁和强悍的图形合成引擎,聪明的人都非常的喜欢。 然而我由衷的讨厌 Mir 的存在,因为这是一款非常容易产生分歧的软件。就像是气候变化或者枪支管理一样,它会变成不合理的策略话题。无论你站在哪一方都释放出种族拥护的信号。在社区中部分软件的对立已经变成了非常严的问题,有些人会选择站在对立面怀着抱怨和讨厌的态度,而另一些人则站在了同一阵营,甘愿投入时间和精力并不断让软件变得...阅读全文

博文 2021-01-28 17:50:26 debian.cn

Qt5.9发布:如何评价QT

5月31号Qt正式发布了新版本5.9,声明修复了大量的bug(2000多个?),增加了大量的新特性,并且更稳定。这是2015年5.6版本之后的一个LTS(长期维护)版本。 意味着在3年标准支持期内将分阶段不断提供对此版本的修复与维护,即使也会有其他新版本发布。 个人认为新的长期项目的开发是值得尝试从5.9开始的,但近些年的几个5.x版本中还仍有大量p2甚至少量p1级别的bug没有修复,仍有不少早期版本稳定开发的开发者迟迟无法迁移到新版本。所以享用新特性和接受潜在的未知风险还需要根据项目的要求以及侧点进行权衡。 官方发布的新版本亮点的确不胜枚举。 比如Qt 3D,增强对 3D图像及动画的支持,更容易与Qt Quick相结合。 并支持多种3D几何格式的插件。 比如QML性能的提升,Qt...阅读全文

博文 2017-06-02 10:24:32 5.9的变化

Go 泛型草案更新,明年8月Go 1.17引入

机会,并了解两件主要的事。 首先,Go 泛型是否有意义,能给用户带去怎样的惊喜,错误提示消息是否有价值;其次,很多人曾说过需要 Go 泛型,但他们不一定确切知道这意味着什么,那么泛型的设计草案是否以有用的方式解决了此问题。另外,假如有一个问题让人认为“如果 Go 具有泛型,我就可以解决此问题”,那么使用此工具是否可以解决问题? 至于具体的推进计划,Go 团队表示要根据从社区收集的反馈而定。如果设计草案受到好评,并且不需要进行大更改,那么下一步将是正式的语言变更提案。 为了保证符合预期,如果每个人都对设计草案完全满意,并且不需要进行任何进一步的调整,则最早可以在计划于2021年8月发布的 Go 1.17 中添加泛型。不过可能存在无法预料的问题,所以这是一个乐观的时间表,团队也无法做出任何明确...阅读全文

博文 2020-06-23 07:40:34 debian.cn

OpenSSL 3.0 正式发布,更改许可协议并弃用所有低级别 API

经过 3 年的开发,17 个 alpha 版本,2 个 beta 版本,超过 7500 个提交,以及来自 350 位不同开发者的贡献,OpenSSL 3.0 终于正式发布了。OpenSSL 1.1.1 以来的主要变化主要版本开发者可以从这里下载 OpenSSL 3.0,并升级你的应用程序使之兼容。OpenSSL 3.0 是一个大版本升级,并不完全向后兼容以前的版本。大多数使用 OpenSSL 1.1.1 的应用程序仍然可以正常工作,只是需要新编译(可能会有关于使用废弃的 API 的编译警告)。还有一些不能完全兼容的应用可能需要进行修改才能正确编译和使用。如果应用程序需要利用 OpenSSL 3.0 中的一些新功能(例如 FIPS 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文

企业制定开源战略的免费指南

的战略文件战略方法关键考虑因素其他组成确定投资回报率投资目标 这里关键的第一步是创建和将你的开源策略形成文字,该策略将“帮助你最大限度地提高组织从开源中获得的利益。”同时,你详细的策略可以帮助你避免因错误而导致的困难,例如:选择错误的许可证或不正确地维护代码。根据指南,该文件还可以: 让领导者感到兴奋并参与帮助在公司内获得支持促进分散的多部门组织的决策帮助建立一个健康的社区解释贵公司的开源方式和对其使用的支持明确贵公司在社区驱动的外部研发中投资的地方,以及贵公司将点放在增值差异化的地方 Salesforce 的软件架构师兼本指南的撰稿人 Ian Varley 说:“在 Salesforce 内,我们有内部文件,我们将这些围绕开源战略指导和鼓励的文件分发给我们的工程团队。其中鼓励创建和使用开...阅读全文

博文 2018-12-17 13:05:32 debian.cn

Linux 进程 PID 编号最大为多少

文件的默认值32768,与早期内核的PID范围相同。 在32位系统中,32768是pid_max的最大值。64位系统,pid_max最大可达2^22。(PID_MAX_LIMIT,约4亿)。 到达极限的情况: 1、当 PID 达到上限后,内核会从 0 新开始寻找可用的 PID 并分配。 2、而所有 PID 均已被占用的话,则将抛出 fork failed: Resource temporarily unavailable 提问者所说的最大值应该只是发行版设置( CentOS 8.0 64 位上为 400w 左右)。通过上述Linux手册中的说明,我们也可以通过修改 /proc/sys/kernel/pid_max 的值来调整 pid 取值范围。 在 Debian 10 的机器上,这个文件的...阅读全文

博文 2021-01-12 11:47:15 debian.cn

Golang Context 探究

:= newCancelCtx(parent) // 构建父子上下文之间的关联,当父上下文被取消时,子上下文也会被取消 propagateCancel(parent, &c) return &c, func() { c.cancel(true, Canceled) } } 我们点看 propagateCancel 的实现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 func propagateCancel(parent Context, child canceler) { done := parent.Done() // 父...阅读全文

博文 2021-02-25 09:27:27 lxkaka

DPDK Graph Pipeline 框架简介与实现原理

libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻量级项目所用就变得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标量和向量包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向量包处理的框架。与传统的标量包处理模型(一系列函数负责处理一个数据包,复直到所有数据包处理完毕)相比,向量数据包处理...阅读全文

博文 2023-02-09 07:13:55 掘金

开源软件对于商业机构的6大好处

从根本上说,开源模式要由于专有模式,为什么这么说呢?下面总结了商业机构及政府机构可以从开源软件中获得的六大好处。 1、能更直观的选择供应商 在你投资工程和经济资源将产品整合到你的基础设施之前,需要确保产品的合格性:是否处于积极开发状态?是否有定期的漏洞修复和安全更新?产品是否能根据需求按时更新? 最后一点或许比你想象的还要要。解决方案必须满足产品需求。但需求会随市场及商业的变化而变化,如果产品不随之做出改变,未来就需要花费一笔不菲的迁移成本。 而在开源的世界里,你可以综合产品的发展速度以及社区的健康程度来比较供应商。一个更积极、更多元化的社区能在一两年后开发出更好的产品,这是一个关键的参考因素。当然,供应商必须要有能力解决在项目发展过程中出现的不稳定性问题。最后,还需要供应商具备较长的支...阅读全文

博文 2017-11-15 23:41:11 debian.cn

Debian目前面临的问题:钱足够但很缺人!

认为需提供更好的入门指南,以便于更多志愿者和维护者得以参与 Debian 项目开发中。 人员问题并非 Debian 独有。上个月,Linux 基金会成员 Sarah Novotny 也向 Register 提出了降低新内核开发人员门槛中的挑战。 另一个问题是新软件包会卡在 NEW 队列中等待核准。Carterh 说,“这是我们大家的一个痛点。很多软件包会卡顿很长时间”。今年早期,NEW 队列的规模达到了历史新高,通过团队努力到 7 月已大为削减。 Carter 说,项目本身正在不断改进,也需要做更多努力。团队正与联想商洽在其 OEM 笔记本上预装 Debian 系统,虽然 Carter 也明白,即便是 Debian 开发人员,大多也会在购买这样的笔记本后立刻卸载预装版本并装系统。团队认识到...阅读全文

博文 2020-10-09 10:24:04 debian.cn

你和 Linux 高手只差了一个 LFS

,LFS 绝对配得上称为一本好书,或者说一本好教材。市面上,很难再找到一本如此具体又如此精炼的教材了。 首先,它并不是只是讲讲简单概念,它很具体,具体到就是一个例子,一个告诉你怎么亲手构建出属于自己的 Linux 系统的例子。 其次,它很精炼,它的精炼表现在两个方面:系统构建出来不臃肿;文字描述很精炼。 最后还有一点,这一点至关要。尽管文字的描述非常精炼,甚至是精炼到枯燥,但是作为一本教材,作者无时无刻不再想尽办法,让你学到东西。无论是编译指令下方各个参数的介绍,还是软件包安装小节下方软件包内容的介绍,作者真的是想尽办法的试图把知识传递给读者。 LFS 没有缺点吗? 那自然是有的,可以原封不动的照抄上面的优点。辩证的看待这些优点,你就会发现这些优点是有代价的。 首先,由于这个例子过于生动形象,所...阅读全文

博文 2017-07-17 17:45:59 debian.cn

玩转 AWS 的必备工具

再用AWS的建立镜像工具转化成一个订制的AMI。那样手动式建立的AMI全过程一般用时费力不易配备,并且容易错误。因此 大家必须一个专用工具来自动化技术全部建立AMI的全过程,与此同时叙述建立AMI的编码能够储存而且根据再配备复使用,来很大地优化和管理方法AMI建立的全过程。 Packer就这样一个自动化技术建立AMI的专用工具。如下图所显示,Packer根据JSON文件模板来叙述一个建立AMI的全过程,如何配置AMI都由编码叙述。客户只需根据改动这一软件更新来随后实行一个简洁的指令来自动生成订制的AMI。那样订制AMI的全过程则能够直接进入版本号智能管理系统,便捷消费者查看和跟踪订制全过程的转变 。...阅读全文

玩转 AWS 的必备工具

AMI全过程一般用时费力不易配备,并且容易错误。因此 大家必须一个专用工具来自动化技术全部建立AMI的全过程,与此同时叙述建立AMI的编码能够储存而且根据再配备复使用,来很大地优化和管理方法AMI建立的全过程。 Packer就这样一个自动化技术建立AMI的专用工具。如下图所显示,Packer根据JSON文件模板来叙述一个建立AMI的全过程,如何配置AMI都由编码叙述。客户只需根据改动这一软件更新来随后实行一个简洁的指令来自动生成订制的AMI。那样订制AMI的全过程则能够直接进入版本号智能管理系统,便捷消费者查看和跟踪订制全过程的转变 。...阅读全文

深入学习golang — channel

goroutine的创建数量: func Serve(queue chan *Request) { for req := range queue { sem <- 1 go func() { process(req) // Buggy; see explanation below. <-sem }() } } 上面的代码看似简单清晰,但在go中,却有一个问题。Go语言中的循环变量每次迭代中是用的,更直接的说就是req在所有的子goroutine中是共享的,从变量的作用域角度来说,变量req对于所有的goroutine,是全局的。 这个问题属于语言实现的范畴,在C语言中,你不应该将一个局部变量传递给另外一个线程去处理。有很多解决方法,这里有一个讨论。从个人角度来说,我更倾向下面这种方式: func...阅读全文

博文 2021-01-25 12:39:17 博客园

六大算法之三:动态规划【转载】

->A4};……; {A1,A2,...,Ai}->Ai+1. 这种方式就是第二数学归纳法。对于Ai+1需要前面的所有前序状态才能完成推理过程。我们将这一模型称为高阶马尔科夫模型。对应的推理过程叫做“动态规划法”。 上述两种状态转移图如下图所示: 能用动规解决的问题的特点 能采用动态规划求解的问题的一般要具有3个性质: (1) 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。 (2) 无后效性:即某阶段状态一旦确定,就不受这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。 (3)有叠子问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。(该性质并不是动态规划适用的必要条件,但是如果没...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

深入理解Golang之context

:func WithValue(parent Context, key, val interface{}) Context { if key == nil { panic("nil key") } if !reflect.TypeOf(key).Comparable() { panic("key is not comparable") } return &valueCtx{parent, key, val} }这里添加键值对不是在原context结构体上直接添加,而是以此context作为父节点,新创建一个新的valueCtx子节点,将键值对添加在子节点上,由此形成一条context链。获取value的过程就是在这条context链上由尾部上前搜寻:cancelCtxcancelCtx结构体...阅读全文

博文 2021-01-27 09:05:27 知乎