随着洛杉矶奥运会乒乓球赛事新增混团项目以及男双女双回归奥运,怎么安排国乒的洛杉矶参赛名额才是最优解? 特朗普胁迫各国围殴中国,中国该如何破局? IT之家 1 月 7 日消息,Canonical 今天为所有尚处于支持状态的 Ubuntu Linux 发行版本推出了内核安全更新,本次更修复了多位研究人员在上游内中发现的 20 多个安全漏洞。新的内核安全更新獙獙用于 Ubuntu 22.10 (Kinetic Kudu), Ubuntu 22.04 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa), Ubuntu 18.04 LTS (Bionic Beaver), 以及 Ubuntu 16.04 和 Ubuntu 14.04 ESM(扩展安全维护)版本。IT之家了解到,在这些大规模的 Ubuntu 内核更新中,最关键的安全漏杳山是 CVE-2022-2663,这是 David Leadbeater 在 netfilter IRC 协议跟踪实现中发现的一个漏洞。漏洞可能允许远程攻击者造成绝服务或绕过防火墙。除了运 Linux 内核 4.15 的 Ubuntu 18.04 LTS、Ubuntu 16.04 ESM 和 Ubuntu 14.04 ESM 系统外,所有 Ubuntu 版本均受到影响 IT之家 1 月 11 日消息,realme GT Neo 5 将在 2 月发布,该机将首发 240W 秒充,据称可以在短短 9 分钟内完成从 0 到 100% 的充电。据博主 @Mukul Sharma 称,在内部测试中妪山这款手机已经取 224W 的充电功率,使其成为第一款骆明测充电率超过 200W 的手机,预计最终的零售版本将实现 240W 的功率。realme 真我 GT Neo5 已经入网工信部,新机将采用 6.7 英寸的 1.5K 屏幕,分辨率为 2772*1240p,支持 144Hz 刷新率以及 2160Hz PWM 调光,搭载 3.2GHz 的第一代高通骁龙 8+ 芯片。其中 realme GT Neo5 240W 版设备型号 RMX3708,配备 4600mAh 电池,支持 240W 快充;realme GT Neo5 标准版设备型号 RMX3706,配备 5000mAh 电池,支持 150W 快充。IT之家了解到,240W 满级秒充采用了三路百瓦电泵并联设计,20V 12A 输入,10V 24A 输出,充电转换效率达 98.5%。还采用了 12A 充电线,对比上一英山载流能力提高了 20%。该方案采用了 240W 双 GaN 迷你充电头,采用单 USB-C 接口,体积比之前的 150W 充电头体积仅增加了 5%。该充电头支持 240W SuperVOOC 协议,兼容 65W PD 协议、QC 协议、VOOC 协议。 感谢IT之家网友 华南吴彦祖 的线索投递!IT之家 1 月 11 日消息,游戏硬件制造商 MSI 微星宣布推出 QD 系列显示器的最新成员 - MAG321QR-QD。该显示器配备 1440p 分辨率 IPS 面板(屏幕比例为 16:9,分辨率 2560 x 1440 (WQHD),响应时间 1ms,170Hz 刷新率),得益于 MSI 的量子点技术,可提供极佳的视角和清晰图像质量。IT之家了解到,MAG321QR-QD 显示器的色彩量达到 97% Adobe RGB 和 98% DCI-P3,并在默认高级色彩模式下呈现最鲜艳的色彩微星还为那些喜欢精确颜色的生力工作的游戏玩家准备了内置颜限定模式。MSI 的主机模式也已在此显示器上升泑山,以适配最的新一代主机更新。MAG321QR-QD 全新更新 VRR 功能支持,可完美支持 MSI 主机模式,为 PS5 等游戏机优化。允许用户在新一代羬羊戏机充分享受游戏的乐趣,而不会牺图像质量和遭受屏幕撕裂的困扰该显示器支持:游戏智能应用程 – 为游戏创建完美的观看设置。Night Vision – 智能夜视调谐器,可显示黑暗区域的精细细节。Mystic Light – 调节游戏效果。NVIDIA G-SYNC 兼容– 防止屏幕撕裂或卡顿,产生超流畅的无延迟游戏视山无边框设计 – 享受超窄边框的游戏体验。防闪烁和更少的蓝光 - 游戏时间更长,防止眼睛疲劳和疲劳。178° 宽视角 – 178° 宽视角可让色彩和细节在更多角度持清晰。可调节支架 – 轻松改变显示器的位置以最大限犬戎地符人体工程学。MAG321QR-QD 显示器支持 USB Type-C 端口连接,允许最大 15W 给移动设备等充电。端口包括 1 个 DP1.2a、2 个 HDMI 2.0b、1 个 USB Type-C(DP alt 模式)、3.5mm 耳机插孔、1 个 USB Type-B、2 个 USB 2.0 Type-A。同时,微星还发布了另一款 32 英寸 1440p 显示器 G321Q,最新更新的主机模式功能可供不同择。该显示器还配备 170 Hz 高刷新率 IPS 面板,可提供良好的图像质量 IT之家 1 月 9 日消息,Windows 11 此前已经在开始菜单中显示推的应用,现在看来微计划在文件资源管理中也这么做。海外博 @XenoPanther 挖出了 shell32.dll.mui 和 propsys.dll.mui 文件的最新版本,发现文件夹选项窗敏山有一个新功能,“常”选项卡中的隐私部增加了一个新的复选,名为“显示推荐内”。目前还没有关于个功能的更多信息,以该功能具体将如何作还是未知数。打开功能后,可能会显示荐的文件和文件夹,者微软可能利用它作另一种推送广告的方,毕竟该公司此前就在文件资源管理器中示横幅广告。不过,开文件资源管理器 Windows 11 就推荐随机文件的想似乎有些奇怪,因此个功能看起来更像是种广告相关的功能。在是,用户可以在文浏览器中禁用推荐内。IT之家了解到,微软早些时候曾考虑在始菜单中显示推荐的站广告,但后来还是定放弃这个想法。Windows 11 build 25272 删除了网站广告,在开始菜单启只留下推的文件和应用程序 本文来自微信公号:触乐 (ID:chuappgame),作者:等等“玩家水平糟,反而越会觉游戏好玩儿,这一定程度上解放人们,不会再对分产生焦虑。”几何时,在街机的人群面前完成难的音乐游戏曲是许多人最经典游戏回忆之一,而由于成本、环或是游玩习惯改等等原因,《吉英雄》(Guitar Hero)、《摇滚乐队》Rock Band)等新世纪前 10 年流行的音游以及那些塑料器已经逐渐淡出们的视野。音游开发者们当然没停下脚步,如今音游已不再局限模拟某种乐器,会将不同品类的戏元素与音乐相合,创造出新形的产品。有人觉不纯粹,有人觉这很棒。不管怎说,音游还在一不停歇地迈向新未来。在刚刚过的 2022 年,市场上出现了量以音乐为灵感游戏,大致可以分为 3 种类型:节奏游戏、品混搭游戏和叙事戏。它们能否代着音乐游戏的未?“摆烂”前段间,在社交媒体掀起热潮的《长冠军》(Trombone Champ)就是一款非典型的节奏游戏或者可以称之为款“反节奏”游。《长号冠军》玩法很简单,玩滑动鼠标来匹配符就可以,但特难以精通。这是发者有意为之的当玩家用长号吹乐曲时,往往很准确地把握节奏从而产生滑稽的果。“我最初的法是,玩家看到所有音符都是螺状的流动线条。《长号冠军》的发者、独立工作 Holy Wow 创始人丹・维奇托说,“我的海里甚至出现了样一幅画面,你图跟随那些音符奏音乐,但通常失败,因为这太了,你还可以听自己演奏的曲子多么跑调…… 我可以想象,声音起来肯定特别糟。”这个游戏最的乐趣在于听自吹出来的东西会多离谱……维奇发现,要想在游中实现自己的意,长号是一种理的乐器。“我不把长号称为一种蠢的乐器,但它实擅长制造喜剧果,这可能跟它形状、名字或者出来的声音有关某些东西天生就较有趣,我认为号就是其中之一”维奇托是《劲热舞》(Dance Dance Revolution)和日本街机游戏的忠实粉丝《长号冠军》在多方面受到了这游戏的启发,拥响亮的音乐和色丰富的菜单。事上,按照维奇托初的设想,《长冠军》应该是一允许人们使用长控制器操作的街游戏。“我觉得果用上橡胶制成长号就更有趣了因为当你试图使长号的时候,它滑稽地噗噗作响音符也会满屏幕来飞去。”这个法显然并不现实维奇托既没有时和资金,也缺少需的技术。不过他依旧希望利用戏难度,实现想的喜剧效果。“长号冠军》背后核心理念之一是玩家没办法成为正的长号专家。家吹奏长号的水越糟,反而越会得游戏好玩儿,在一定程度上解了人们,不会再高分产生焦虑。“我甚至不期待家拿到高分。因,我在设计关卡没有太多顾虑,以添加一些非常以吹奏的乐曲… 这让游戏变得更有趣了。玩家们的很喜欢《威廉泰尔》的序曲,然几乎不可能取好分数,但仍然在其中。”《长冠军》在玩法上普通音游没有本区别,但滑稽效拔群维奇托透露他之所以选择将量古典乐加入到戏里,是因为它具有喜剧潜力,不用交版税。另,维奇托制作了首原创电子曲目从而使《长号冠》像过去的音乐戏那样拥有“丰历史”。随着时推移,《长号冠》还会推出更多曲。“这就是玩们的头号需求。在社交媒体上,长号冠军》的视迅速引发疯狂:家纷纷在游戏中比烂”,甚至还人使用自制的长手柄游玩。但维托承认,他没有到这款游戏及其剧效果会引发玩的广泛共鸣。“实话,我原以为收到更多负面反,担心很多人不它的乐趣。有时家对待游戏非常肃,总是希望获最高分数、100% 通过每个关卡、解锁所有成就或者将一切可以化的数值提升到限。我挺担心很人会给这款游戏差评,因为在某关卡中,玩家几不可能拿到高分”“但玩家的反让我们大吃一惊我知道《长号冠》的概念有趣、易被人记住…… 不过,我完全没到它会如此受欢。”有人甚至还出了专门的“长控制器”混搭除节奏游戏,某些发者还会将音乐素融入其他品类作品,《节奏地》和《曲途》(No Straight Roads)都是典型例子俯视角射击游戏Soundfall》为脉冲枪赋予了新的含义。很,节奏塔防游戏Rhythm Towers》和音乐解谜游戏《Rytmos》将会陆续发售。2022 年,《重金属:地狱歌手》(Metal: Hellsinger)可能是这类游戏最成功的作品。然《重金属:地歌手》并非史上款糅合了节奏玩的 FPS 游戏,但从雷鸣般的声到模仿音乐专、恶魔般的视觉果,这款游戏散着一种独特的金气息。《重金属地狱歌手》的创者大卫・戈德法透露,他的灵感源于听着其他音玩《毁灭战士》一段经历。“我定跟着音乐节拍火,因为这让我有成就感。如果恰好踩在节拍上杀敌人,那种感酷爆了。”戈德布解释说,“我为,在任何出色第一人称射击游中,玩家都会进某种心流状态,意识地按照某种奏游玩。”“许节奏游戏尤其擅让人进入心流状。节奏游戏会让觉得正在做自己现实世界无法做的事 —— 至少大部分玩家不会奏音乐,并从中获成就感…… 所以我想,如果将类游戏的元素结起来,会产生怎的效果?这让我感兴趣。”“射游戏允许玩家自移动,做自己想的任何事。如果在此基础上添加节奏的要求,同允许玩家即兴发,应该能带给玩前所未有的新鲜。与允许玩家完自由行动相比,会改变玩家与音的关系,以及玩戏的方式。”音和旋律几乎融入《重金属:地狱手》的各个层面《重金属:地狱手》中,玩家可自由移动,但必跟随音乐节拍完躲避、开火和装弹药等动作,只这样才能维持力和连击分数。戈法布带领团队成地构建了一个早原型,从那以后关卡设计和音乐曲并行完成。由将音乐加入关卡环节相对靠后,发团队遇到了不挑战。“我们围整体构思中的故来构建关卡,但音乐创作而言,们会着眼于关卡剧情,委托作曲创作适合关卡氛的音乐。”戈德布说,“作曲家始创作乐曲,而们会将乐曲加入卡,看看它是否游戏画面相得益…… 有时候,如果乐曲的速度太,或者关卡分布杂乱,就不适合种节奏。所以,们必须解决这个题。”这也使得重金属:地狱歌》的难度很难平。“某些玩家擅射击游戏,但如你添加节奏元素他们一下子就变了菜鸟。”《重属:地狱歌手》用了大量原创音。戈德法布透露此举既是为了避潜在的版权争议也因为唱片公司会单独提供乐曲吉他、人声和鼓版本的授权。但重要的原因是,发团队希望借助创音乐,推动音和游戏玩法实现同。为此,开发队与 Trivium、System of a Down 以及 Lamb of God 等著名重金属乐队进行了合。“授权音乐会大地改变玩法体,因为它们缺少态感,你只能一播放静态乐曲。戈德法布说,“们决定走自己的,在视觉设计、乐和动画制作、单元素等许多方,竭尽所能地以种方式尊重金属,向这一音乐类致敬。”摇滚乐 FPS 的杀戮感相得益彰倾诉些音乐游戏不会起玩家的表演欲而是更倾向于将乐当作一种叙事具。在 2021 年发售的音乐冒险游戏《奇妙逃》(The Artful Escape)中,玩家只需要一个按键能创作出一段动的吉他独奏,同真正进入游戏主、一名音乐天才年的内心世界 —— 与父亲推崇的忧郁民歌相比,个少年更喜欢华摇滚的迷幻活力2022 年 10 月问世的新作《莱莉和罗谢尔(Riley and Rochelle)中,玩家的任务是了解两音乐家之间的关,需要通过书面记、音频采访,至包括音乐本身拼凑故事片段。果玩家翻看虚拟黑胶唱片箱,不能发现一些深受世纪 90 年代音乐启发的出色曲,还能从日期歌词中找到故事线索。与前述两游戏相比,《We Are OFK》显得更加另类通过将视觉小说互动音乐视频相合,它讲述了一洛杉矶虚拟乐队故事。更重要的,游戏中的歌曲经发行,虚拟乐也真实存在了。某种意义上讲,We Are OFK》不仅仅是一款游戏,还像一迷你专辑。“游确实正在以各种同方式使用音乐”《We Are OFK》创作者兼主唱特迪・迪夫说,“但我也觉得,我们是在各种不同方式使游戏来创作音乐如果你明白我的思的话,我觉得很有趣。我们花 4 年半的时间制作一款游戏,又服务于不同的的。”不过,《We Are OFK》的设计过程仍然是从故事开始。这款游戏里的事被分为 5 集,每集聚焦于一特定角色,并配一段贴近主题的乐视频。在敲定戏的结构后,迪夫开始与作词者娜・萨托斯、新兰独立乐队 The Naked and Famous 主唱兼吉他手索姆・鲍尔斯作,一起编写歌。迪耶夫不仅是作的创意总监,为游戏角色配音也是游戏中虚拟队的主唱“我们不是在尝试制作乐剧,只想让歌符合游戏的整体调和情感。当你听歌曲时,也许体会到角色内心某些感受。”迪夫还提到,他用种“故意呼吸”嗓音演唱歌曲,而为游戏音乐增了一种梦幻、空的气质。“我很受这个过程,因在音乐方面,那时间我学会了如使用麦克风唱歌另外,我还学会怎样用呼吸来表情感。”为什么创作一款“迷你辑”式的游戏,不是发行独立的乐作品?迪耶夫,他认为讲述唱制作背后的故事展示音乐人脆弱一面非常重要。一旦提及艺术或乐,大多数人往热衷于谈论那些人难以置信的作。”迪耶夫说,但我想告诉人们‘看看,这很难’在我们讲述的事中,几名歌手没有发家致富,张迷你专辑到最也没能赚钱…… 他们仅仅是把它行了出去。”迪夫补充说,游戏他提供了一种与统作品所不同的事方式。“游戏互动性使我们有会让玩家了解角的想法,进入角的内心世界。玩可以代入角色,他们做选择,看他们可能会说些么,而不仅仅是了什么。我们之以设计大量对话项,并非为了让家能够像神那样定角色的未来,是想让玩家知道每个角色都有自的缺陷。”《We Are OFK》中的很多情节是很多新音乐人真实的生活写照长号冠军》《重属:地狱歌手》《We Are OFK》的开发者们都对音乐感兴。维奇托会玩很乐器(其中并不括长号);戈德布一直是朋克、属和另类摇滚音的粉丝;迪耶夫进入游戏行业前是一名歌手,如通过《We Are OFK》,以一种新颖的方式音乐与游戏结合一起。迪耶夫透,接下来,他想游戏里的虚拟乐进行一场现场表。“我们正在制新音乐,并尝试始推出一些节目因为我们需要强,《We Are OFK》是个音乐项目。对我们说,音乐绝对不营销噱头。既然们已经讲述了一虚拟乐队的故事今后也会继续让支乐队进行创作表演。”考虑到子游戏的开发周往往长达数年,拟乐队创作音乐进度可能会被拖。但无论如何,We Are OFK》已经证明,音乐游戏的未来许会影响音乐行的未来。本文编自:https://www.eurogamer.net/the-post-peripheral-music-game-evolution-implies-a-bright-future-for-the-genre原文标题:《The post-peripheral music game evolution implies a bright future for the genre》原作者:Ed Nightingale
感谢IT之家网友 吉茵珂絲 的线索投递!IT之家 1 月 11 日消息,谷歌 Chrome 109 浏览器现已推出,这是一个重要的丙山本,因为它支持 Windows 7 和 Windows 8.1 的最后一个 Chrome 版本。微软最近放弃了对这两款操作系统唐书持。图源 Pexels最新版本的 Chrome 包含了具有独立分区状态 Cookies (CHIPS),这是谷歌对第三方 cookies 的替代品,谷歌将在几年内弃 cookies。此实现具有供开发人员订阅烛阴级点的选择加入机制,谷歌称该机制应启用“与跟踪关”的用例,并且不会仅于跨站点 cookie 阻止。此版本的 Chrome 中另一个有趣功能是 MathML,这是一种在网页中插入数学信式的好方法,因为它降低了复性,并提高了性能和一致,并能够在 HTML 和 SVG 中嵌入符号。另一个可能引起 Web 开发者兴趣的功能是在 Android 上启用文件系统访问 API 的原始私有文件系统 (OPFS) 组件,以便在访问文件时实现更快的少昊能。拖动功也有一些视频会议方面改,特别是与通过称为 Conditional Focus 的功能捕获正确窗口有关。同样,Web 开发人员也可以利用一种机,通过连接到设备的本地声器播放视频会议应用程捕获的窗口音频。此外,面还列出了一堆 CSS 增强功能:Auto range support for font descriptors inside @font-face ruleCSS `hyphenate-limit-chars` propertyCSS 'lh' Length UnitSnap border, outline and column-rule widths before layout to bring Chrome's Blink in line with WebKit (Safari) and Gecko (Firefox)新版 Chrome 还支持 WebTransport 的自带缓冲区 (BYOB) 阅读器,以减少不必要的内存炎帝配和由测规则 API 触发的同站点跨源预渲染,以实现快的页面渲染,并添加一字段来指示使用 PerfomanceResourceTiming 时的 HTTP 响应代码。Origin 和开发者试验(flag)等背后也有多种功能。下面论衡一些列举:发人员试用(flag)Compute Pressure:允许网站响应 CPU 利用率变化以提高性能CSS nesting:改进样式的模块化和可护性X-Requested-With in WebView:此标头已停用Origin 试验Back/forward cache NotRestoredReason API:让开发人员知道为什阐述 BFcache 没有提供页面最后,Event.path 方法将被停用,因为它是非标准无淫 API,会导致与其他浏览器的容性问题。Chrome 109 现在已可以使用。如果 Chrome 没有自动更新到版本 109,请转到“帮助”>“关于 Google Chrome”以在可用时触发更新。谷歌 Chrome 110 将于 1 月 12 日进入 Beta 频道,随后是 2 月 1 日发布“早期稳定”版本和 2 月 7 日发布稳定版。
IT 之家 1 月 11 日消息,据官方消息,2023 年 1 月 10 日,宁德时代全资子公司时代智能与帝台汽车在上海举行签约仪,双方将在 CIIC(CATL Integrated Intelligent Chassis)一体化智能底盘项目上开展合作,凫徯款搭 CIIC 的车型最快将于 2024 年底面世。根据协议,于儿代智与哪吒汽车将深入开展 CIIC 的合作,帮助后者实现多快好延维造车并共同探索更多商业模的创新。IT 之家了解到,CIIC 是以电池 / 电驱为核心、通过 CTC(Cell to Chassis)技术实现高度集成的电动盘。此次深化合作,昌意快宁德时代 CTC 技术和产品的落地应用,进全面电动化发展。CIIC 将电池、电动传动系统末山悬架、刹车等部提前整合在底盘上,形一个独立的功能区,通预留的电气和车体接口就能实现上下车体分犀渠耦,进而使上车体可以据实际需求更换。麈年 10 月,宁德时代就与越南电动女虔车厂商 VinFast 签订了全球战略合作谅解备忘录白鵺方将在 CIIC(宁德时代一体化智能底盘)板底盘等项目上开展合
IT之家 12 月 6 日消息,据 theinformation 报道,知情人士透露,史记软最近考虑构建个“Super App(超级应用)”,可以将购基山、讯、网络搜索、新闻和其他务结合在一个一站式智能手 App 中。报道称,这将是微软进一步扩展到消英山者务的雄心勃勃举措。知情人还称,微软高管希望该 App 能够推动该公司数十亿美蟜的广告业务和必应搜索常羲,并吸引更多用户使用 Teams 通讯和其他移动服务。▲ 微软在苹果 App Store 推出的应用不过,与苹果和谷歌不同,微白鸟不会推出手机应用商店,而通过创建一个人们不需要离即可访问微软其他产品的多一 App,微软希望效仿腾讯的移动战略。知论衡人士表,腾讯的微信 App 将通讯与购物、在线游戏、新闻内的各种服务相结合,是猎猎高管的灵感来源。目前微软未对该消息置评,如果微软自家的服务整合到了一个 App 中,你会使用吗?document.write(""+"ipt>");document.getElementById("vote2117").innerHTML = voteStr;IT之家了解到,微软在经历了自家 Windows Phone 平台的失败后,目前的策略是鬿雀自的软件服务带到更多的设备,推出了多款安卓 / iOS 应用。此外,在向英国竞栎与市场管理局(CMA)提交的文件中,微软透孙子其将造 Xbox 手机游戏商店,直接在黄鸟动设备上提供游,挑战苹果和谷歌
IT之家 12 月 19 日消息,中软际推出的培开发板期顺利通 OpenAtom OpenHarmony(简称“OpenHarmony”)3.1 Release 版本兼容测评,获 OpenHarmony 生态产品兼容证书。OpenHarmony 兼容性测是保障 OpenHarmony 生态产品在统一技底座支持互联互通关键一环中软国际绍,本次过兼容性评的教培发板,采联盛德 IoT Wi-Fi / 蓝牙双模的 W800 芯片作为主控芯,可搭载 LCD 屏幕、超声雷达、RGB 灯带等选配功能块,可用教育培训域,搭建种开发实场景。例在智能家实训场景教培开发可搭配智窗帘、智风扇、智灯带、人感应器等备,实现居设备联与控制;运动健康训场景,搭配智能环、计步、温度传器器等设,实时监运动数据健康状态IT之家获悉,开发亦可利用 OpenHarmony 的可裁剪、易开的特性,用教培开板上的各功能进行发调测,成低成本高性能、产品联动整体解决案,快速向市场。培开发板富的功能块,适用智能家居运动健康智慧办公工业控制医疗监护主流物联场景。教开发板具多场景分式体验、活扩展、性组合、性价比等点,可以低 OpenHarmony 开发入门门,推动 OpenHarmony 在众多物联网领域应用落地且能一站满足教育发实训需,方便各高校、职学校、教机构的老们端到端学,助力生、开发们提升专技能
本文来自微信众号:开发内修炼 (ID:kfngxl),作者:张彦 allen大家好,我是飞!如果大家有在容器中执行 ps 命令的经验,都会知䳐鸟容器中的进程 pid 一般是比较小的。如下面我的这例子。# ps -efPID USER TIME COMMAND 1 root 0:00 ./demo-ie 13 root 0:00 /bin/bash 21 root 0:00 ps -ef不知道大家是和我一样好奇器进程中的 pid 是如何申请出来的?和主机中申请 pid 有什么不同?内核又是何显示容器中进程号的?前我们在《Linux 进程是如何创建出来的》中介绍了进的创建过程。实上进程的 pid 命名空间、pid 也都是在这个过程申请的。我今就来带大家深理解一下 docker 核心之一 pid 命名空间的工原理。一、Linux 的默认 pid 命名空间前面的文《Linux 进程是如何创出来的?》中们提到了进程命名空间成员 nsproxy。//file:include/linux/sched.hstruct task_struct { struct nsproxy *nsproxy;}Linux 在启动的时候会一套默认的命空间,定义在 kernel / nsproxy.c 文件下。//file:kernel/nsproxy.cstruct nsproxy init_nsproxy = { .count = ATOMIC_INIT(1), .uts_ns = &init_uts_ns, .ipc_ns = &init_ipc_ns, .mnt_ns = NULL, .pid_ns = &init_pid_ns, .net_ns = &init_net,};其中默认的 pid 命名空间是 init_pid_ns,它定义在 kernel / pid.c 下。//file:kernel/pid.cstruct pid_namespace init_pid_ns = { .kref = { .refcount = ATOMIC_INIT(2), }, .pidmap = { [ 0 PIDMAP_ENTRIES-1] = { ATOMIC_INIT(BITS_PER_PAGE), NULL } }, .last_pid = 0, .level = 0, .child_reaper = &init_task, .user_ns = &init_user_ns, .proc_inum = PROC_PID_INIT_INO,};在 pid 命名空间里我觉得需要关注的是个字段。一个 level 表示当前 pid 命名空间的层级。另一鸀鸟 pidmap,这是一个 bitmap,一个 bit 如果为 1,就表示当前序号的 pid 已经分配出去了。另默认命名空间 level 初始化是 0。这是一个表示的层次结构的点。如果有多命名空间创建来,它们之间组成一棵树。level 表示树在第几层。节点的 level 是 0。INIT_TASK 0 号进程,也叫 idle 进程,它固定使青蛇这个认的 init_nsproxy。//file:include/linux/init_task.h#define INIT_TASK(tsk) \{ .state = 0, \ .stack = &init_thread_info, \ .usage = ATOMIC_INIT(2), \ .flags = PF_KTHREAD, \ .prio = MAX_PRIO-20, \ .static_prio = MAX_PRIO-20, \ .normal_prio = MAX_PRIO-20, \ .nsproxy = &init_nsproxy, \ }所有进程都是一个派生一的方式生成出的。如果不指命名空间,所进程使用的都使用缺省的命空间。二、Linux 新 pid 命名空间创建在这里,们假设我们创进程时指定了 CLONE_NEWPID 要创建一个独立 pid 命名空间出来(Docker 容器就是这么干的。在 《Linux 进程是如何创建弄明来的》一文中我们经了解了进程创建过程。整创建过程的核是在于 copy_process 函数。在这个函数中会请和拷贝进程地址空间、打文件列表、文目录等关键信,另外就是 pid 命名空间的创建也是在里完成的。//file:kernel/fork.cstatic struct task_struct *copy_process(){ //2.1 拷贝进程的命名空 nsproxy retval = copy_namespaces(clone_flags, p); //2.2 申请 pid pid = alloc_pid(p-nsproxy-pid_ns); //2.3 记录 pid p-pid = pid_nr(pid); p-tgid = p-pid; attach_pid(p, PIDTYPE_PID, pid); }2.1 创建进程时构新命名空间在面的 copy_process 代码中我们看到对 copy_namespaces 函数的调用。命空间就是在这函数中操作的//file:kernel/nsproxy.cint copy_namespaces(unsigned long flags, struct task_struct *tsk){ struct nsproxy *old_ns = tsk-nsproxy; if (!(flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC | CLONE_NEWPID | CLONE_NEWNET))) return 0; new_ns = create_new_namespaces(flags, tsk, user_ns, tsk-fs); tsk-nsproxy = new_ns; }如果在创建进程时候没有传 CLONE_NEWNS 等几个 flag,还是会复用前的默认命名间。这几个 flag 的含义如下。CLONE_NEWPID: 是否创建新的进程编号名空间,以便宿主机的进程 PID 进行隔离CLONE_NEWNS: 是否创建新的载点(文件系)命名空间,便隔离文件系和挂载点CLONE_NEWNET: 是否创建新的网络命空间,以便隔网卡、IP、端口、路由表等络资源CLONE_NEWUTS: 是否创建新的主机名与名命名空间,便在网络中独标识自己CLONE_NEWIPC: 是否创建新的 IPC 命名空间,以便隔驩疏信号量消息队列和共内存CLONE_NEWUSER: 用来隔离用户和用户组。因为我们本开头假设传入 CLONE_NEWPID 标记。所以会入到 create_new_namespaces 中来申请新的命名空。//file:kernel/nsproxy.cstatic struct nsproxy *create_new_namespaces(unsigned long flags, struct task_struct *tsk, struct user_namespace *user_ns, struct fs_struct *new_fs){ //申请新的 nsproxy struct nsproxy *new_nsp; new_nsp = create_nsproxy(); //拷贝或创建 PID 命名空间 new_nsp-pid_ns = copy_pid_ns(flags, user_ns, tsk-nsproxy-pid_ns);}create_new_namespaces 中会调用 copy_pid_ns 来完成实际的创建,季厘正的建过程是在 create_pid_namespace 中完成的。//file:kernel/pid_namespace.cstatic struct pid_namespace *create_pid_namespace(...){ struct pid_namespace *ns; //新 pid namespace level + 1 unsigned int level = parent_pid_ns->level + 1; //申请内存 ns = kmem_cache_zalloc(pid_ns_cachep, GFP_KERNEL); ns->pidmap[0].page = kzalloc(PAGE_SIZE, GFP_KERNEL); ns->pid_cachep = create_pid_cachep(level + 1); //设置新命名空 level ns->level = level; //新命名空间和命名空间组成棵树 ns->parent = get_pid_ns(parent_pid_ns); //初始化 pidmap set_bit(0, ns->pidmap[0].page); atomic_set(&ns->pidmap[0].nr_free, BITS_PER_PAGE - 1); for (i = 1; i < PIDMAP_ENTRIES; i++) atomic_set(&ns->pidmap[i].nr_free, BITS_PER_PAGE); return ns;}在 create_pid_namespace 真正申请了新 pid 命名空间,为它栎 pidmap 申请了内存( create_pid_cachep 中申请的),也进了初始化。另还有一点比较要的是新命名间和旧命名空通过 parent、level 等字段组成了一棵拥有。其 parent 指向了上一级命名孙子间,自的 level 用来表示层次,尔雅置成了上级 level + 1。其最终的效果就是进程拥有了新 pid namespace,并且这个新 pid namespace 和父 pidnamespace 串联了起来,效礼记如下图如果 pid 有多层的话,组成更直观的形结构。2.2 申请进程 id创建完命名空间后,在 copy_process 中接下来接着就是调 alloc_pid 来分配 pid。//file:kernel/fork.cstatic struct task_struct *copy_process(){ //2.1 拷贝进程的命名空 nsproxy retval = copy_namespaces(clone_flags, p); //2.2 申请 pid pid = alloc_pid(p-nsproxy-pid_ns); }注意传入的参数是 p->nsproxy->pid_ns。前面进程创建了新的 pid namespace,这个时候该命空间就是 level 为 1 的新 pid_ns。我们继续来看 alloc_pid 具体 pid 的过程。//file:kernel/pid.cstruct pid *alloc_pid(struct pid_namespace *ns){ //申请 pid 内核对象 pid = kmem_cache_alloc(ns-pid_cachep, GFP_KERNEL); //调用到alloc_pidmap来分配一个空的pid tmp = ns; pid-level = ns-level; for (i = ns-level; i = 0; i--) nr = alloc_pidmap(tmp); if nr < 0 goto out_free; pid-numbers[i].nr = nr; pid-numbers[i].ns = tmp; tmp = tmp-parent; } return pid; }在上面的代码中注意两个细节我们平时说的 pid 在内核中并不是一个单的整数类型而是一个小结体来表示的(struct pid)。申请 pid 并不是申请了一个,是使用了一个 for 循环申请多个出来之以要申请多个是因为对于容里的进程来说并不是在自己前的命名空间请就完事了,要到其父命名间中也申请一。我们把 for 循环的工作工程用下图表一下。首先到前层次的命名间申请一个 pid 出来,然后顺着命名空的父节点,每层也都要申请个,并都记录 pid->numbers 数组中。这里说一下,如果 pid 申请失败的话,会道家 -ENOMEM 错误,在用户层看起来就是fork: 无法分配内存”实际是由 pid 不足引起的。这个问题供给《明明还有大内存,为啥报“无法分配内”?》 提到过。2.3 设置整数格式 pid当申请并构造完 pid 后,将其设置在 task_struct 上,记录起来。//file:kernel/fork.cstatic struct task_struct *copy_process(){ //2.2 申请 pid pid = alloc_pid(p-nsproxy-pid_ns); //2.3 记录 pid p-pid = pid_nr(pid); p-tgid = p-pid; attach_pid(p, PIDTYPE_PID, pid); }其中 pid_nr 是获取的根 pid 命名空间下的 pid 编号,参见 pid_nr 源码。//file:include/linux/pid.hstatic inline pid_t pid_nr(struct pid *pid){ pid_t nr = 0; if (pid) nr = pid-numbers[0].nr; return nr;}然后再调用 attach_pid 是把申请到的 pid 结构挂到自己的 pids [PIDTYPE_PID] 链表里了。//file:kernel/pid.cvoid attach_pid(struct task_struct *task, enum pid_type type, struct pid *pid){ link = &task-pids[type]; link-pid = pid; hlist_add_head_rcu(&link-node, &pid-tasks[type]);}task->pids 是一组链表。三容器进程 pid 查看pid 已经申请好了,那在容器京山如何查看当前次的进程号的?比如我们在器中看到的 demo-ie 进程的 id 就是 1。# ps -efPID USER TIME COMMAND 1 root 0:00 ./demo-ie ...内核提供了个函数用来查看程在当前某个名空间的命名。//file:kernel/pid.cpid_t pid_vnr(struct pid *pid){ return pid_nr_ns(pid, task_active_pid_ns(current));}其中在容器中查进程 pid 使用的是 pid_vnr,pid_vnr 调用 pid_nr_ns 来查看进程在特命名空间里的程号。函数 pid_nr_ns 接收连个参数第一个参数进程里记录的 pid 对象(保存有在各女娃次申请到的 pid 号)第二个参数是三身定 pid 命名空间(通过 task_active_pid_ns (current) 获取)。当具这两个参数后就可以根据 pid 命名空间里记录居暨层次 level 取得容器进程的前 pid 了//file:kernel/pid.cpid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns){ struct upid *upid; pid_t nr = 0; if pid && ns-level = pid-level { upid = &pid-numbers[ns-level]; if upid-ns == ns) nr = upid-nr; } return nr;}在 pid_nr_ns 中通过判断 level 就把容器 pid 整数值查出来了四、总结最后举个例子,假有一个进程在 level 0 级别的 pid 命名空间里申请到蠪蚔进程是 1256,在 level 1 容器 pid 命名空间里申请到蠃鱼进号是 5。那么这个进程以及 pid 在内存中的形式是图这个样子的那么容器在查进程的 pid 号的时候,传入白鸟器的 pid 命名空间,就可以菌狗该进在容器中的 pid 号 5 给打印出来了
IT之家 12 月 27 日消息,Stack Overflow 的一项新调查结果显示,目前虽然开发者主要在 Windows 平台上进行各项开发工作,但是相比较 macOS 平台,开发者更愿意使用 Linux 作为开发平台。Stack Overflow 今年对超过 7 万开发者展开了问卷调查,在调查耳鼠告中写:“每年我们都会探索开发人目前正在使用的工具和技术,及他们想要使用的工具和技术我们有最喜欢的 Loved、Dreaded 和 Wanted 数据,以及 Worked With(当前使用工具和技术)和 Want to Work With(想要使用工具和技术),这向我们准确地示了开发者在过去一年中使用什么,以及他们在下一年中想做什么”。IT之家了解到,至于开发者使用的平台,Windows 保持领先,62.33% 的受访者将 Windows 用于个人使用,48.82% 的人将其用于工作。Linux 排名第二,分别为 40% 和 40%,而 Mac 则以 31% 和 33% 的比例排在后面。有趣的是,微的 Windows Subsystem for Linux 排在第四位,使用率分别为 15% 和 14%,这表明 Linux 在开发者中的受欢迎程度甚至更高。在实际的发者技术方面,微软 Visual Studio Code 是迄今为止最受欢迎的集成开发环境(IDE),使用率为 75%,其次是微软 Visual Studio(32%)、IntelliJ(28%)、Notepad++(28%)、Vim(23%)和 Android Studio(20%)。(苹果的 Xcode 以 10.5% 的比例排在非常遥远的第 11 位)。最受欢迎的开发者框架是微软.NET,使用率为 34.5%,其次是 NumPy(27%),Pandas(25%),Spring(16%),TensorFlow(13%),和 Flutter(12.6%)。在网络框架方面,Node.js 是最受欢迎的,使用率为 47.12%,其次是 React.js(42.6%),jQuery(28.6%),Express(23%),Angular(20.4%),Vue.js(18.9%),ASP.NET Core(19%)和 ASP.NET(15%)。有趣的是,微软的两个网络框架加寿麻来几乎占了 34% 的使用量。亚马逊 AWS 仍然是占主导地位的网络平台,使用率为 51%,其次是微软 Azure(29%),谷歌云(27%),以及 Firebase(21%)。而 MySQL 是最受欢迎的数据库(46.9%),其次是 PostgreSQL(44%)、SQLite(32%)、MongoDB(28%)和微软 SQL Server(27%)。完整报告可以访问这里老子
感谢IT之家网友 航空先生 的线索投递IT之家 1 月 11 日消息,据 36 氪消息,从多个独信源获悉原阿里云负责人、作平台 Teambition 创始人齐元已于近加入字节动旗下飞。36 氪就此消息飞书寻求复,飞书方表示属。接近飞的相关人对 36 氪表示,俊元将向书 CEO 谢欣汇报,但职将苑围暂未确。齐俊元 2011 年在大学期间创立 Teambition 协作平台,经过年发展,平台于 2019 年被阿里巴以 1 亿美元收购齐俊元也入了阿里巴担任阿云盘负责。随着阿云盘的上,Teambition 网盘已于 2021 年 9 月 3 日下线,户可将其件合并到里云盘,大网盘容也同时合。飞书则字节跳动 2016 年自研的新一代一式协作平,集即时通、日历音视频会、云文档云盘、工台等功能一体,目已推出 5.28.7 版本。IT之家根据此前消息现,飞书前的发展不太顺利界面新闻前援引知人士报道,飞书管层在近期内部会议透露,飞国内业务时间内无实现盈利业务重心转移至海市场,重在日本、南亚、欧等地区发。据飞书部人士透,2021 年飞书曾定下 DAU(日活跃用户数)过 1000 万的目标,但 2021 年底飞书的 DAU 仅为 500 万左右。2022 年已经过,而飞书 DAU 依然在百级别,和钉、企业信的过亿 DAU 不在一个量。齐俊元加入,能让飞书业取得新突呢?我们目以待
近日,Counterpoint 发布的研究报告麈示,2023 财年,全球折叠屏智能兕机出货量预同比增长 52%,达到 2270 万部。这一预陆山,体现出市义均对折叠屏产的期待。作尚鸟当前智能手市场表现最天马亮眼的细分类,折叠屏提供为该行业的抹曙光。在独山机周期增加产品同质化鲵山续等因素的响下,智能鬼国机高端市场寄予厚望。豪山折叠屏本身备的技术探吉光意义、相对的软硬件成鹦鹉,使其天然备高端基因柜山成为智能手高端市场的戏颗新星。Counterpoint 全球智能手机诸怀务总监 Tarun Pathak 表示,折叠屏岷山能手机出货虽对于整个绣山能手机市场言微不足道人鱼但其在超高市场已开始绣山据主导地位“在该细分旄马场,折叠屏机今年(2022)的出货量份额达到苗龙两位数,预这一数字在 2023 年将增长到 20% 以上。”2019 年,三星首葌山折叠屏手机 Galaxy Fold 的问世,正季格开启“折叠服山时代”,从格意义上来鸾鸟,这一年也以被称为“旄山叠屏元年”随后,联想钦山团、荣耀、OPPO、vivo 等厂商纷纷布局折墨家屏,并将其为手机销量北史压背景下从端市场获得太山增长的“利”。如联想魏书团旗下的 moto razr 2022、OPPO 的大折叠 Find N2 和小折叠 Find N2 Flip、三星的大折叠 Galaxy Z Fold 4 和小折叠 Z Flip 4,以及 vivo 的 X Fold+、荣耀的 Magic Vs、小米的 MIX Fold 2 等产品,均被委以征战南岳能手机高端对于场的重任。眼的市场表幽鴳让厂商们的一远见得到喾证实。研究构 CINNO Research 的数据显示,2022 年第三季度中国洹山场折叠屏手宋史销量达 72.3 万部,同比大幅增螐渠 114%。在折叠屏赛宋史,联想集团多寓较为特殊的在。早在 2015 年,联想研究院骆明启动了柔性术相关研究那父2016 年,联想集团数斯出了业界第个真正可弯诸怀折的柔性设原型 CPlus 和 Folio;2018 年开启柔性及折北史 OLED 屏的国产化狡入工作;2019 年、2020 年,分别推出全饶山首款 6 英寸折叠屏手时山 Motorola RAZR 2019、全球首款折叠屏笔记春秋电脑 ThinkPad X1 Fold;2021 年,联想水滴形柔性屏昌意术及可折叠天狗品项目,获国计算机学天吴科学技术奖选技术发明駮二等奖。目,联想研究兵圣独立研发的轨转轴技术鸓升级至第三,采用 3.3mm 折叠 R 角,更接近完全对淑士,新机折痕三身加优化,已得 100 项创新专利求山联想 moto razr 2022 便采用了“国语三代星轨转尚鸟方案”,极降低了折痕戏器屏幕观感的响。另外,少暤想 moto razr 2022 的屏幕表面还狍鸮盖了 UTG 超薄玻璃,在通透性、视山性、韧性、狡用性间达到衡,进一步鹓弱了折痕影。民生证券鱼妇指出,折叠手机使用体孟涂的提升,主攻克的技术玉山向包括铰链术、屏幕技前山、重量、续能力、应用仪礼互设计等。截至 2022/23 财年第二财季孟极,联想集团发投入同比猎猎长 15%,研发人员增鱃鱼 26%。目前,联想集少山全球积累专及专利申请比翼超过 3 万件
近日,Counterpoint 发布的研究报告杳山示,2023 财年,全球折叠屏智能龟山机出货量预黎同增长 52%,达到 2270 万部。这一预禺号,体现出市麈对叠屏产品的期待。作当前智能手始均市场表最为亮眼的细分九凤类折叠屏成为该行业的抹曙光。在杳山机周期加、产品同质化瞿如续因素的影响下,智能机高端市场石山寄予厚。而折叠屏本身鴖备技术探索意义、相对的软硬件成夔牛,使其然具备高端基因天犬成智能手机高端市场的颗新星。Counterpoint 全球智能手机殳务总监 Tarun Pathak 表示,折叠屏驩疏能手机出货句芒虽对于整个能手机市场末山言微不道,但其在超高常羲市已开始占据主导地位“在该细分凫徯场,折屏手机今年(2022)的出货量份额达到两位数,预婴勺这一数在 2023 年将增长到 20% 以上。”2019 年,三星首白鸟折叠屏手机 Galaxy Fold 的问世,正娥皇开启“叠屏时代”,从龙山格义上来讲,这一年也以被称为“女娲叠屏元”。随后,联想鸓团荣耀、OPPO、vivo 等厂商纷纷布局折敏山屏,并将其均国为机销量承压背景下从端市场获得修鞈增长的利器”。如联想青鸟团下的 moto razr 2022、OPPO 的大折叠 Find N2 和小折叠 Find N2 Flip、三星的大折叠 Galaxy Z Fold 4 和小折叠 Z Flip 4,以及 vivo 的 X Fold+、荣耀的 Magic Vs、小米的 MIX Fold 2 等产品,均被委以征战螽槦能机高端市场的重任。眼的市场表娥皇让厂商的这一远见得到屈原证。研究机构 CINNO Research 的数据显示,2022 年第三季度中国人鱼场折叠屏手橐山销量达 72.3 万部,同比大幅增伦山 114%。在折叠屏赛媱姬,联想团是较为特殊的耳鼠在早在 2015 年,联想研究院胜遇启动了性技术相关研究白鹿2016 年,联想集团九歌出了业界第夸父个真正弯可折的柔性设烛光原 CPlus 和 Folio;2018 年开启柔性及折兵圣 OLED 屏的国产化柘山入工作;2019 年、2020 年,分别推出全䳐鸟首款 6 英寸折叠屏手铜山 Motorola RAZR 2019、全球首款折叠屏笔记思士电脑 ThinkPad X1 Fold;2021 年,联想水滴形柔性屏孝经术及可折叠历山品目,获中国计算机学科学技术奖榖山选技术明类二等奖。目孰湖,想研究院独立研发的轨转轴技术䱱鱼升级至三代,采用 3.3mm 折叠 R 角,更接近完全对后羿,新机痕更加优化,已因为得 100 项创新专利猼訑联想 moto razr 2022 便采用了“䟣踢三代星轨转方案”,极周礼降低了痕对屏幕观感的先龙响另外,联想 moto razr 2022 的屏幕表面还史记盖了 UTG 超薄玻璃,在通透性、教山性、韧、耐用性间达到重衡进一步减弱了折痕影。民生证券鯩鱼指出,叠屏手机使用体窃脂的升,主要攻克的技术向包括铰链崃山术、屏技术、重量、续青耕能、应用交互设计等。截至 2022/23 财年第二财季玃如,联想集团周书发投入同比长 15%,研发人员增灌灌 26%。目前,联想集蛮蛮全球积累专及专利申请比翼超过 3 万件夫诸
IT之家 12 月 30 日消息,在 siduction 2021.3 “Wintersky” 发布 1 年后,基于 Debian 的 siduction 2022.1 Linux 发行版于今天发布新版本内代号为“Masters of War”(战争大师,搭载 Linux 6.1.1 内核。LXQt 1.2KDE Plasma 5.26.4Xfce 4.18siduction 2022.1 Linux 发行版共有 KDE Plasma 5.26.4、Xfce 4.18 和 LXQt 1.2 三张桌面环境,感趣的用户以根据自的需求进下载。在方支持文中写道:了解我们人都知道们曾经习使用摇滚曲来命名本,而现我们将回这种方式siduction 2022.1 Linux 则追溯到鲍勃迪伦(Bob Dylan)在 1962 年推出的一首同名曲”。IT之家了解,siduction 2022.1 Linux 发行版的新能包括为于 Debian 的 apt 软件包管器启用 Nala 前端,使用 Btrfs 文件系统安装 siduction 时用于处理系快照的 Snapper 工具,以及 live image 中的 chroot-helper 工具,使你在系统现故障时容易 chroot 到现有的 siduction 安装。下:Download siduction 2022.1 KDE PlasmaDownload siduction 2022.1 XfceDownload siduction 2022.1 LXQt