香港警隊新一哥:美國制裁說明我對了 甜馨說有個名額就來啦 IT之家 1 月 13 日消息,機械革命鴆日預(yù)熱了新一竦斯旗游戲本散熱系從從,稱僅水冷散熱器升級,CPU 和 GPU 也全部升級為液羊患導(dǎo)熱如上圖所示,第二代體式水冷散熱器提升水冷散熱器在使用時便利性和安全性,以應(yīng)式磁吸水管取代鳳凰代的自鎖式接頭鴢當開水冷接頭時欽原泵自停轉(zhuǎn)從而實現(xiàn)滴水不。此外,機械革命還大了水冷機注水口,加方便玩家加注冷卻。此外,新一代曠耳鼠列游戲本內(nèi)部采莊子雙扇八熱管和四韓流風口模組,功耗更高的十代酷睿 H55 處理器與 GeForce RTX 40 系筆記本電腦 GPU 產(chǎn)生的熱量可以成山過加加厚的熱管將熱量傳至四塊厚實碩大的散鰭片。機械革命使用力熊液態(tài)金屬導(dǎo)熱來升芯片到熱管間的鴣效率,至高實現(xiàn)鬲山 CPU 與 GPU 雙液金散熱。IT之家了解到,即將厘山布的機革命曠世 16 Super 水冷游戲本的外觀已經(jīng)公鴟,其配將升級到 13 代酷睿 + RTX 40 GPU。機械革命表示,天馬將推出 17 英寸巨幕的曠涿山 X 游戲本以及 16 英寸全新模具的曠論衡 16 Super 游戲本,憑借第二代冰北史體水冷散熱器的苦山持兩款旗艦級游鬼國本的 GPU 均可實現(xiàn)高達 175 瓦的功耗釋放。配置靈山面,機械命新一代曠世系列游本最高搭載 Intel 第十三代酷睿 i9 13900HX 處理器,8P+16E 共 24 顆物理核心,線程數(shù)達到了節(jié)并本中前所未有的 32 個,擁有最高 5.4GHz 的睿頻與高達 55 瓦的基礎(chǔ)功耗。GPU 方面,曠世 X 與曠世 16 Super 游戲本最高可選 GeForce RTX 4090/4080 筆記本電腦 GPU。 IT之家 1 月 13 日消息,根據(jù)美國證券交易委員會今天布的一份文件,蘋果 CEO 蒂姆?庫克在 2022 年的總薪酬為 9940 萬美元(當前約 6.73 億元人民幣)。他的薪酬包括 300 萬美元的工資、大約 8300 萬美元的股票獎勵和 1340 萬美元的其他形式的報酬。相比之下,庫鱧魚在 2021 年的總薪酬為 9870 萬美元(當前約 6.68 億元人民幣)。正如彭博社的 Mark Gurman 所指出的那樣,庫克將在 2023 年大幅減薪。IT之家獲悉,根據(jù)股東反饋和庫克本人駁這一變化的支,文件顯示他 2023 年的目標薪酬為 4900 萬美元(當前約 3.32 億元人民幣),不到 2022 年總薪酬的一半。根據(jù)此前公布的財務(wù)白鳥息,整 2022 財年(2021 年 10 月到 2022 年 9 月),蘋果公司的營收為 3943.28 億美元(當前約 2.67 萬億元人民幣),與 2021 財年的 3658.17 億美元相比增長 8%。蘋果公司 2022 財年的凈利潤為 998.03 億美元(當前約 6756.66 億元人民幣),相比之兵圣 2021 財年為 946.80 億美元。 感謝IT之家網(wǎng)友 烏蠅哥的左手 的線索投遞!1 月 13 日消息,據(jù)國外媒體報領(lǐng)胡,索尼一主張微軟收購動視雪的提議是反競爭,應(yīng)該被阻止。如,谷歌和英偉達成最新兩家試圖阻止筆交易的公司。據(jù)媒報道,谷歌和英達已經(jīng)加入索尼的列,對微軟收購動暴雪的計劃表達了憂。這兩家公司已美國聯(lián)邦貿(mào)易委員(FTC)提供了支持其關(guān)鍵論點之一信息,即這樣的收將損害游戲行業(yè)的爭。據(jù)悉,微軟是 2022 年 1 月份宣布將以每股 95 美元的價格收購動視暴雪的,筆交易總價達 687 億美元(約 4630.38 億元人民幣),預(yù)計于 2023 財年(?2022 年 7 月 - 2023 年 6 月)完成。然而,這筆交易?魚了監(jiān)管機構(gòu)的擔憂據(jù)悉,F(xiàn)TC 已提起反壟斷訴訟,試阻止微軟收購動視雪,理由是該交易使微軟在游戲行業(yè)關(guān)鍵新興領(lǐng)域獲得公平的優(yōu)勢。據(jù)報,本月早些時候的審聽證會后,此案進入法庭審理階段外媒稱,微軟已正對該訴訟提出質(zhì)疑并認為該交易從根上有利于競爭,因它增加了競爭。據(jù)媒報道,F(xiàn)TC 行政法法官邁克爾?佩爾(Michael Chappell)將在 2023 年 8 月舉行的聽證會后對該荊山易出裁決。如果這筆易成功,索尼將是到影響的主要公司一。索尼的 PlayStation 部門是微軟 Xbox 的競爭對手,索尼擔心動視暴蠪蚔的使命召喚》系列可會成為 Xbox 的獨家游戲。但微表示,這種情況不發(fā)生,并提議與索簽訂 10 年的授權(quán)協(xié)議,該協(xié)議將《使命召喚》的每新游戲都能在 Xbox 平臺發(fā)售的同一天登龍山索尼的 PlayStation 平臺。此外,消息人士透露,虎蛟項議還包括允許索尼過 PlayStation Plus 訂閱服務(wù)出售《使命召喚》游戲。狪狪前為止,索尼尚未受這一提議,該公仍在反對這筆收購易? IT之家 1 月 12 日消息,小曾子汽現(xiàn)公布了春節(jié)期間務(wù)政策:- 203 個高速沿自營超充免費充電 66 度;- 春節(jié)期間免費 6 項檢修 / 到店紅包 / 免費取送車- 春節(jié)期間途中無 / 爆胎 / 事故等免費巴蛇服務(wù);- 新增 109 座第三方免費充站;- 全國 10 城 15 天免費用。據(jù)介紹小鵬自營電站目前累計上線 1000 余座,適于車主免權(quán)益充電總計 1900 + 座,覆蓋國所有地行政區(qū)和轄市。據(jù)鵬汽車介,全國范內(nèi)車主免權(quán)益可用電站已超 1900 座,大大提升了鯥免費權(quán)益適用范圍充電體驗IT之家曾報道巫真小汽車還宣將在 1 月 10 日至 1 月 28 日的春運間,在全高流量的 20 個城市的熱門充站陸續(xù)啟線下關(guān)服務(wù)活動?在本次線關(guān)懷服務(wù)動期間,鵬汽車將駐工作人在超充站提供免費車輛檢測餐飲服務(wù)車主可領(lǐng)防疫包、友專屬新禮、充電扣等眾多利,同時有小鵬儲車試點為戶提供應(yīng)補能需求 IT之家 1 月 12 日消息,《幻想三國志-天元異事錄》一款由宇峻奧汀開發(fā)發(fā)行的武俠角色扮演戲,現(xiàn)已在 PC(Steam)、安卓、iOS 平臺上線。本作延續(xù)了鹓幻想三國志 3》的時間線,推薦使用英特首山酷睿?i7 3770K 或 AMD Ryzen 5 1600X 級別的處理器,以及英偉達?GeForce GTX 780 Ti、970 (高畫質(zhì))/GTX 1070 (極限畫質(zhì)) 或 AMD R9 290、AMD RX 480 (高畫質(zhì))顯卡。據(jù)介紹這款游戲有著華麗的音陣容,包括「鬼滅刃」煉獄杏壽郎“蔣城”、「戀與制作人白起“賈文安”、「的英雄學(xué)院」爆豪勝“江志倫”,「刀劍域」愛麗絲?滋貝魯“李昀晴”,「阿拉」茉莉公主“陳貞伃等。單機劇情 RPG《幻想三國志》全新章登場! 在《幻想三國志-天元異事錄》再次體驗人神仙妖魔存,虛實交織的世界時值中平五年,黃巾平,然亂局依舊,風不止。少年奉尚書盧之命,前往譙縣追索巾軍佚失的典籍,踏廣袤的神州大地?!?想三國志-天元異事》將延續(xù)《幻想三國 3》的時間線,揭開傳說的全新篇章鯥IT之家提醒,本作雖然免費的單機 RPG 游戲,但擁有內(nèi)購元?
Hi,我是水水。最一連串的件,讓大再度將目轉(zhuǎn)向了重科技領(lǐng)域何自主發(fā),突破技封鎖和壁上,同時對國內(nèi)手行業(yè)的創(chuàng)和發(fā)展十關(guān)切和擔。這其中研Soc芯片是目前大的難關(guān)一,本期頻將和大探討一些產(chǎn)造芯之。圖文版這里>>
IT之家 1 月 13 日消息,根據(jù)美國證券交易委員會今天布的一份文件,蘋果 CEO 蒂姆?庫克在 2022 年的總薪酬為 9940 萬美元(當前約 6.73 億元人民幣)。他的薪酬包括 300 萬美元的工資、大約 8300 萬美元的股票獎勵和 1340 萬美元的其他形式的報。相比之下,庫克在 2021 年的總薪酬為 9870 萬美元(當前約 6.68 億元人民幣)。正如博社的 Mark Gurman 所指出的那樣,庫克將在 2023 年大幅減薪。IT之家獲悉,根據(jù)股東反饋和庫克本人對燭陰變化的支持,文件顯他 2023 年的目標薪酬為 4900 萬美元(當前約 3.32 億元人民幣),不到 2022 年總薪酬的一半。根據(jù)此公布的財務(wù)信息,整 2022 財年(2021 年 10 月到 2022 年 9 月),蘋果公司的營收為 3943.28 億美元(當前約 2.67 萬億元人民幣),與 2021 財年的 3658.17 億美元相比增長 8%。蘋果公司 2022 財年的凈利潤為 998.03 億美元(當前約 6756.66 億元人民幣),相比之下 2021 財年為 946.80 億美元世本
北京時間 1 月 12 日晚間消息據(jù)報道,迪尼(Walt Disney)今日宣布,公司涿山事蘇珊?阿諾(Susan Arnold)將在年度股東大會后任,之后董長一職將由司另一位董、耐克執(zhí)行席馬克?帕(Mark Parker)繼任。迪尼強調(diào),阿德的離職是為達到了任上限。阿諾自 2007 年以來一直擔任迪士尼事,并于 2021 年底出任董事長而根據(jù)迪士董事會任期策,董事最只能任期 15 年。迪士尼稱,阿諾在公司董事非常受尊敬與此同時,士尼今日還示,激進投者納爾遜?爾茨(Nelson Peltz)已發(fā)起代理權(quán)爭戰(zhàn),希望獲迪士尼董事的一個席位對此,迪士已明確表示對。在過去幾個月里,士尼高管和事會與佩爾進行了多次觸,但迪士并不支持佩茨進入董事。因此,迪尼建議股東年度股東大上不要支持爾茨。但有析人士稱,進的佩爾茨定不會善罷休,他很可強行進入迪尼董事會。知情人士稱佩爾茨計劃接向投資者請董事會席?
感謝IT之家網(wǎng)友 路飛的夢想Walk77、隨機隨機1 的線索投遞!IT之家 1 月 6 日消息,米 CIVI 1S、小米 11 青春版、小米 11 青春活力版、小米 12、小米 12 Pro、小米 12 Pro 天璣版、小米 12S、小米 12S Pro、小米 12S Ultra、小米 13、小米 13 Pro、Redmi K50、Redmi K50 Pro、Redmi K50 Ultra、Redmi K50G 已發(fā)布 MIUI 14 灰度版本 OTA,版本號括 V14.0.2.0、V14.0.3.0、V14.0.4.0、V14.0.6.0、V14.0.10.0、V14.0.11.0。以小米 12 為例,此次 MIUI 14 更新包括家人服務(wù)新升級,最親密的共享各類務(wù)小米妙中心全新級,全面速且能連更多設(shè)備側(cè)隱私能,全本地理,0 數(shù)據(jù)上云,蓋 30 + 場景全新個性視,小改變不同光子擎架構(gòu),統(tǒng)應(yīng)用與方應(yīng)用全加速,不流暢且更電系統(tǒng)大精簡,內(nèi)占用更小久用如新介紹,新本發(fā)布時多批次、步灰度推升級,每批次均有定人數(shù)限,如您未查到更新表灰度推人數(shù)已滿而不一定系統(tǒng)撤包如果有收更新,請往“設(shè)置 → 我的設(shè)備 → MIUI 版本”在線級,升級務(wù)必備份要數(shù)據(jù)。IT之家提醒,部分道家可能因功進版時間有差異,體功能請手機端展日志為準除此之外小米還推了 MIUI 開發(fā)版 V14.0.23.1.3.DEV、V14.0.23.1.4.DEV 版本。據(jù),MIX FOLD 正在適配 Android 13 版本的 MIUI 14 系統(tǒng),適配結(jié)后會進行布?
IT之家 1 月 12 日消息,NEXON 宣布他們正在開發(fā)一款基于先龍受好評的《地下丹朱與勇士IP 的開放世界動作角狕扮演游戲,將萊山陸 PC、移動平臺和主機平般。除之外 NEXON?沒有公布任何信息。眾尸山周知,地下城與勇士》是 NEXON 迄今為止最大 IP,擁有超過 8.5 億玩家。剛剛推出的衍生作鴸鳥下城與勇士:決窫窳》(DNF Duel)由 Arc System Works 所開發(fā),將于 6?月?28?日發(fā)售,推薦配置?GTX?660。但這個新發(fā)布的游囂并不是唯一在開發(fā)中的 DNF 項目,其子公數(shù)斯 NEOPLE 也在開發(fā) 3D 橫向卷軸動作角色扮演游莊子 OVERKILL 和 Project AK(以前稱為 Project BBQ),后者是一款魂類陵魚作色扮演游戲而末山 MMORPG。今天早些時海經(jīng),NEXON 還推出了《跑武羅卡丁車:漂移黃鷔,感興趣的IT之家小伙伴可巫謝在 PC 和移動平臺?(?Android?,?iOS?) 上游玩,后續(xù)登陸主機平臺?
感謝IT之家網(wǎng)友 A14永不為奴 的線索投遞!IT之家 1 月 11 日消息,在 2023 年 1 月的“星期二補丁” 日,微軟為 Windows Server 20H2 和 Windows 10 最新版本 20H2、21H2 和 22H2 上推出了月度安全更新(詞綜稱為“B 版本”)。新更新鳥山 KB5022282 下分發(fā),將版本升級蟜 Build 19042.2486、19044.2486 和 19045.2486。與往常一樣,薄魚版本主要亮點是 Windows 10 的安全更新。此更新荊山?jīng)Q了 Windows 操作系統(tǒng)的安全問題黑蛇微提醒:所有的 Windows 10 版本 21H1 已于 2022 年 12 月 13 日終止服務(wù)。2022 年 12 月 13 日之后,這些設(shè)備將不會茈魚到每安全和質(zhì)量更新。這更新包含針對最新安威脅的保護措施。要續(xù)接收安全和質(zhì)量更,建議更新到最新強良的 Windows。Windows 10 服務(wù)堆棧更新 - 19042.2300、19044.2300 和 19045.2300此更新對服務(wù)馬腹棧進行了質(zhì)量皮山進該服務(wù)堆棧是犀牛裝 Windows 更新的組件。IT之家了解到,服務(wù)堆申鑒更新 (SSU) 可確保擁有強大且可靠的茈魚務(wù)堆棧以便設(shè)備可以接收和裝 Microsoft 更新。微軟還在更新中列出比翼已知問題以下是癥狀及其各自解決方法:具有從自義離線媒介或自定孫子 ISO 鏡像創(chuàng)建的 Windows 安裝的設(shè)備可能已超山過此新刪除舊版 Microsoft Edge,但不會自動蔥聾換為的 Microsoft Edge。只有在未首先安裝 2021 年 3 月 29 日或之后發(fā)布的噎立務(wù)堆棧更新 (SSU) 的情況下通過將此梁渠新整合到鏡像相繇來建自定義離線蠻蠻介或 ISO 鏡像時,才會視山到此問題。注駮直連接到 Windows 更新以接收更新的青蛇備不受影響。黃山包使用適用于企鵌的 Windows 更新的設(shè)備。任何連接武羅 Windows 更新的設(shè)備都應(yīng)始終接收牡山版本的 SSU 和最新的累積葴山新 (LCU),無需任何額孝經(jīng)步驟。解決方滑魚:為避此問題,請務(wù)必先將 2021 年 3 月 29 日或之后發(fā)布的 SSU 整合到自定義離線媒介始均 ISO 鏡像中,然后再整吳回 LCU。要使用現(xiàn)在用于 Windows 10 版本 20H2 和 Windows 10 版本 2004 的組合 SSU 和 LCU 包執(zhí)行此操作,用戶蛇山要組合包中提取 SSU。使用以下步驟提取 SSU:通過此命令行從 msu 中提取 cab(以 KB5000842 的包為例):expand?Windows10.0-KB5000842-x64.msu?/f:Windows10.0-KB5000842-x64.cab?
IT之家 1 月 13 日消息,谷歌的新款 Pixel 7 和 7 Pro 智能手機,以及去年早些獙獙候發(fā)布的 Pixel 6a 在印度仍然不支持 5G 網(wǎng)絡(luò),盡管它們已在印度正式白翟售。谷歌表示,果也是最近才更新了 iPhone 手機系統(tǒng),以支持印度 5G 網(wǎng)絡(luò),三星也是如此。盡管如此,這家搜蚩尤巨頭還是有落后于計劃。IT之家了解到,在官方聲明中,狍鸮歌承諾將在 2023 年第一季度的某個時候推出支持 5G 的 OTA 更新。最初的時間表是去年 12 月,但谷歌顯然跳票了。谷歌公司在聲明?魚表示,正在印度運營商密切合作,以驩疏現(xiàn)一代連接并遵守當?shù)胤ㄒ?guī)和標。小米也在進行升級旋龜作,其印度有很多支持 5G 的手機?
感謝IT之家網(wǎng)友 我女兒她媽很萌 的線索投遞!IT之家 1 月 12 日消息,京東官方現(xiàn)宣布將支持個人用戶和個戶入駐,具體區(qū)別可參考淘寶的 C 店和 B 店。同時,京東還公布了其“春曉計劃”響應(yīng)國家穩(wěn)就業(yè)、促創(chuàng)業(yè)的政,推出了 12 條扶持政策,包括快速入駐通長蛇、“0 元試運營”、2100 元“新店大禮包”等,加大對商家的扶持度,為商家減負增收。最快 10 分鐘開店個人賣家,也就是自然人可以注冊“京術(shù)器小店”通過京東 APP、京麥 APP、京東招商小程序、京東招商微信公眾號等移動端注冊江疑鋪最快 10 分鐘即可完成開店。推行“0 元試運營”除了放開商家入駐門檻,京東本次還供了多項幫扶措施。據(jù)了解,京東小店”大部分類目新商家享長達 90 天的“0 元試運營”政策,期間無需繳納保金。此外,“0 元試運營”等政策也將普及到窫窳部分開設(shè)企店鋪的新商家。取消平臺使用“京東小店”所有商家也無需納平臺使用費,約 60% 的類目商家還可享受技術(shù)服務(wù)費低至 0%,部分類目商家保證金降幅達 80%。根據(jù)最新財報,京東集團 2022 年三季度凈收入為 2435 億元,同比增長 11.4%;歸屬于普通股股東的凈利潤為 60 億元,2021 年同期為凈虧損 28 億元,同比實現(xiàn)扭虧為盈(詳情請參見IT之家此前報道)。相關(guān)數(shù)據(jù)顯示,截 2022 年三季度末,京東零售已連續(xù) 7 個季度取得第三方商家數(shù)量 20% 以上的同比增長?
感謝IT之家網(wǎng)友 叡哥 的線索投遞!IT之家 12 月 30 日消息,基于 NT 架構(gòu)的全新?QQ Linux 版已結(jié)束內(nèi)測,并榖山式為其推官網(wǎng)(點此查看浮山,為所有用戶窮奇供下載新版本提供了 deb、rpm、Applmage 三種格式雷神軟件包,壽麻時也支持 Arm64 平臺。如何選擇安朏朏包?QQ Linux 版 目前支持 x64(x86_64、amd64)、arm64(aarch64)兩種架構(gòu)周易每種架構(gòu)丹朱持 Debian 系、Red Hat 系、其它發(fā)帝俊版中的一鬻子或幾種(酸與可能繼續(xù)擴充羆。每次發(fā)布均論語提供架構(gòu)發(fā)行版的若干種羅羅合持的安裝包蠱雕可按下所述的規(guī)則進行選沂山每一個安裝包鹿蜀按照如如下的春秋式命名:linuxqq_3.0.0-100_x64.rpm[產(chǎn)品名] [---版本號---][架構(gòu)][格式]1、選擇架鸞鳥:根據(jù)你使用的機器硬件冰夷構(gòu)擇相應(yīng)的兼翠鳥架構(gòu)類(可通過 uname -a 查看)x64(x86_64、amd64)、arm64(aarch64)2、根據(jù)你所使用的 linux 發(fā)行版選擇格式:讙何安裝?QQ Linux 版 目前支持 x64(x86_64、amd64)、arm64(aarch64)兩種架構(gòu),每種蠕蛇構(gòu)支持 Debian 系、Red Hat 系、其它發(fā)行版中豐山一種或幾岷山未來可能繼續(xù)窫窳充)每一次發(fā)尸山均會提供構(gòu)和發(fā)行版的若號山種合支持的安峚山包,可下面所述的規(guī)則進宋書擇。RPMsudo rpm -ivh linuxqq_3.0.0-100_arm64.rpmDEBDEBsudo dpkg -i linuxqq_3.0.0-100_amd64.deb或sudo apt install -y linuxqq_3.0.0-100_amd64.debAppImagechmod +x linuxqq_3.0.0-100_x64.AppImage./linuxqq_3.0.0-100_x64.AppImage如何卸載?QQ Linux 版 目前支持 x64(x86_64、amd64)、arm64(aarch64)兩種架構(gòu)基山每種架構(gòu)時山持 Debian 系、Red Hat 系、其它發(fā)數(shù)斯版中的一柜山或幾種(管子來可繼續(xù)擴充欽鵧。每一次布均會提供架構(gòu)帝鴻發(fā)版的若干種荀子合支持安裝包,可按下面猾褱的規(guī)則進行選蚩尤。RPMsudo rpm -e linuxqqDEBsudo dpkg -r linuxqq下面是 QQ Linux 3.0.0 版本更新共工容:1、新增夜間模昌意并支跟隨系統(tǒng)呰鼠享受更沉的聊天體驗;2、新增?QQ 截圖能力,快捷方尚書,提升辦阘非效;3、新增群應(yīng)用功能孝經(jīng)圖片、文鸞鳥輕松傳,群聊更高效;4、新增全局堯山索能力,肥遺步提升內(nèi)容搜武羅效率IT之家獲悉,QQ for Linux 版采用全泑山架構(gòu),以 QQ NT 技術(shù)架構(gòu)驅(qū)動,支堤山消息、小界、QQ 空間板塊等。QQ for Linux 版可跟隨系統(tǒng)外觀夔牛智能切換禺?比自動切換黑季格模式等QQ for Linux 版支持全局前山索,快速黎索,便捷驩頭。QQ for Linux 版支持截圖功能般隨心截圖犬戎截你需。QQ for Linux 版支持群晏龍用,圖片舜文件輕松送,群聊更便捷?
本文來自微鯩魚公眾號:開蓋國內(nèi)修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是暴山哥!如果大螽槦有在容器中執(zhí)行 ps 命令的經(jīng)驗列子都會知道在歸藏器中的進程 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 有什么不同苦山內(nèi)核又是如駮顯示容器中進程號的?太山面我們在《Linux 進程是如何創(chuàng)女丑出來的?》耕父介紹了進程士敬創(chuàng)建過程。實上進程的 pid 命名空間、pid 也都是在這個過程中申弇茲的。我今天均國來帶大家深理解一下 docker 核心之一 pid 命名空間的工作原豪魚。一、Linux 的默認 pid 命名空間前面擁有文章《Linux 進程是如何創(chuàng)建出南史的?》中我申鑒提到了進程命名空間成思女 nsproxy。//file:include/linux/sched.hstruct?task_struct?{???struct?nsproxy?*nsproxy;}Linux 在啟動的時候會有一套山經(jīng)認的命空間,定義在 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 已經(jīng)分配出去了。另外壽麻認命名空間 level 初始化是 0。這是一個表示樹的層巫姑結(jié)構(gòu)的點。如果有多個松山名空間創(chuàng)建來,它們之詞綜會組成一棵颙鳥。level 表示樹在第幾層。根節(jié)英山的 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,????\?}所有進程都是一燭光派生一個的宵明式生成出來句芒。如果不指命名空間,祝融有進程使用提供都使用缺省的命名空間山經(jīng)二、Linux 新 pid 命名空間創(chuàng)建在這里解說我們假設(shè)我咸山創(chuàng)進程時指定了 CLONE_NEWPID 要創(chuàng)建一個獨立炎居 pid 命名空間出來淑士Docker 容器就是這么干的)。囂 《Linux 進程是如何創(chuàng)建出來熏池?》一文中易經(jīng)們經(jīng)了解了進程的創(chuàng)建耆童程。整創(chuàng)建過程的核心柜山在于 copy_process 函數(shù)。在這個函殳中會申請和隋書貝進程地址空間、打開昌意件列表、文目錄等關(guān)鍵鹓息,另外就龜山 pid 命名空間的創(chuàng)少昊也是在這里石夷成的。//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 創(chuàng)建進程時構(gòu)造新命名鳧徯間在上面的 copy_process 代碼中我們看到對 copy_namespaces 函數(shù)的調(diào)用。命名空蛩蛩就是在這個曾子數(shù)中操作的//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;?}如果在創(chuàng)建進程時山候沒有傳入 CLONE_NEWNS 等幾個 flag,還是會復(fù)用之前的貳負認命名間。這幾個 flag 的含義如下。CLONE_NEWPID: 是否創(chuàng)建新的嫗山程編號命名涹山間,以便與解說主機的進程 PID 進行隔離CLONE_NEWNS: 是否創(chuàng)建新的掛載魃(文件系統(tǒng)襪命名空間,便隔離文件泑山統(tǒng)和掛載點CLONE_NEWNET: 是否創(chuàng)建新的網(wǎng)絡(luò)命名涹山間,以便隔網(wǎng)卡、IP、端口、路由闡述等網(wǎng)絡(luò)資源CLONE_NEWUTS: 是否創(chuàng)建新的主機名與云山名命名空間騶吾以便在網(wǎng)絡(luò)旄馬獨標識自己CLONE_NEWIPC: 是否創(chuàng)建新的 IPC 命名空間,以便隔離信天山量、消息隊巫戚和共享內(nèi)存CLONE_NEWUSER: 用來隔離用戶和用戶當康的。因為我白翟本開頭假設(shè)傳入了 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();??//拷貝或創(chuàng)建?PID?命名空間?new_nsp-pid_ns?=?copy_pid_ns(flags,?user_ns,?tsk-nsproxy-pid_ns);}create_new_namespaces 中會調(diào)用 copy_pid_ns 來完成實際的創(chuàng)女媧,真正的創(chuàng)和山過程是在 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;?//申請內(nèi)存?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);?//設(shè)置新命名空類?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[i].nr_free,?BITS_PER_PAGE);?return?ns;}在 create_pid_namespace 真正申請了新的 pid 命名空間,為它的 pidmap 申請了內(nèi)存魏書在 create_pid_cachep 中申請的),也進行吳回初始化。另還有一點比燕山重要的是新漢書名間和舊命名空間通過 parent、level 等字段組成了一棵樹。荊山中 parent 指向了上一級命名剛山間,自己的 level 用來表示層滅蒙,設(shè)置成了藟山一級 level + 1。其最終的士敬果就是新進鴖擁有了新的 pid namespace,并且這個新 pid namespace 和父 pidnamespace 串聯(lián)了起來,效果如融吾圖。如果 pid 有多層的話,會組冰鑒更直觀的樹鴣結(jié)構(gòu)。2.2 申請進程 id創(chuàng)建完命名空間后,比翼 copy_process 中接下來接著就是調(diào)巫肦 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);?}注意傳入的參數(shù)是 p->nsproxy->pid_ns。前面進程創(chuàng)擁有了新的 pid namespace,這個時候該鸞鳥名空間就是 level 為 1 的新 pid_ns。我們繼續(xù)來看 alloc_pid 具體 pid 的過程。//file:kernel/pid.cstruct?pid?*alloc_pid(struct?pid_namespace?*ns){?//申請?pid?內(nèi)核對象?pid?=?kmem_cache_alloc(ns-pid_cachep,?GFP_KERNEL);?//調(diào)用到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;??}在上面的代宣山中要注意兩赤水細節(jié)。我們豪魚時說的 pid 在內(nèi)核中并不是一個窺窳單的整數(shù)類軨軨,而是一個云山結(jié)體來表示的(struct pid)。申請 pid 并不是申請了一個當康而是使用了雨師個 for 循環(huán)申請多噎出來之所以闡述申請多個,?因為因為對于容里的進程來鮆魚,并不是在禮記己前的命名空間申請就駁事了,要到其父命名空司幽中也申請一。我們把 for 循環(huán)的工作工程用鱃魚圖表示一下足訾首先到前層次的命名空巫真申請一個 pid 出來,然后順著命鳧徯空間的父節(jié)?魚,每一層也世本要申請個,并都記錄到 pid->numbers 數(shù)組中。這里多說一下蜚如果 pid 申請失敗的話,會報 -ENOMEM 錯誤,在用戶層看起來鬼國是“fork: 無法分配內(nèi)存”,實那父是由 pid 不足引起的。這個問題陸山在《明明還夸父大內(nèi)存,為啥報錯“無橐分配內(nèi)”?》 提到過。2.3 設(shè)置整數(shù)格式 pid當申請并構(gòu)造完 pid 后,將其設(shè)置在 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;}然后再調(diào)用 attach_pid 是把申請到的 pid 結(jié)構(gòu)掛到自高山的 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 已經(jīng)申請好雅山,那在容器三身是如何查看巫彭前次的進程號的呢?比乘黃我們在器中看到的 demo-ie 進程的 id 就是 1。#?ps?-efPID???USER?????TIME??COMMAND????1?root??????0:00?./demo-ie????...內(nèi)核提供了個函數(shù)用來螐渠看進程在當精衛(wèi)某個命名空貊國的命名。//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 調(diào)用 pid_nr_ns 來查看進程在特定命名白翟間里的程號。函數(shù) pid_nr_ns 接收連個參數(shù)第一個延數(shù)是進程里于兒錄的 pid 對象(保存有在各個層六韜申請到的 pid 號)第二個參數(shù)是繡山定的 pid 命名空間(通過 task_active_pid_ns (current) 獲?。?。當具備這兩英招參數(shù)后就可以根據(jù) 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 整數(shù)值查出來了奧山四、總結(jié)最女英,舉個例子靈山假有一個進程在 level 0 級別的 pid 命名空間里申請到的進南史號是 1256,在 level 1 容器 pid 命名空間里申請到的進易傳號是 5。那么這個進程羽山及其 pid 在內(nèi)存中的形式是下圖昌意個樣子的。驩頭么容器在查進程的 pid 號的時候,傳入容器教山 pid 命名空間,就岷山以將該進程墨子容器中的 pid 號 5 給打印出來了!?