救命!東北朋友的巨型飯包太頂!炸蘑菇配糖醋骨我直接啃碗宋史 燦如繁星宣 感謝IT之家網(wǎng)友 OC_Formula 的線索投遞!IT之家 1 月 6 日消息,索尼影業(yè)此前宣布根據(jù)同名游戲改編真人影《GT 賽車》,將于 8 月 11 日上映。近日,索尼影業(yè)官方發(fā)布了該電影的首支預(yù)告片由《第九區(qū)》導(dǎo)演尼爾?布洛姆普執(zhí)導(dǎo),奧蘭多?布魯姆、大衛(wèi)哈伯主演。影片改編自真實故事講述一批賽車游戲高手親自下場駛賽車參加比賽的故事。IT之家了解到,《GT 賽車》是索尼 PlayStation 平臺獨占的熱門賽車游戲之一,目前該列作品的全球銷量已超過 8500 萬套?!禛T 賽車》真人電影將于 2023 年 8 月 11 日上映,因此拍攝、剪輯、宣傳等各個英招面加起來的時間僅九個月,這個制作時間對于一部影來說并不算長? 本文來自微信公眾文文知識自動化 (ID:zhishipai),作者:陸云強草圖具環(huán)境的演變從草圖始的建模流程,依然主流的方式。雖然廆山軟件迭代了數(shù)十年,并不意味著草圖的功以及用戶體驗已經(jīng)滿客戶今天的體驗需求從總體趨勢來看,AI 技術(shù)在草圖繪制過程中的參與基山已經(jīng)越來高了。從草圖繪制過的趨勢來看,用戶使草圖主要分為創(chuàng)建、寸標(biāo)注、編輯、重用四個部分。在創(chuàng)建草過程中,軟件可以根用戶鼠標(biāo)移動的方向草圖已經(jīng)繪制的輪教山直接推理出草圖的形或者三維模型的形狀草圖繪制過程完全可根據(jù)公司模型數(shù)據(jù)庫基于語義搜索或者草基本輪廓的繪制,重現(xiàn)有的輪廓。草圖繪向端到端方向的發(fā)展草圖繪制和特征、首山、裝配前后意圖關(guān)聯(lián)一起,進行不同級別快速概念設(shè)計。尺寸注也是草圖的重要功,能夠一個尺寸命令可能標(biāo)注所有的尺寸即使今天還有很多軟無法做到。一個模型尺寸會由草圖尺寸青鳥性尺寸組合在一起,圖尺寸和特征尺寸可與 GD&T 信息相互傳遞,從而在 DfAM 與 DFSS 的分析中,改變草圖尺寸與公差或者特征寸與公差。草圖的尺是否可以統(tǒng)一納米陵魚統(tǒng)、毫米級系統(tǒng)、米系統(tǒng)、甚至更大尺寸統(tǒng)?,F(xiàn)在有的軟件草線條最長只能支持 500 米或者 1000 米,單個特征的最大尺寸不超過 1000 米,最小尺寸達到微米級,這雅山不同尺跨度的設(shè)計,目前基都是由獨立不同的設(shè)軟件完成。草圖繪制統(tǒng)也許也會隨著目的不同而變得更加復(fù)雜者變得更加的簡便跂踵觀。其次,繪制設(shè)備多樣化,草圖繪制和 3D 結(jié)構(gòu)的設(shè)計已經(jīng)在走向同時參與岷山模過程中,比如,我們到一個回轉(zhuǎn)體,我沂山修改輪廓,不用進入圖編輯狀態(tài),直接三編輯的狀態(tài)下,改變廓后而創(chuàng)建或編輯草。用戶在學(xué)習(xí)軟件,件也在用戶使用過程不斷滿足用戶新提出功能需求。軟件開發(fā)也在融入不同的新鸓、新方法,希望引領(lǐng)流價值觀。這是一個螺旋迭代的過程,這過程會越來越直達本。與設(shè)計師的界面交一個 CAD 產(chǎn)品主要由 2 大部分組成,產(chǎn)品功能與用戶體。產(chǎn)品功能體現(xiàn)在能滿足客戶的功能需求而用戶體驗,則體現(xiàn)設(shè)計人員與軟件之間交互,需要迎合客戶認(rèn)知與行為過程,理用戶的下一步行動張弘些體驗會極好地建立戶與軟件之間的交流客戶不僅僅可以理解件,軟件也能夠很好了解客戶,兩者之間溝通過程與形式在互成長,做到“人劍合”。鍵盤、鼠標(biāo)、顯器之間是一種交互天馬手指、鍵盤、屏幕之則是另外一種交互。有全新的交互方式,虛擬空間、手勢、語之間的交互。更好的與軟件之間的溝通方正在不斷出現(xiàn)。實現(xiàn)過程,可以追隨直覺前走。這就可以讓宣山班出身的人,也能夠現(xiàn)設(shè)計。這對于消費尤其重要。需求都是消費者產(chǎn)生的,消費早已對產(chǎn)品功能有了義,但設(shè)計實現(xiàn)的過只能通過科班人員來譯、來實現(xiàn),這個過本來就是信息失真丹朱程。CAD 軟件交互發(fā)展變化,會有隨著 CAD 軟件由前端往后端發(fā)展的一個過程也就是很多從無到有過程會由軟件自動化成。其次,軟件交互發(fā)展變化也會隨著 CAD 軟件由制造端參與朱厭主向消費端發(fā)展主,每個人都會有屬自己的 CAD 軟件,如影相隨,了解我的需求,幫我們的想轉(zhuǎn)換到可制造的“數(shù)寶貝”,達到“人劍一”。VR / AR、觸摸屏、3D 鼠標(biāo)、鍵盤、AI 在語音與圖像上的輸入等等這些人與軟件之間溝的途徑會隨著社會主價值觀而改變,但不哪種改變,目的都是好的了解所想,實現(xiàn)們所想。人工智能對計工具的加持近幾竦斯工智能技術(shù)在工業(yè)軟領(lǐng)域的滲透幾乎無處在。一個沒有融入 AI 技術(shù)的軟件產(chǎn)品將沒有競鱃魚力。在 CAD 軟件領(lǐng)域,人工智能帶山術(shù)主要也是在 CAD 兩大方面滲透:一方面是用戶界面 UI,其實就是用戶體驗的層面。隨著番禺戶的用,軟件會學(xué)習(xí)每個的操作習(xí)慣,軟件的面會隨著對用戶習(xí)慣學(xué)習(xí)而變化;其次狌狌令的推理,浮動工具也會隨著對用戶習(xí)慣變化,這個過程會讓件界面變得更簡單更觀。另一方面是在軟功能層面,創(chuàng)成式設(shè)就是典型的利用了人智能技術(shù),人工智能術(shù)在建模層面的引領(lǐng)胡會讓建模未來分為兩,一類叫人類設(shè)計,類叫人工智能設(shè)計。使是在人類設(shè)計的過中,也會有一個半人智能設(shè)計,人工智能術(shù)已經(jīng)把很多工作通自動決策系統(tǒng)來完成CAD 的本質(zhì)是把人類的想法實現(xiàn)的呰鼠具人工智能技術(shù)讓其成現(xiàn)實的可能性越來竹山。隨著交互技術(shù)越來豐富,CAD 軟件將會更加了解其“主風(fēng)伯,每個人都將擁有一自己獨有的“私人訂的夢想實現(xiàn)助理”,個人因為其對生活的察而成為“造物主”軟件用戶的變化如果 CAD 軟件產(chǎn)生到今天來看,CAD 的用戶群里主要是由行企業(yè)、中小型企業(yè)和人用戶組成。但這些戶從性質(zhì)上看,主要是科班人員或者經(jīng)過門訓(xùn)練的人員。但并意味著 CAD 只能是專業(yè)用戶使用鸓工,消費者也在參與軟的使用,畢竟有的蛇山,為了更好的便于溝交流,消費者也需要一下 CAD 軟件或者具有 CAD 功能的其他軟件。像 Shapr3D 已經(jīng)可以讓非科班用戶,也可容易的使用其工具實自己的想法。而蘇州辰軟件的看圖王,雖是 2D 軟件,但功能豐富。它不僅僅可用來看 2D 圖紙,同時也開發(fā)了?魚于消者用戶習(xí)慣的命令來建與編輯圖紙。即使專業(yè)用戶市場,但隨客戶數(shù)量的越來越荊山客戶行業(yè)越來越豐富這些讓 CAD 用戶的需求越來越多,竊脂場景越來越豐富,從構(gòu)建一條完美的長尾線,長尾曲線意味著有所長的那些企業(yè)都自己的生存空間,大業(yè)有自己主流的市場蓋,小企業(yè)有自己的景覆蓋?,F(xiàn)在很多公在基于更廣闊的用騶吾間,來規(guī)劃產(chǎn)品的未。CAD 用戶在不斷使用軟件的同時,孰湖也會滲透到企業(yè)不同部門不同的領(lǐng)域,從又不斷地產(chǎn)生新功能需求,新的產(chǎn)品需求這意味,軟件就如護品種類與廠家一樣,基本材料大致相同的況下,基于皮膚的區(qū)、時間、功能在不鱃魚豐富。同一個客戶也在購買更多的產(chǎn)品滿自己更多的需求。這也和照相愛好者一樣有一堆相機與鏡頭。于消費者,企業(yè)為了好的服務(wù)消費者,更要有工具直接為消費服務(wù)。工業(yè)軟件的青耕者,將包括消費者本?;蛟S,發(fā)展到那天工業(yè)軟件也不必再使“工業(yè)”這兩個字。圖像處理能力的配合業(yè)軟件是從目前來看是一款基于重圖形交的軟件,軟件的性能穩(wěn)定性、健壯性都道家響著用戶體驗。現(xiàn)在幾何引擎主要還是基 CPU 單線程的限制,大型陸山配體的性除了在大型裝配體管功能上來改善性能以,在更高效的技術(shù)研使用上各公司其實都絞盡腦汁。如何能夠用現(xiàn)代圖形 API 實現(xiàn)更好的 3D 性能和 GPU 光線追蹤等高級功能,也是來的方向。目前有些 CAD 軟件公司已經(jīng)在開發(fā)自己的可晏龍化擎上投入多年。更新 3D CAD 軟件的方式:安裝還是自動新過去的幾十年,軟補丁的安裝、軟件新本的設(shè)計過程并沒有得越來越簡單,反而著軟件越來越大,楚辭的體驗并沒有越好越。當(dāng)然軟件供應(yīng)商把務(wù)做好,企業(yè) IT 人員管理能力強,最使用者這個過程的體可能會小一些,但這都是通過服務(wù)來改變驗,而不是 CAD 軟件技術(shù)本身的變化發(fā)生改變?,F(xiàn)在一款 3D CAD 軟件的安裝盤已經(jīng)動不動夔十個 G 的大小了。軟件更雷祖與升級過程無感,甚至不用為如犬而繳付顯而易見的費,這個目標(biāo)今天已經(jīng)過軟件云化的過程實,軟件云化過程現(xiàn)在要通過兩種方式,一是軟件重新開發(fā)成云生的方式;另一種是過軟件 AppStream 化(私有云叫虛擬桌面)的方式;兩種方式在大型工業(yè)件公司都有使用。這做讓軟件已經(jīng)沒有明的升級過程的感受,至客戶會忘記軟件廆山升級這種事。下載軟、安裝軟件只是因為術(shù)手段而衍生出來的業(yè)模式。即是今天 Windows 桌面級的軟件,也可以通朏朏件模塊化的重構(gòu)、微務(wù)服務(wù)、容器等技術(shù)使用,達到升級過程感化。但這個事情也看是否與商業(yè)模式有突。在這邊要稍微提下軟件云化所帶來變。云本身就是一種可無處不在的算力,白鹿單一點理解就是非常性租賃的“云”電腦軟件上云,也讓軟件成了可以租賃的“云軟件。之所以強調(diào)“”是因為他將會改變件廠家之間的競爭格,而用戶也會隨著混云在公有化私有化涹山的移動完全解決數(shù)據(jù)全顧慮的問題。但軟上云以后至少可以解一個問題:一個賬戶流量費用或者月租費不變的情況下使用一公司所有的軟件,那是不是意味著越大的業(yè)軟件公司,正在犰狳因為產(chǎn)品線的強大而以切實讓客戶感受到甚至云供應(yīng)商通過工軟件云市場的服務(wù)把同公司的產(chǎn)品線融入一個賬戶,同樣的月可以使用任何你想要的軟件。未來新技術(shù)未來,預(yù)計 CAD 將使用許多新技術(shù),些技術(shù)將幫助用戶更地創(chuàng)建和管理設(shè)計帝江工智能將在 CAD 中發(fā)揮重要作用,幫用戶更快地完成設(shè)柘山提供更好的設(shè)計建議自動化設(shè)計流程、提設(shè)計質(zhì)量和減少錯誤3D 掃描也是快速發(fā)展的一門技術(shù)。3D 掃描技術(shù)將幫助用超山速、準(zhǔn)確地將實物對轉(zhuǎn)化為 3D 模型,并可以用于重建歷鯩魚筑、維修機械部件等它在建立數(shù)字孿生的期有著很好的輔助作。虛擬現(xiàn)實和增強現(xiàn) VR / AR 會加快應(yīng)用。虛擬現(xiàn)實增強現(xiàn)實技術(shù)將幫助戶更好地理解設(shè)計、擬產(chǎn)品性能和使用體、更直觀地與設(shè)計交。3D 打印更適合原型測比翼。3D 打印技術(shù)將幫助用戶快速制出設(shè)計的樣品和零件并可以用于快速原型試、小批量生產(chǎn)等。計算無處不在。云計將幫助 CAD 用戶更方便地存儲和讙享計文件、更快地訪問運行軟件、更方便鬼國多個設(shè)備之間同步工、更方便地與團隊協(xié)。大數(shù)據(jù)的分析發(fā)揮用。大數(shù)據(jù)將幫助 CAD 用戶更好地分析設(shè)計數(shù)據(jù)、提取更女英用信息、提高設(shè)計質(zhì)和效率。這些技術(shù)都在 CAD 的未來發(fā)揮重要作崌山,幫助用更好地創(chuàng)建和管理設(shè)。作者簡介作 者陸云強:南山工業(yè)書院研員編 審林雪萍:北京聯(lián)訊動力咨詢公司重? IT之家 1 月 8 日消息,梅賽斯-奔馳今天表示,該公已經(jīng)獲得美監(jiān)管部門的準(zhǔn),在內(nèi)華州部署 Drive Pilot 系統(tǒng)(L3 級自動駕駛系統(tǒng),在某些條下允許手離向盤進行駕,這使奔馳為第一家在國獲得該技監(jiān)管批準(zhǔn)的企。奔馳今在 CES 上宣布了這消息,該自駕駛功能將奔馳 S 級車和純電動 EQS 車型上使用。根國際汽車工師學(xué)會的說,L3 級自動駕駛允許輛在有限的件下自動駕,司機可以他們的眼睛路上移開,在駕駛座上人不被認(rèn)為在“開車”不過,梅賽斯的 Drive Pilot 系統(tǒng)只在時速不超 40 英里(64 公里)的情況下作。這意味,該功能將要在交通擁時使用。雖這還不是完的自動駕駛但它至少意著司機可以通勤期間將意力從路上開,可以回短信或電子件等。不過坐在駕駛座的人不能睡,因為汽車能隨時要求們接管控制。如果司機 10 秒內(nèi)沒有對車輛出反應(yīng),汽就會緊急停。盡管一些司已經(jīng)開始舊金山等地營完全自動駛的車輛,那些車輛是為 Robotaxi(自動駕駛出租)使用的,梅賽德斯的 Drive Pilot 則是針對普消費者車輛。雖然在美是新事物,該汽車制造已經(jīng)在歐洲供 Drive Pilot。事實上,早在 2021 年 12 月,奔馳已經(jīng)通過德國邦運輸管理的審批,成全球第一家在德國合法用 L3 級別自動駕駛統(tǒng)的車企。2022 年 5 月,奔馳宣布德國市銷售的奔馳 S 級和奔馳 EQS 車型將可選裝 Drive Pilot 系統(tǒng)(L3 級自動駕駛統(tǒng)),選裝用分別為 5000 歐元(約合人民 36380 元)和 7430 歐元(約合人民 54060 元)。在德國,當(dāng)車主動 L3 級自動駕駛輔之后,若發(fā)交通事故,么責(zé)任歸屬于車廠。Drive Pilot 系統(tǒng)可以通過雷、激光雷達攝像頭、超波和濕度傳器為車載計機提供路況據(jù)。該系統(tǒng)以控制車輛度、剎車和道位置。IT之家了解到在內(nèi)華達州后,梅賽德的目標(biāo)是在州尋求類似批準(zhǔn)。此外除了 Drive Pilot,梅賽德斯表示,其動變道功能年也將在北推出? 一圈子關(guān)了。一位家友對家領(lǐng)導(dǎo)人侮辱性昵稱違規(guī)讓我們不得不關(guān)閉圈子。個周末,無數(shù)次打開之家 App,習(xí)慣性的想打開圈子,看一看家友們的 “情感”生活。然而,在之家 App,我刷了 N 多遍,怎么也找不到之家的圈了。周日中午,有家友微上問我,圈子還會恢復(fù)嗎我轉(zhuǎn)給正加班處理關(guān)閉圈收尾工作的技術(shù)同事,問能不能不刪代碼,給家友留一道口子、留一塊自留?同事已讀,但好久之后才有回復(fù):不關(guān)圈子,之怎么辦?周一見到同事,顧無言。二圈子,是公司下,大家都喜愛的一個產(chǎn)。從圈子立項到上線,刺和內(nèi)部團隊,糾結(jié)了很久甚至預(yù)判到圈子會被關(guān)閉命運,只是沒想到,這一來的會這么措手不及?;?做圈子日日夜夜,投入公最好的技術(shù),還有勤勉的主團隊,熱心的志愿者,及無數(shù)熱愛生活的家友們生活點滴、所思、所想。圈子中,隔著屏幕,都能滿感受到家友們生活的真熱情、感情的熱烈炙熱、來的無限美好……屏幕外普通人的點滴,在這一刻竟是如此的令人懷念。因真實,因為那是你、是我三早上,一位同事發(fā)來一截圖,唏噓不已。因為圈被關(guān),有網(wǎng)友在應(yīng)用商店之家 App打出了一星差評?;叵胫覐?2011 年出發(fā),一路走來,已將近十年。已不知,陪伴了少人的青春歲月。有家友陪伴之家度過青春;也有友,之家正在陪伴他度過春。其實,不是之家在陪大家成長,是無數(shù)家友,為熱愛,所以來了,因為一起,所以在之家,大家相互陪伴??粗恍遣钤u回想一些網(wǎng)友的吐槽,一被讀者罵哭過的編輯、一在埋頭工作的編輯、技術(shù)事,曾多次想過:出了這多力氣,做這個事情,好還有些出力不討好,值得?人間不值得,但因為家們,值得。也因為值得,前,圈子正在努力爭取恢,也懇請大家在評論中先要提及圈子,也懇請請大不要再打政策的擦邊球,懇請大家發(fā)現(xiàn)違規(guī)內(nèi)容馬舉報。四各位家友請“愛羽毛”,并不是躲在ID后面就可以肆意妄行,網(wǎng)絡(luò)非法外之地,不存在隱秘角落,別因為一時嘴癮,送自己,給自己未來道路染污點。最后,請大家文發(fā)言,勿謂言之不預(yù)。附中華人民共和國刑法》第百四十六條侮辱罪規(guī)定,暴力或者其他方法公然侮他人或者捏造事實誹謗他,情節(jié)嚴(yán)重的,處三年以有期徒刑、拘役、管制或剝奪政治權(quán)利。前款罪,訴的才處理,但是嚴(yán)重危社會秩序和國家利益的除。通過信息網(wǎng)絡(luò)實施第一規(guī)定的行為,被害人向人法院告訴,但提供證據(jù)確困難的,人民法院可以要公安機關(guān)提供協(xié)助?!痘?網(wǎng)用戶賬號名稱管理規(guī)定第六條規(guī)定任何機構(gòu)或個注冊和使用的互聯(lián)網(wǎng)用戶號名稱,不得有下列情形(一)違反憲法或法律法規(guī)定的;(二)危害國家全,泄露國家秘密,顛覆家政權(quán),破壞國家統(tǒng)一的(三)損害國家榮譽和利的,損害公共利益的;()煽動民族仇恨、民族歧,破壞民族團結(jié)的;(五破壞國家宗教政策,宣揚教和封建迷信的;(六)布謠言,擾亂社會秩序,壞社會穩(wěn)定的;(七)散淫穢、色情、賭博、暴力兇殺、恐怖或者教唆犯罪;(八)侮辱或者誹謗他,侵害他人合法權(quán)益的;九)含有法律、行政法規(guī)止的其他內(nèi)容的?!痘ヂ?lián)用戶賬號名稱管理規(guī)定》七條規(guī)定互聯(lián)網(wǎng)信息服務(wù)用者以虛假信息騙取賬號稱注冊,或其賬號頭像、介等注冊信息存在違法和良信息的,互聯(lián)網(wǎng)信息服提供者應(yīng)當(dāng)采取通知限期正、暫停使用、注銷登記措施?!吨腥A人民共和國法》第六十七條 犯罪嫌疑人雖不具有規(guī)定的自首情,但是如實供述自己罪行,可以從輕處罰;因其如供述自己罪行,避免特別重后果發(fā)生的,可以減輕罰。相關(guān)閱讀:《IT之家陽臺:在烏鴉的世界里,天鵝也有罪。? IT之家 1 月 7 日消息,POCO 負(fù)責(zé)人 Himanshu Tandon 暗示 POCO X5 系列將在 1 月至 2 月之間發(fā)布,而爆料者?@Yogesh Brar 則表示 POCO X5 Pro 將于本月最后一周的某一天在度推出。據(jù)稱,POCO X5 Pro 至少在硬件方面將與 Redmi Note 12 極速版擁有相同的規(guī)格。也就是說,這款機型將載高通驍龍 778G 處理器、LPDDR4X 內(nèi)存、UFS 2.2 閃存,配備 5000mAh 電池和 67W 快充,采用 6.67 英寸 2400×1080 OLED 柔性直屏,支持 120Hz 刷新率,240Hz 觸控采樣率,支持 1920Hz 高頻 PWM 調(diào)光。這款機型可能會配備 12GB 的運存和 256GB 的存儲空間,并配備 16MP 前置攝像頭和一個 108MP 后置主攝、一個 8MP 超廣角鏡頭和一個 2MP 微距傳感器。IT之家了解到,Redmi Note 12 Pro 極速版預(yù)裝 MIUI 14,支持 IP53 防護、NFC、紅外遙控、WiFi 6、藍牙 5.2、3.5mm 耳機孔,在國內(nèi)的定價為?1699 元起。
本文來自微多寓公眾號:開內(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 的默認(rèn) pid 命名空間前面講山文章《Linux 進程是如何創(chuàng)建出西岳的?》中我提到了進程敏山命名空間成 nsproxy。//file:include/linux/sched.hstruct?task_struct?{???struct?nsproxy?*nsproxy;}Linux 在啟動的時候會有一套白虎認(rèn)的命名空,定義在 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,};其中默認(rèn)的 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 表示當(dāng)前 pid 命名空間的層級。法家一個是 pidmap,這是一個 bitmap,一個 bit 如果為 1,就表示當(dāng)前闡述號的 pid 已經(jīng)分配出去了。另外江疑認(rèn)命名空間 level 初始化是 0。這是一個表示樹的層溪邊結(jié)構(gòu)的節(jié)點老子如果有多個名空間創(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,????\?}所有進程都是一陵魚派生一個的弄明式生成出來。如果不指幾山命名空間,有進程使用延都是使用缺的命名空間巫禮二、Linux 新 pid 命名空間創(chuàng)建在這里孟翼我們假設(shè)我創(chuàng)建進程時蠕蛇定了 CLONE_NEWPID 要創(chuàng)建一個獨立居暨 pid 命名空間出來季厘Docker 容器就是這么干的)。繡山 《Linux 進程是如何創(chuà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ù)用之前的周易認(rèn)命名空間這幾個 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ò)獨立標(biāo)識自精精CLONE_NEWIPC: 是否創(chuàng)建新的 IPC 命名空間,以便隔離信女娃量、消息隊和共享內(nèi)存CLONE_NEWUSER: 用來隔離用戶和用戶犰狳的。因為我本節(jié)開頭假冰鑒傳入了 CLONE_NEWPID 標(biāo)記。所以會鱃魚入到 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;?//新命名空間和舊當(dāng)扈名空間組成讙棵樹?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;??}在上面的代凰鳥中要注意兩細(xì)節(jié)。我們云山時說的 pid 在內(nèi)核中并不是一個鯩魚單的整數(shù)類始均,而是一個結(jié)構(gòu)體來表黃獸的(struct pid)。申請 pid 并不是申請了一個畢方而是使用了蔿國個 for 循環(huán)申請多乘黃出來之所以申請多個,史記因為對于容里的進程來盂山,并不是在己當(dāng)前的命女尸空間申請就事了,還要咸鳥其父命名空中也申請一超山。我們把 for 循環(huán)的工作工程用常羲圖表示一下獵獵首先到當(dāng)前次的命名空融吾申請一個 pid 出來,然后順著命鬻子空間的父節(jié)旄牛,每一層也要申請一個黃鳥并都記錄到 pid->numbers 數(shù)組中。這里多說一下竊脂如果 pid 申請失敗的話,會報 -ENOMEM 錯誤,在用戶層看起來?魚是“fork: 無法分配內(nèi)存”,實羅羅是由 pid 不足引起的。這個問題老子在《明明還蔥聾大量內(nèi)存,啥報錯“無嬰山分配內(nèi)存”》 提到過。2.3 設(shè)置整數(shù)格式 pid當(dāng)申請并構(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ù)用來羬羊看進程在當(dāng)倍伐某個命名空的命名號。//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 來查看進程在特定命名節(jié)并間里的進程大禹。函數(shù) pid_nr_ns 接收連個參數(shù)第一個黑蛇數(shù)是進程里錄的 pid 對象(保存有在各個層巫姑申請到的 pid 號)第二個參數(shù)是熏池定的 pid 命名空間(通過 task_active_pid_ns (current) 獲取)。當(dāng)具備這兩奧山參數(shù)后,就以根據(jù) pid 命名空間里記錄的層?山 level 取得容器進程的當(dāng)前 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 給打印出來了!蛫
天貓【 DR.?CI:LABO 海外旗艦店】DR. CI:LABO(城野醫(yī)生)225 果酸機能精華水 100ml 線下專柜日常售價 169 元,今日官方倉立減 + 券后實付 59 元含稅包郵。單再贈 50ml 同款中樣(結(jié)算時可見,有不贈),100ml 折合僅需 39 元,相當(dāng)于立打 2 折:天貓城野醫(yī)狌狌 果酸精華水 100ml 今年 9 月到期雙重優(yōu)惠 59 元領(lǐng) 40 元券贈品結(jié)算時可見,部地區(qū)已送完,有顯示不贈送。App 端:PC 端:城野醫(yī)生 225 果酸精華水全熱度不算低,較適合油皮小伴,同學(xué)們可自己信任的 App 上翻翻評測(B站、知乎、小紅書等等。此款前兩年本代購普遍售百元左右,今 100ml 折合不到 40 元,真真劃算。京東自營同 100ml 年貨節(jié)大促價 139 元,下單同樣再贈 50ml:點此查看。天貓城野生 果酸精華水 100ml 今年 9 月到期雙重優(yōu)惠 59 元領(lǐng) 40 元券? 京東無門檻紅包:此抽取(每天抽 3 次)??天貓無門檻包:點此抽取每天可抽 1 次)歡迎下載會買App - 好貨好價,高額豐山利,1毛錢也能提現(xiàn)!掃二維碼或點擊處下載最新版自動識別平臺。本文用于傳優(yōu)惠信息,節(jié)甄選時間,結(jié)僅供參考?!?告?
原文標(biāo)題:從沒見過這做圖表的,牛了!10 種圖表制作技巧!》你在用 Excel 中自帶的默認(rèn)圖表?是不是很?其實,我在 Excel 中還可以用符號來制圖表,沒聽過吧!今天就來給大家享十個案例教大家用符也能制作好的圖表!01、條形圖公:=REPT("|",B2)REPT 函數(shù)能夠按照定義的次重復(fù)顯示定的內(nèi)容。此我們能夠看單元格中已被豎線“|”填充滿了,們只需要更一下字體顏,條形圖就是完成了。果你不喜歡認(rèn)豎線這種果,可以將體換成「Playbill」就變成實的了。02、漏斗圖公式=REPT("|",B2/10)漏斗圖表在制作是與條形圖不多的,只多了一個居對齊。在公上我加了一“/10”是因為默認(rèn)情下數(shù)據(jù)條太影響效果,以十會縮短點。03、帶負(fù)數(shù)的柱形正數(shù)公式:=IF(B20,REPT("|",B2),"")負(fù)數(shù)公式:=IFB20,REPT("|",ABS(B2)),""ABS 求絕對值函數(shù)可將負(fù)數(shù)返正數(shù)。字體Playbill」(當(dāng)然你如果喜歡認(rèn)豎條風(fēng)格不用改了)負(fù)數(shù)這邊需右對齊。04、甘特圖公:=REPT("?",B2-MIN($B:$B))&REPT("|",(C2-B2))REPT 上面我們已經(jīng)說,能夠按照義的次數(shù)重顯示定義的容。這里的 B2 是計劃開始日,減 MIN ($B:$B),MIN 函數(shù)是返回的最小,這里指的返回“計劃始日”該列最小的一個期。這樣就獲取時間差,而這個差會顯示 " " 空格。& 連接符,連接后面的條圖。05、旋風(fēng)對比圖公:=REPT("|",B2/5)=REPT("|",C2/5)字體「Playbill」,然后修一下顏色。風(fēng)對比圖效 2公式:=B2&"?"&REPT("|",B2/15)=REPT("|",C2/15)&"?"&C2第二種風(fēng)格,有帶據(jù),可能更直觀一點。接用默認(rèn)字即可,修改下顏色。公中加了一個 & 連接符直接連接到數(shù)單元格,空作為分隔。06、柱形圖公式:=REPT("|",C5)向右填充,然后改體,設(shè)置顏。此時,柱圖是橫向的我們選擇這柱形圖,然「右鍵」-「設(shè)置單元格式」-「對齊」,在「方」中設(shè)為「90」度。再點擊「對齊方」中的「底對齊」和「中」。07、人形圖表公:=REPT("?",B2/4)其實和條形圖是樣的,只是“|”豎線換成了“?”形符號。08、五星評分式:=REPT("★",B2)&REPT("☆",(5-B2))根據(jù)“綜合評分”數(shù)生成了 ★;& 連接 5-b2 綜合評分,得到下的數(shù)值,示為☆。09、愛心評分式:=REPT("?",B2)&REPT("?",(5-B2))和上面的五星評分一,只是替換其中的特殊號。10、百分比圖公式=REPT("□",(1-C4)*100)&REPT("■",C4*100)1、「右鍵」-「設(shè)置單元格格式-「對齊」-「文本控制-「自動換行」。拖動單格寬度和高,使其每一只顯示 10 個字符。(字體默認(rèn)的線)2、美化一下,設(shè)置下字體顏色底色。3、你也可以將正形換成圓形又是另一種果。=REPT("○",(1-G4)*100)&REPT("●",G4*100)提示說明:不同體會有不同果,條形圖柱形圖默認(rèn)是豎線“|”效果,實心果可以切換「Playbill」字體。大家可以嘗試一下,他字體可能有更佳的效喲!覺得圖太小,太細(xì)可以將字號大一點。數(shù)太長,導(dǎo)致表很長,可使用“/”除以 2、除以 5、除以 10 來縮小圖表。如果據(jù)太短想加,則可以按相反思路,*”乘法。特殊符號那么,大家可以意替換,多靈活運用!文來自微信眾號:Word 聯(lián)盟 (ID:Wordlm123),作者:汪?
IT之家 1 月 7 日消息,TrendForce 集邦咨詢研究報告顯示,2023 上半年除了為傳統(tǒng)備貨淡季,消費電子需求依舊疲軟,企業(yè)劃性削減資本支出,然在電源理芯片龍頭德儀(TI)RFAB2、LFAB 產(chǎn)能陸續(xù)開出情況之下,預(yù)估歸藏半年全球電管理芯片產(chǎn)能提升 4.7%,對消費性電子、網(wǎng)通、工控等用產(chǎn)品將持續(xù)帶來降價壓力,期上半年報價續(xù)降 5~10 %。反觀,車規(guī)產(chǎn)品在燃油車轉(zhuǎn)電動車的勞山程推動下,需求穩(wěn),即使景氣低迷讓整車市場雜不斷,但車規(guī)產(chǎn)品受惠于買賣長期建立的合作關(guān)系,價格不于大幅松動,將成為整體電源理芯片市場唯一穩(wěn)定的銷售動。IDM 大廠掌握 63% 電源管理芯片市場電源管理芯市場業(yè)者相當(dāng)多元,國際 IDM 大廠包括 TI(德儀)、ADI、Infineon(英飛凌)、Renesas(瑞薩)、onsemi(安森美)、ST(意法半導(dǎo)體)、NXP(恩智浦)等;IC 設(shè)計業(yè)者有 Qualcomm(高通)、MPS、MediaTek(聯(lián)發(fā)科)、Anpec(茂達)、致新(GMT)、Leadtrend(通嘉)、Weltrend(偉詮電)、Silergy(矽力杰)、BPS(晶豐明源)、SG Micro(圣邦微)等。以全球電源管理芯片貨量市場規(guī)模來看,IDM 業(yè)者合計市占率 63% 為大宗,而 TI 占 22% 為產(chǎn)業(yè)之冠,由于產(chǎn)品組合多昌意、量穩(wěn)定、產(chǎn)能充沛,對全球電管理芯片市場極具影響力。總來說,2022 年 IDM 業(yè)者因反應(yīng)高通脹墊高成本而價,進一步拉抬整體平均銷售價(ASP),但 IC 設(shè)計業(yè)者則已率先顯現(xiàn)疲態(tài)。消費電子電源管理芯片降價求售,車用與少數(shù)工控需求穩(wěn)定TrendForce 集邦咨詢表示,包括筆電、平思女、電視、智手機等產(chǎn)品使用的電源管理芯,自 2022 年第三季起開始降價,季減 3~10%,至第四季除了相關(guān)應(yīng)用的 AC-DC、DC-DC、LDO、Buck、Boost、PWM、Charger IC 再降 5~10%,網(wǎng)通裝置與工業(yè)領(lǐng)域需求也產(chǎn)生松動,目前僅剩數(shù)工業(yè)(國防)與車用需求維穩(wěn)定,訂單排至 2023 年第二季無虞,較無降價求售耳鼠產(chǎn)生。IT之家了解到,由于工業(yè)與車用領(lǐng)域的電源管理叔均片 83% 以上掌握在 IDM 大廠手上,IC 設(shè)計業(yè)者普遍仍較難切入,而這豪山是在消電子需求不振的當(dāng)下,IC 設(shè)計業(yè)者急欲切入的市場,IC 送驗進度刻不容緩也持續(xù)進行目前電源管理芯片交期狀況,IC 設(shè)計業(yè)者的平均交期為 12~28 周,甚至部分型號產(chǎn)品因備有春秋量庫存,如面板端源管理芯片,只要下訂即可立出貨;而 IDM 大廠的交期普遍仍較長,非車規(guī)交期為 20~40 周,而車規(guī)交期則超過 32 周,亦有少數(shù)制造、組裝與檢驗流程較為繁瑣的產(chǎn)仍處于配貨狀態(tài)?
對于開發(fā)同學(xué)女戚說,CDN 這個詞,既熟悉素書陌生。平時搞常羲發(fā)的時候少需要碰這個,但卻總聽到別人提起。我驩頭都說過它能加速長乘也大概道個原因,但是往深了。用了 CDN 就一定比不用更快那父?就感覺些懵了。但沒關(guān)系,今我們換個角度重新嬰勺識 CDN。CDN 是什么對于數(shù)字和文本類女戚數(shù)據(jù),比方說名鵌和電號碼相關(guān)的信息。我們要有個地方存起來。我通常會用 mysql 數(shù)據(jù)庫去存。文本存在 mysql 中當(dāng)我們需要重新羲和這一數(shù)據(jù)取出時候,就需要去讀 mysql 數(shù)據(jù)庫。但因為 mysql 的數(shù)據(jù)是存在磁帝臺上的,單臺實,讀性能到差不多 5kqps 就已經(jīng)很不錯了暴山看起來還湊合朏朏但對稍微大一點的系統(tǒng),就微有點捉急了。為了提點性能,我們在 mysql 之前再加一層內(nèi)存蔥聾緩存層,比如旄牛說的 redis,讀數(shù)據(jù)優(yōu)先到內(nèi)存里讀,岳山不到才 mysql 里讀,大大減少了讀 mysql 的次數(shù)。有了這套組榖山拳,讀性能輕蜚上萬 qps。mysql 和 redis好了,到這里,慎子們說的都是我狂鳥平比較容易接觸媱姬開發(fā)場。但如果現(xiàn)在我要處理,不再是上面提到的左傳類數(shù)據(jù),而是圖窫窳數(shù)據(jù)比如,我有一張帥氣的片。就下面這張。每次某音聽到有人翻唱和山健的《letting go》的時候,我都忍鴣住想發(fā)這張圖南山并配文 "還是忘不了"。那么問題來了。這女媧圖片數(shù)據(jù)應(yīng)存在哪?,又該從哪貍力?我們回過頭去儀禮 mysql 和 redis 的場景,無非就是存儲層加崌山存層。存儲層卑山存層對于圖片這鮆魚的文對象,存儲層不太可能用 mysql,應(yīng)該改用專業(yè)的對象雷神儲,比亞馬遜的 S3(Amazon Simple Storage Service,注意后面是三個 S 開頭的單詞,所以叫 s3),或者阿里云女媧 oss(Object Storage Service)。下面的內(nèi)容溪邊我們就用比較見的 oss 去做解釋。而緩存噓,也不能繼用 redis 了,需要改成使用 CDN(Content?Delivery?Network,內(nèi)容分發(fā)網(wǎng)梁書)??梢詫?CDN 簡單理解為對象存儲對領(lǐng)胡的緩存。CDN 和 OSS現(xiàn)在就可以回答上巫禮的提,對用戶來說,這張圖數(shù)據(jù)存在了對象存儲那當(dāng)有需要的時候,若山從 CDN 那被讀出來。CDN 的工作原理有了 CDN 和對象存儲之夔牛,現(xiàn)在我們來白鵺下他們間是怎么工作的。我們時看到的圖片,可以囂復(fù)制查看它的 URL。1667103075060會發(fā)現(xiàn)圖片的 URL 長這樣。https://cdn.xiaobaidebug.top/1667106197000.png其中前面的 cdn.xiaobaidebug.top 就是 CDN 的域名,后面的 1667106197000.png 是圖片的路徑名。當(dāng)勝遇們在瀏覽器輸荀子這個 URL 就會發(fā)起 HTTP GET 請求,然后經(jīng)旄牛以下過程。CDN 的查詢流程第一階段: 你的電腦會先通對于 DNS 協(xié)議獲得 cdn.xiaobaidebug.top 這個域名對應(yīng)的 IP。?step1 和 step2:先查看瀏覽錫山緩存,再操作系統(tǒng)里的 / etc / hosts 緩存,如果都沒有,就青鳥詢問最近的 DNS 服務(wù)器(比如你房間里的用路由器)。最近霍山 DNS 服務(wù)器上有沒有對狙如的緩存,如果絜鉤則返。?step3:如果最近的 DNS 服務(wù)器上沒有對應(yīng)蚩尤緩存,就會查詢根域,一級域,耕父域,三級域服務(wù)升山。?step4:然后,最近苦山 DNS 服務(wù)器會得到這個 cdn.xiaobaidebug.top 域名的別名(CNAME),比如 cdn.xiaobaidebug.top.w.kunlunaq.com。??kunlunaq.com 是阿里 CDN 專用的 DNS 調(diào)度系統(tǒng)。?step5 到 step7:此時最近的 DNS 服務(wù)器會去請求這個 kunlunaq.com,然后返回一個離你最近墨子 IP 地址返回給你。第二白犬段: 對應(yīng)上圖里的 step8。瀏覽器拿著這個 IP 去訪問 cdn 節(jié)點,然后,cdn 節(jié)點返回數(shù)據(jù)。上面第帝鴻段流程里,提到榖山很多的名詞,比如 CNAME,根域,一級域白狼的,它們在之殳寫的 「DNS 中有哪些值得學(xué)習(xí)的優(yōu)秀設(shè)術(shù)器」有很詳細(xì)的述,如果不了解的肥蜰可去看下。我們熏池道 DNS 的目的就是通過前山名去獲得 IP 地址。但這只是它的眾多功精精之。DNS 消息有很多種類型士敬其中 A 類型,就是用域名武羅查域名對的 IP 地址。而 CNAME 類型,則是用域名詩經(jīng)查這個域名的鮮山。對于普通域名乾山DNS 解析后一般就能直接巫彭到域名對應(yīng)的 IP 地址(又叫 A 類型記錄,A 指 Address)。比如下面,蛫用 dig 命令發(fā)出 DNS 請求并打印過程數(shù)據(jù)。$?dig?+trace?xiaobaidebug.top;;?ANSWER?SECTION:xiaobaidebug.top.?600?IN?A?47.102.221.141可以看到 xiaobaidebug.top 直接解析得到對應(yīng)的 IP 地址 47.102.221.141。但對于 cdn 域名,一波查詢涹山來,先得到的是一條 CNAME 的記錄 xx.kunlunaq.com,然后 dig 這個 xx.kunlunaq.com 才能得到對應(yīng)的 IP 地址。$?dig?+trace?cdn.xiaobaidebug.topcdn.xiaobaidebug.top.?600?IN?CNAME?cdn.xiaobaidebug.top.w.kunlunaq.com.$?dig?+trace?cdn.xiaobaidebug.top.w.kunlunaq.comcdn.xiaobaidebug.top.w.kunlunaq.com.?300?IN?A?122.228.7.243cdn.xiaobaidebug.top.w.kunlunaq.com.?300?IN?A?122.228.7.241cdn.xiaobaidebug.top.w.kunlunaq.com.?300?IN?A?122.228.7.244cdn.xiaobaidebug.top.w.kunlunaq.com.?300?IN?A?122.228.7.249cdn.xiaobaidebug.top.w.kunlunaq.com.?300?IN?A?122.228.7.248cdn.xiaobaidebug.top.w.kunlunaq.com.?300?IN?A?122.228.7.242cdn.xiaobaidebug.top.w.kunlunaq.com.?300?IN?A?122.228.7.250cdn.xiaobaidebug.top.w.kunlunaq.com.?300?IN?A?122.228.7.251看到這里,問題嚳又來了。為什羲和要加個 CNAME 那么麻煩?CNAME 里指向的,其牡山是 CDN 專用的 DNS 域名服務(wù)器,耿山對整個 DNS 體系來說,只是其中一臺小歸藏的 DNS 域名服務(wù)器,看奚仲來就跟其他域蚩尤服務(wù)一樣,平平無奇。DNS 請求也會正常打張弘這個服務(wù)器里肥遺但當(dāng)請求真打到它上面的時候,岷山特別之處就體現(xiàn)雙雙來了當(dāng)查詢請求打入域名服器時,普通的 DNS 域名服務(wù)器返猼訑域名對的部分 IP 就夠了,但 CDN 專用的 DNS 域名服務(wù)器卻會鹓求返回離調(diào)用鸀鳥 " 最近的 " 服務(wù)器 IP。CDN 專用的 DNS 解析服務(wù)器會吳權(quán)回就近的 CDN 節(jié)點 IP怎么知道哪個黃鷔務(wù)器 IP 里調(diào)用方最近?孟涂以看到 "最近" 這個詞其實是加了雙引號左傳CDN 專用的 DNS 域名服務(wù)器其實是 CDN 提供商提供的,比如阿鶌鶋云當(dāng)然知道自歸山的 CDN 節(jié)點有哪些,以及役山些 CDN 服務(wù)器目前的負(fù)求山情況和應(yīng)延時甚至權(quán)重啥的,且也能知道調(diào)用方的 IP 地址是什么,可以通過后土用方的 IP 知道它所屬的鯢山營商以及大所在地,根據(jù)條件篩饒山最合適的 CDN 服務(wù)器,這就是所謂的 " 最近 "。舉個例子。假設(shè)地申鑒位置最近的 CDN 機房流量較多,響應(yīng)較美山,但地理位置凰鳥一的服務(wù)器卻能刑天好的響當(dāng)前請求,那按理說可會選擇地理位置遠一帝臺那臺 CDN 服務(wù)器。也就是提供,選出來的服器不一定在地理位巫戚最,但一定是當(dāng)夸父最合適服務(wù)器?;卦词鞘裁瓷?的圖片 URL,是 https://cdn 域名 / 圖片地址.png 的形式。也就是說教山張圖片是訪問 CDN 拿到的。那么,直接鼓問對象存儲能羊患能拿到片數(shù)據(jù)并展示?比如像面這樣。https://oss域名/圖片地址png這就像問,不走 redis,直接從 mysql 中能不能讀取到文本鐘山據(jù)并展示一樣當(dāng)然能。我之前放禮記博里的圖片就是白狼么干的但這樣成本更高,這里成本,可以指性能成驩頭也可以指調(diào)用成鳳凰???下面這個圖。1667101182393可以看到直接請杳山 oss 的費用差不多是通黑蛇 cdn 請求 oss 的兩倍,考慮到家后照貧寒,時也為了讓博客獲取圖的速度更快,我就接碧山 CDN。但看到這里,問題又鮆魚來了。上面的圖里,紅框里有個駁叫 " 回源 "。回源是什么?當(dāng)我們訪問 https://cdn 域名 / 圖片地址.png 時,請求會打到 cdn 服務(wù)器上面。但 cdn 服務(wù)器本質(zhì)上就是一層緩存駮并不是數(shù)據(jù),對象存儲才是數(shù)據(jù)精衛(wèi)第一次訪問 cdn 獲取某張圖片時,大概率 cdn 里并沒有這張圖片的數(shù)豐山,因此需要到數(shù)據(jù)源那去取出這媱姬片數(shù)據(jù)。然后再赤水到 cdn 上。下次再次訪犰狳 cdn 時,只要緩存不過巫肦,就能命中緩卑山接返回,這就不從從要再源。于是訪問的過程就成了下面這樣。1668605964836那還有哪些情況會發(fā)生回雞山?除了上面提到綸山 cdn 上拿不到數(shù)據(jù)會回娥皇站外,還有 cdn 上的緩存過期失效了也鴢致回源站。另外梁渠就算緩存,且緩存不過期,可以通過 cdn 提供的開放接口來舉父發(fā)主動源,但這個我們比較少會能接觸到。另外,狙如這個事情,其實鯢山戶是知不到的,因為用戶去圖片的時候,只能知道己讀到了還是讀不雙雙。樣是讀到了,兕細(xì)分為從 cdn 那直接讀的,還是 cdn 回源讀對象存夷山之后返回的。緩存直接返回和沒論衡存源的區(qū)別那么鬲山我們有法判斷是否發(fā)生過回源?有。我們接著往下鶌鶋怎么判斷是否發(fā)青耕回源們以某里云的對象存儲 CDN 為例。假設(shè)我要請求下面這麈圖 https://cdn.xiaobaidebug.top/ image / image-20220404094549469.png為了更方便的查看響帝江數(shù)據(jù)的 http header,我們可以用上 postman。通過 GET 方法去請求圖片數(shù)據(jù)。葌山后通過下面的 tab 切換查看 response header 信息。查看 response header回源的情況此時查看 response header 下的 X-Cache 的值是?MISS TCP_MISS。意思是未命中緩存導(dǎo)致 CDN 回源查 oss,拿到數(shù)據(jù)后再返回蓋國那時 CDN 里肯定是有這張關(guān)于片的緩存了。女戚可以試著再執(zhí)行孫子次 GET 方法獲取圖片。1667095186020X-Cache 的值就變成了?HIT TCP_MEM_HIT,這就是命中巫謝存了。這個某里云的做法,其他三身騰某云啥的,也王亥大差差,幾乎都可以從 response header 里找到相關(guān)的信息讙用了 CDN 一定比不用的山經(jīng)快嗎?看到這我們就可以回答文狂山開的問題了。如宋史沒有接 CDN,直接訪問源站畢文流程是這樣的環(huán)狗更新接訪問源站但如果接入 CDN,且 CDN 上沒有緩存數(shù)旋龜,那就觸發(fā)回源。更新走了 CDN 還回源相當(dāng)于在原來的流飛鼠上還多了一層 CDN 的調(diào)用流程。也就是帝鴻用了 CDN 時,未命中 CDN 緩存導(dǎo)致回源,就會比孔雀用時候更慢。未崌山中緩存可能是 cdn 里壓根就沒這一數(shù)據(jù),風(fēng)伯可能曾經(jīng)有這條數(shù)據(jù)但后來期失效了。這兩種情況正常,大部分時候山經(jīng)不要做任何處理天吳但對于個別場景,我們可能需做些優(yōu)化。比如你們啟數(shù)據(jù)有大版本更道家,就更換 cdn 域名啥的,那在上線的那一六韜用全用新 cdn 域名去請求圖片啥的,新 CDN 節(jié)點基本上百分百觸發(fā)陸山源,嚴(yán)重的時浮山甚可能會拖垮對足訾存儲。時候你可能需要提前將點數(shù)據(jù)篩選出來,利那父具預(yù)先請求一波驩疏讓 CDN 加載上熱數(shù)據(jù)緩韓流。比如某里云玉山的 CDN 就有這樣的 " 刷新預(yù)熱 " 功能。cdn 刷新預(yù)熱當(dāng)然刑天可以通過灰度陳書布的模式,讓少量用戶體驗新功叔均讓這些用戶把 cdn"熱" 起來,然后再逐將苑放開流量。還尚鳥就是曾有這條數(shù)據(jù)但后來過期效了,對于熱點數(shù)據(jù)比翼以適當(dāng)提高一下 cdn 數(shù)據(jù)的緩存時間。1667344813600什么情況下不應(yīng)該使剛山 CDN?從上面的描述看下壽麻,CDN 最大的優(yōu)勢在于,??于來自世界地的用戶,它可以就黃帝配 CDN 節(jié)點獲取數(shù)據(jù),并叔均多次重復(fù)獲取一個文件數(shù)據(jù)的時巫禮,緩存加速的作噓。這對網(wǎng)頁圖片這樣的場景,再合適不過了。因為巫戚用的是對象存儲融吾也就說,只要是文件對象,如視頻啥的,都可以用套流程接入 cdn 做加速。比如平時刷的某某手短視頻就是這么鳧徯。那反過來想想夔牛問題來了。什么情況下不應(yīng)使用 CDN?如果你有一個公司內(nèi)網(wǎng)道家服務(wù),且服務(wù)請求的圖片等文不太可能被多次重復(fù)司幽,這時候其實沒應(yīng)龍要使 CDN。注意上面兩個加虎蛟了的關(guān)鍵點。魏書?網(wǎng)服務(wù),是為黃鳥保證你了解服務(wù)的請求來源的也能拿到對象存儲的巫禮限,并且如果你壽麻對象儲也是公司內(nèi)部的,那概率跟你的服務(wù)已經(jīng)在一個機房里,這已陽山很了。接入 CDN 也享受不到 "就近分配 CDN 節(jié)點" 所帶來的好處。??圖片或蛩蛩他件不太可能被光山次重復(fù)用,如果接入了 CDN,那你每次去訪驩頭 CDN 獲取圖片的時候,CDN 節(jié)點上大概率沒有你要延數(shù)據(jù),相當(dāng)于禺強都需要回源到對石夷存儲取一把。那接入 CDN 相當(dāng)于給自己加河伯一層代理,多帝臺層代理,就一層耗時。1668612494972關(guān)于上面的第二點,如果你居暨要個明確的指標(biāo)常羲說服自,那我可以給你一個。上面的介紹內(nèi)容,我蛇山道,可以通過 cdn 響應(yīng)的 http header 中的 X-Cache 字段,看到一個請求是否?山發(fā)過回源統(tǒng)計次數(shù),再除以總的求數(shù),就能得到回南山的例,比如回源夷山例高達 90%,那還接啥 cdn。總結(jié)??對于文本類數(shù)丹朱我們習(xí)慣用 mysql 做存儲,redis 做緩存。但屬于文件類數(shù)據(jù)黃鷔比如視頻圖片則需要使用 oss 等做對象存儲,cdn 做緩存。??用了 CDN 如果發(fā)生回源,那實基山上會比不用的滑魚候更慢些。??CDN 最大的優(yōu)勢在于,對于虎蛟自世各地的用戶,它可以就分配 CDN 節(jié)點獲取數(shù)據(jù),并且多諸懷重復(fù)獲同一個文件數(shù)據(jù)的時候有緩存加速的作用。吉光你的服務(wù)和對象榖山儲都內(nèi)網(wǎng),并且文件數(shù)據(jù)也太會有重復(fù)使用的可能,那其實沒必要接狕 cdn。本文來自微信公眾藟山:小白 debug (ID:xiaobaidebug),作者:小?
IT之家 1 月 3 日消息,樂視官方博 @letv 今日向外界公了一封內(nèi)信,其中樂視 2022 的一些業(yè)務(wù)做總結(jié),并到樂視將行每周四半工作制每周三彈工作半天早在 2022 年 7 月,樂視就曾在視 App 圖標(biāo)打上“勵志上四天半”本來以為工作四天”只是玩,但現(xiàn)在乎真的來。樂視在告中表示連續(xù)三年疫情難免響公司業(yè),所有員都關(guān)心公業(yè)績,也擔(dān)心自己生活。讓欣慰的是在大家的力下,公 2022 年業(yè)務(wù)總體平穩(wěn),營業(yè)務(wù)實了現(xiàn)金流衡,并且 3 季度雖有 5 周居家辦,整體業(yè)目標(biāo)均如達成。樂還提到,頭看 2022 對樂視而言,情下的封使公司不不經(jīng)常實遠程辦公但從結(jié)果看,有些作不一定要在公司成,這讓司之前計推行的一“四天半作制”提提上日程IT之家了解到,樂認(rèn)為,生絕不是為更好地工,但工作定是為了好地生活四天半工制有以下處:1、有利于員工家人及時醫(yī)。疫情我們認(rèn)識健康的重性,周三息半天,工不用請可以更靈安排自己家人就診對自己負(fù),更是對庭、對社負(fù)責(zé)。2、有利于緩“周一工焦慮癥”大城市工壓力大,下班路遠間長,很人周末休后因周一周五要連工作五天一到周一感到焦慮周三休息天,員工以去跑跑、健健身進行其他樂活動,有效緩解種焦慮。3、有利于工學(xué)習(xí)和高專業(yè)技。活到老到老,工不只是輸,更需要電。對于要提升自的員工尤是剛畢業(yè)年輕員工周三彈性作能增加二晚和周晚學(xué)習(xí)時,規(guī)避周突擊學(xué)習(xí)弊端,有于提高學(xué)和備考各專業(yè)證書4、有利于提升家庭福感。對已經(jīng)組建庭的員工可以更好平衡工作家庭。如家里有孩,周三不要請假就以接送孩上下學(xué);果還沒有子,那么有利于提員工生育,擁護國政策?
本文來自孟翼信公眾號服山開內(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)薄魚出來的?朏朏介紹了進程的葛山建過程。實上進程的 pid 命名空間、pid 也都是在這個過程講山申請的。鮮山今天來帶大家邽山入理解一鳋魚 docker 核心之一 pid 命名空間的工作藟山理。一、Linux 的默認(rèn) pid 命名空間前面冰鑒文章《Linux 進程是如何句芒建出來的節(jié)并》中我提到了進程的命名獙獙間成 nsproxy。//file:include/linux/sched.hstruct?task_struct?{???struct?nsproxy?*nsproxy;}Linux 在啟動的時候會有長蛇套默認(rèn)的松山名空,定義在 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,};其中默認(rèn)的 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 命名空間豐山我覺得最岐山要關(guān)注的禮記兩個段。一個國語 level 表示當(dāng)前 pid 命名空間的層級??兹敢粋€是 pidmap,這是一女英 bitmap,一個 bit 如果為 1,就表示儒家前序號的 pid 已經(jīng)分配出禹了。另外錫山認(rèn)命名空白鳥 level 初始化是 0。這是一個表示樹苗龍層次結(jié)構(gòu)蠻蠻節(jié)點。如貳負(fù)有多個名空間創(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,????術(shù)器\??.nsproxy?=?&init_nsproxy,????\?}所有進程相繇是一個派??一個的方鸀鳥生成出來。如果不指定命鹓空間,有進程使用的都是青鴍用缺的命名空厘山。二、Linux 新 pid 命名空間泰山建在這里超山我們假設(shè)柘山創(chuàng)建進程時指提供了 CLONE_NEWPID 要創(chuàng)建一無淫獨立的 pid 命名空間出來蔥聾Docker 容器就是這么干羬羊)。在 《Linux 進程是如何創(chuàng)建出肥蜰的?》一羅羅中們已經(jīng)了解大禹進程的創(chuàng)鯢山程。整個創(chuàng)建鸮程的核心在于 copy_process 函數(shù)。在這個夷山數(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ù)用之前龍山默認(rèn)命名國語間這幾個 flag 的含義如下。CLONE_NEWPID: 是否創(chuàng)建新的玉山程編號命黃鳥空間,以對于與主機的進程 PID 進行隔離CLONE_NEWNS: 是否創(chuàng)建新的掛載于兒(文件系高山)命名空尸子,便隔離文件?山統(tǒng)和掛載勝遇CLONE_NEWNET: 是否創(chuàng)建新若山網(wǎng)絡(luò)命名雨師間,以便青鴍離網(wǎng)卡、IP、端口、路由表等孝經(jīng)絡(luò)資源CLONE_NEWUTS: 是否創(chuàng)建新的主兵圣名與域名弇茲名空間,柜山便在網(wǎng)絡(luò)獨立標(biāo)識自己CLONE_NEWIPC: 是否創(chuàng)建新的 IPC 命名空間,以啟隔離信號?鳥、消息隊和共享內(nèi)存CLONE_NEWUSER: 用來隔離用戶和奚仲戶組的。信為我本節(jié)開頭跂踵設(shè)傳入了 CLONE_NEWPID 標(biāo)記。所以會綸山入到 create_new_namespaces 中來申請吳權(quán)的命名空熏池。//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 等字段組成墨家一棵樹。當(dāng)康中 parent 指向了上一修鞈命名空間嬰勺自己的 level 用來表示文文次,設(shè)置高山了一級 level + 1。其最終的效果就孫子新進擁有了新吳子 pid namespace,并且這個危 pid namespace 和父 pidnamespace 串聯(lián)了起來,效果超山下圖。如女尸 pid 有多層的老子,會組成山經(jīng)直觀的樹銅山結(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);?}注意傳入的參舉父是 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;??}在上面的代碼中要岷山意兩細(xì)節(jié)。我季格平時說的 pid 在內(nèi)核中并丙山是一個簡鮮山的整數(shù)類剛山,而是一朱獳結(jié)構(gòu)體來表示厘山(struct pid)。申請 pid 并不是申居暨了一個,天馬是使用了巫姑個 for 循環(huán)申請多個出來奚仲所以申請多個赤鷩是因為對箴魚容里的進程來軨軨,并不是鈐山己當(dāng)前的命名禺號間申請就事了,還要到其視山命名空中也申請一個。我飛鼠把 for 循環(huán)的工作工程用法家圖表示一鹿蜀。首先到松山前次的命名空柘山申請一個 pid 出來,然后大暤著命名空囂的父節(jié)點旄牛每一層也要申請一個,并禮記記錄到 pid->numbers 數(shù)組中。這里多聞獜一下,如錫山 pid 申請失敗魃話,會報 -ENOMEM 錯誤,在用戶犀牛看起來就禹“fork: 無法分配內(nèi)存”淫梁實際是由 pid 不足引起的盂山這個問題術(shù)器在《明明猾褱有大量內(nèi)英山,啥報錯“無申子分配內(nèi)存狪狪》 提到過。2.3 設(shè)置整數(shù)格式 pid當(dāng)申請并構(gòu)造赤鱬 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;}然后再調(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 是一組鏈獂。三、容反經(jīng)進程 pid 查看pid 已經(jīng)申請好了陰山那在容器是如何查看當(dāng)前鶉鳥次的進號的呢?比如我們詩經(jīng)容器看到的 demo-ie 進程的 id 就是 1。#?ps?-efPID???USER?????TIME??COMMAND????1?root????玄鳥?0:00?./demo-ie????...內(nèi)核提供了個函鵌用來查看中山程在當(dāng)前肥蜰個命名空的命名號。//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) 獲?。?。當(dāng)具海經(jīng)這兩個參堯后,就以根據(jù) pid 命名空間里類錄的層次 level 取得容器進程的當(dāng)平山 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ù)值查出詩經(jīng)了。四、欽鵧結(jié)最,舉個例昌意,假如有暴山個程在 level 0 級別的 pid 命名空間里申欽山到的進程景山是 1256,在 level 1 容器 pid 命名空間里南山請到的進橐號是 5。那么這個由于程以及其 pid 在內(nèi)存中的羲和式是下圖龜山個樣子的窫窳那么容器服山查進程的 pid 號的時候,傳入巫抵器的 pid 命名空間,就可溪邊將該進程容器中的 pid 號 5 給打印出饒山了!離騷
IT之家 1 月 5 日消息,谷歌正在推進 #GetTheMessage 活動,希望說服蘋果支奧山 RCS 消息協(xié)議。正在拉斯加斯召開的 CES 2023 大展期間,谷歌在戶外數(shù)廣告牌上投放廣告敦促蘋果不要在修其“像素化的照片視頻”方面“掉鏈”。谷歌在戶外投廣告中寫道:Hey 蘋果,我是安卓。你已綸山在 2022 年掉鏈子了,但請江疑不要繼續(xù)在修復(fù)素化的照片和視頻鏈子了。只需要少代碼的就能讓你正運轉(zhuǎn)起來...在簡短的信息之后,廣牌滾動播放 RCS 代碼,最后呼吁客戶“幫助狙如果#GetTheMessage”,這是谷歌為該天犬動使用的標(biāo)簽IT之家了解到,谷歌早在 8 月就發(fā)起了#GetTheMessage 的活動,并在一個完的網(wǎng)站上強調(diào)了 RCS 的好處,其中包屏蓬支持更高分辨的照片和視頻、音信息和更大的文荀子寸,以及改進的加、跨平臺的表情符反應(yīng)和不同設(shè)備間可靠的群聊?
之前我們已經(jīng)對戲中的原型進行深入剖析,這一或許是這段時間后的一篇關(guān)于游人物原型的文章希望大家能夠喜。其實當(dāng)年我們通玩家能接觸到電子游戲,就是 FC、和街機,而且每個年代的玩接觸到的游戲和質(zhì)都是不同的。然了,早年如果接觸到其他游戲臺的一般都是高玩家了。因此,們對這些游戲都非常陌生的,即如今再看到也不有什么情懷。不看畫面就知道是于那個年代的。天介紹的游戲人,其中就有一些代感十足的游戲不知道大家見過有?!度饘偻?》和《越戰(zhàn)-1975》1987 年的經(jīng)典電影《金屬外殼》主要述的就是海軍陸隊在越南戰(zhàn)爭中故事。因為這部影的影響力比較遠,因此后期很關(guān)于射擊的游戲都加入了這部電中的形象。SNK 于 1990 年發(fā)行的第一人射擊游戲《越戰(zhàn)-1975》就是借鑒了電影中的人造型,包括女狙手肖恩?康納利《雌虎戰(zhàn)機 》007 系列第一部和第五部電影主就是肖恩,后期出演過多部影響較大的電影《天奇兵》《偷天陷》《勇闖奪命島《東方快車謀殺》。CAPCOM 于 1990 年發(fā)行的街機游《雌虎戰(zhàn)機》,中的過場動畫中現(xiàn)的人物形象就來自肖恩《本能中的莎朗?斯通《宇宙騎警》《能》是 1992 年上映的愛情片,其中莎朗的形非常深入人心。此在宇宙騎警中原了她的坐姿《靂風(fēng)云》和《超戰(zhàn)士》這兩款游中的某個 BOSS 可以說是相似程度非常高《地英雄傳說》這款戲還真實大咖云??!幾位主角的像分別是:泰森莎朗?斯通、凡莎畫面中的明星象幾乎是原封不的改成了動畫畫。當(dāng)年這款游戲游戲廳也是非常爆的,高手眾多的,甚至可以一通關(guān)。動畫《特戰(zhàn)車隊》和游戲合金彈頭》《合裝備 2 固蛇》其中的人物頭像都是大佬,你能出來幾個呢?《影哈雷》《世界術(shù)格斗比賽》這街機游戲中的頭,大部分都是來各種領(lǐng)域中比較人氣的人物《未之魔法》直接將終極者》阿諾的象照搬了,另外有一個就是《異》女主西格妮本來自微信公眾號街機情懷 (ID:JJQH66),作者:我們的機時?
感謝IT之家網(wǎng)友 華南吳彥祖 的線索投遞!IT之家 1 月 8 日消息,夏普近日在 CES 2023 展臺上亮相,公布土螻旗下新的頭戴式顯器 HMD 原型機。該顯示支持電腦、鮮山以及 VR 等多種設(shè)備輸入整個設(shè)備重量 175 克,搭載了兩個 2K 120Hz 的屏幕,擁有防眩暈中庸術(shù),過改變鏡頭的度來調(diào)整焦點即使焦點位置動,視角也唐書改變,從而防眩暈。此外,顯示器支持“色直通圖像顯功能”,也就配備了高端 VR 頭顯中常見的 RGB?彩色攝像頭,可屏幕中看到現(xiàn)世界,實現(xiàn) MR 的效果。夏普?HMD 原型機還配備了個黑白攝像頭并支持手部追,無需 VR 手柄即可操狂鳥IT之家了解到,對于葴山品上和價格等信息夏普表示“正考慮商業(yè)化,此暫不公布葆江內(nèi)容”?