欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

芯片設(shè)計公司如何設(shè)計自己的IT環(huán)境?

電子工程師 ? 來源:xx ? 2019-03-16 09:34 ? 次閱讀

從2004年開始,我寫過幾次小型IC設(shè)計中心的IT環(huán)境。比較多的論述了創(chuàng)業(yè)類型的芯片設(shè)計公司,應(yīng)該怎么去設(shè)計自己的IT環(huán)境。這10多年間,有不少初創(chuàng)型的公司來咨詢過如何更好的規(guī)劃IT系統(tǒng),我都盡力協(xié)助解決。

我本人也在這期間經(jīng)歷過各種類型的公司,包括提供EDA平臺的蘇州ICC,做交換機芯片的CentecNetworks,已經(jīng)被收購的Broadcom,做嵌入式CPU的China-Core,以及過去兩年為其工作的初創(chuàng)大型CPU設(shè)計公司,IBM Power8在中國的落地項目中晟宏芯。以上工作經(jīng)歷,給了我很多鍛煉,讓我在面對各種大小類型的IC設(shè)計公司的時候,變得更加成熟。但是,在這個過程中,深感國內(nèi)的IC設(shè)計公司在IT環(huán)境的建設(shè)方面,跟國際大公司比較,差距依然非常大。

如何將自己的經(jīng)驗分享出來,以提高中國IC設(shè)計公司的IT水平,變得越來越重要,也越來越緊迫。希望本文有助于目前在中國逐漸興起的IC設(shè)計行業(yè),在國家的大基金項目下,少走彎路,縮小跟國外的大公司之間的差距。

全文分為11個章節(jié)論述:

1. 基礎(chǔ)設(shè)施建設(shè)(機房,弱電間,接入機房,實驗室機房及實驗室)

2.網(wǎng)絡(luò)結(jié)構(gòu)

3.系統(tǒng)及存儲布局

4.接入及登陸環(huán)境

5.設(shè)計Job的管理

6.數(shù)據(jù)管理

7.版本管理

8.郵件系統(tǒng)

9.EDA軟件管理

10.多site協(xié)同

11.安全

基礎(chǔ)設(shè)施建設(shè)

1.供電

2.制冷

3.布線(水、電、弱電)

4.環(huán)控

5.空間及位置考慮

6.交換機布局,ipmi布局

7.消防

基礎(chǔ)設(shè)施主要包含網(wǎng)絡(luò)、機房等方面,我這里主要介紹的是機房的建設(shè)。過去十多年,我建過幾臺服務(wù)器的小機房,也建過幾百臺服務(wù)器的小型數(shù)據(jù)中心??剂康臇|西很多,因為本篇主要論述大型IC設(shè)計中心的IT環(huán)境,所以主要講的是幾百臺服務(wù)器的機房。

首先,我們來看一張機房的示意圖:

我們可以看到這個數(shù)據(jù)中心分成了多個部分:接入機房,實驗室機房,消防鋼瓶間,UPS配電間,電池間,主機房,值班室。

供電

建設(shè)機房的首要任務(wù)是計算出你到底需要多少功率的負荷,然后對接入電源

跟供電方核對,是否有滿足需求的電力接入。然后可以確定UPS容量,最后通過設(shè)備的斷電后備時間要求,計算出需要多少電池。供電系統(tǒng)是一個很復(fù)雜的設(shè)計,需要機房設(shè)計方認真核對,一旦錯誤,后期很難補救。

作為用戶方:我們提供的信息主要有:總機房設(shè)備的最大負載、供電冗余要求、每機柜多少KW、電池的后備時間。

制冷

目前機房空調(diào)主要有兩種類型:一種是大型的精密空調(diào),通過上送風(fēng)或者下

送風(fēng)的方式,經(jīng)過機房地板形成一個冷熱回路。這種方式在很多地方使用,優(yōu)點是送風(fēng)集中,運維方便。缺點就是噪音大,空調(diào)冷熱路徑長,能耗損失多。另外一種,就是行間空調(diào)。行間空調(diào)顧名思義,就是空調(diào)就位于機柜旁邊,空調(diào)出來的冷風(fēng)就被機柜上放置的服務(wù)器吸入,然后從服務(wù)器后端排出熱空調(diào),形成循環(huán)。

水冷還是風(fēng)冷?

這也是一個難以取舍的選擇。整體來說,風(fēng)冷技術(shù)成熟,能耗比水冷高。但是水冷風(fēng)險高,因為管路的安裝和維護要求高,一旦漏水,對機房來說都是大事故。但是,水冷真的可以很大程度降低能耗。

基于自己的條件,我們選擇了行間空調(diào)風(fēng)冷方式。

布線

機房布線的考慮,經(jīng)常受到環(huán)境的限制,經(jīng)常我們不得不取舍。主要需要考慮的是水管如何布置,包括加濕器的進水管和冷凝水的排水管。強電線纜如何布局以及弱電(雙絞線及光纖線纜)布局。

水管的布局,需要考慮漏水的情況下,對機房的影響。機房漏水從來不是小問題,任何處置不當,就可能導(dǎo)致機房停止運行。主要有兩方面的水路需要處理,一邊為冷凝水的排出,另外就是加濕器的進水。建設(shè)機房的時候,建設(shè)方提出想把頂樓的排水管在中間開口,通過這個排水口去釋放空調(diào)的冷凝水,聽起來不錯吧?可如果大雨的情況下,排水管堵塞或者來不及排出去的時候,水就會從排水管的開口處,直接往機房排放。加濕器進水一定要前置閥門,隨時將其管理。否則,自來水的突然高壓,可能會導(dǎo)致機房大面積過水。由于進水管的安裝問題,我甚至不得不將加濕器進水管完全關(guān)閉,以免發(fā)生意外。水管一般都是從機房地板下走。

強電的安裝需要注意跟弱電分開,因為強電會干擾弱電信號。這就提出了一個現(xiàn)實的問題:強電到底應(yīng)該走頂部還是地下?因為頂部往往會走弱電線纜。弱電走頂部的一個好處是后期維護和排錯更加方便。我這里設(shè)計方選擇了走地下,地板下有40cm,強電在架設(shè)的橋架上走。但是,因為排水管需要有一定高度,不得不走了強電橋架的上部,這應(yīng)該是一個失敗的設(shè)計。但是,如果強電走頂部,弱電怎么辦?兩者之間需要隔離。整體的通道和機柜設(shè)計已經(jīng)解決這個問題,所以建議選擇冷通道和機柜的時候,選擇好頂部可以分割強弱電布線的產(chǎn)品。這樣可以很好的解決強弱電分離的問題,同時避免了強電跟水路一起走的尷尬。

環(huán)控

機房環(huán)控需要做到幾個方面:視頻監(jiān)控,溫濕度,漏水檢測,電話報警,PUE

的實時顯示。

空間及位置考慮

為什么要將接入機房單獨出來

接入機房負責跟外界的溝通,包括各家運營商的接入線路:電信的互聯(lián)網(wǎng),電信的電話,聯(lián)通的互聯(lián)網(wǎng),專線等。這個地方經(jīng)常要開放給電信聯(lián)通的維護人員,辦公網(wǎng)絡(luò)的核心設(shè)備也需要放在這里。外網(wǎng)防火墻,門禁系統(tǒng),OA服務(wù)器等都需要,類似一般公司的小機房。各辦公樓層的匯聚。這個機房設(shè)計,一般可以考慮單獨的UPS,空調(diào)。

為什么要建一個單獨的實驗室機房?

我們都知道,IC設(shè)計公司是要做出硬件產(chǎn)品的,而很多工作需要的服務(wù)器,不是IT人員去管理,而是設(shè)計人員自己做各種測試使用。如果沒有一個獨立的空間,是無法做好隔離的。這樣測試環(huán)境會讓整個IT系統(tǒng)不穩(wěn)定。仿真器等設(shè)備需要大功率的制冷和獨立空間,所以實驗室機房采取傳統(tǒng)的精密空調(diào),采用下送風(fēng)的方式制冷。

主機房

我們主機房按照標準模式,設(shè)計了獨立的消防管網(wǎng)系統(tǒng),氣體滅火。UPS配電間跟電池間。UPS設(shè)備目前有模塊化的,可以考慮,避免機房設(shè)備不足的時候,UPS浪費電力嚴重的情況發(fā)生。

機房的位置選擇

這個涉及的考量很多,很多時候我們不得不折中考量,這讓人感覺很無奈。比如,我們需要考慮樓層的承重,一旦我們考慮建設(shè)機房的地方,如果樓下是空的,就需要建筑設(shè)計單位拿出承重設(shè)計數(shù)據(jù),不能滿足我們需求的情況下,我們需要加固。一般情況下,都是不能滿足的,沒有哪家建筑設(shè)計院會將普通的辦公樓設(shè)計為承重達到機房的要求,除非是廠房設(shè)計。一般建筑的承重為250kg—500kg,而我們機房一般要求1000kg-2000kg之間。特別是UPS電池間,這個地方要求的承重非常高。

如果我們選擇地下沒有架空的一樓做機房,當然就不需要重新加固建筑承重了,但是一樓往往會面臨另外一個問題。機房空調(diào)的外機往哪兒放?現(xiàn)在的建筑一般都是空調(diào)放在頂樓,如果一樓的機房到頂樓的距離過長,會影響制冷效果,能耗也會損失更多。另外,一樓還需要防水,特別是暴雨來臨,如果地勢低洼,很可能導(dǎo)致倒灌,一旦進入機房,整個機房就可能完全停止工作。

所以,機房的位置選擇起來非常難。建議一定要提前選擇好地方,且不可將就。

網(wǎng)絡(luò)布局

機房網(wǎng)絡(luò)設(shè)備主要是交換機,目前主要采用的有集中式布局和分布式布局。

兩種各有優(yōu)缺點。

集中式布局,一般在一個冷通道采用一臺大型多插槽的交換機,這樣的布局方式,機房布線是一個難點,因為幾百根網(wǎng)線要布局到核心交換機處,線纜的連接非常麻煩,好處是解決問題的時候簡單,且由于交換機多采用了個冗余部件,很少出現(xiàn)故障。各個機柜之間也基本是線速連接的。

分布式布局,多采用TOR交換機模式,即每個機柜頂部安裝一臺交換機,然后各交換機通過上聯(lián)到核心交換機處實現(xiàn)連接。這樣的連接方式,交換機數(shù)量比較多,可能不得不浪費很多端口,因為我們一個機柜里邊很難會完全用完交換機端口(現(xiàn)在一般交換機都是24口-48口)。這種方式的優(yōu)點是:布線非常簡潔,只要每機柜到核心交換機機柜布置2根6芯的光纖+2根六類線即可。

建議新建的機房采用10G TOR交換機+40G上聯(lián),這是趨勢,服務(wù)器之間采用10G連接的成本已經(jīng)降到足夠低了??梢詽M足一段時間的需求。

無論采用分布式還是集中式,都推薦在每個機柜上放一臺簡單2層交換機,用于設(shè)備的遠程管理口,比如服務(wù)器的ipmi端口。這樣可以不用隨時進出機房去開啟關(guān)閉服務(wù)器。

消防

機房的消防,目前主要采取的是七氟丙烷氣體消防。主要考慮的是,提前在

消防部門審批方案和報備,必須是當?shù)赜匈Y質(zhì)的建設(shè)方。另外,氣體釋放的方式最好是經(jīng)過監(jiān)控室人工確認,否則可能導(dǎo)致機房人員沒有按時撤離,窒息而死。

網(wǎng)絡(luò)結(jié)構(gòu)

首先讓我們來看一個網(wǎng)絡(luò)的結(jié)構(gòu)示意圖,因為這部分涉及到實際內(nèi)容,我只能通過示意圖的方式來簡單講一下基本的要求。無法提供真實的網(wǎng)絡(luò)結(jié)構(gòu)圖給大家看了。

1.內(nèi)外網(wǎng)隔離

2.研發(fā)網(wǎng)絡(luò)跟辦公網(wǎng)絡(luò)隔離

3.研發(fā)網(wǎng)絡(luò)客戶端跟服務(wù)器隔離

4.MPLSVPN網(wǎng)絡(luò)

內(nèi)外網(wǎng)絡(luò)隔離

我們通過多層防火墻對網(wǎng)絡(luò)進行了隔離,公司總出口有一個上網(wǎng)的防火墻,

用于隔離互聯(lián)網(wǎng)跟辦公網(wǎng)。我們對外提供的有限服務(wù)位于防火墻后面,這也是最容易被外部攻擊的區(qū)域。在這里,我們通過ACL等措施隔離辦公網(wǎng)絡(luò)流量,防火墻部署入侵檢測和殺毒等服務(wù)。

研發(fā)網(wǎng)絡(luò)跟辦公網(wǎng)絡(luò)隔離

研發(fā)網(wǎng)絡(luò)指的是我們設(shè)計芯片的網(wǎng)絡(luò)。這里一般采用兩種方式隔離,一種

是物理隔離,另一種是邏輯隔離,各有優(yōu)缺點,按需采用即可。物理隔離的優(yōu)點是安全,任何通過網(wǎng)絡(luò)入侵的機會將為零。但是缺點是實用性和方便性遇到困難,無法做到多個異地site協(xié)同工作。邏輯隔離是采用各種安全規(guī)范,嚴格限制研發(fā)網(wǎng)絡(luò)跟辦公網(wǎng)絡(luò)的交互,實現(xiàn)即時辦公網(wǎng)絡(luò)被入侵,依然可以保證研發(fā)網(wǎng)絡(luò)安全的網(wǎng)絡(luò)設(shè)計。這種優(yōu)點是可以多site協(xié)助,跟外部交流容易。缺點就是存在安全錯誤導(dǎo)致的安全風(fēng)險存在可能。

研發(fā)網(wǎng)絡(luò)的客戶端跟服務(wù)器分離

研發(fā)網(wǎng)絡(luò)的服務(wù)器端一般位于機房內(nèi),而客戶端位于工位。兩者之間如果不

能有效隔離,就會造成安全風(fēng)險點大面積增加。同時,對內(nèi)的安全防護就無從談起。使用,我們一般會在登陸客戶端跟設(shè)計服務(wù)器之間采用防火墻來隔離。同時,登陸服務(wù)器也需要采取各種安全措施,避免被內(nèi)部用戶入侵控制。

MPLS VPN網(wǎng)絡(luò)

專線網(wǎng)絡(luò)有多種,常用的可能有MSTP/SDHMPLS。SDH專線主要用在國內(nèi)

點對點電路上,相當于給提供物理鏈路給你。這種方式優(yōu)點是點對點,只要電路不斷,你的網(wǎng)絡(luò)一定不會跟其他共享帶寬。MPLS VPN是用的更多的專線方式,其特點是環(huán)狀組網(wǎng),使用邏輯隔離,將數(shù)據(jù)從一個大的帶寬網(wǎng)絡(luò)中隔離出來,運營商采用各種方式盡量保證你的帶寬符合你申請的帶寬。

如果只是兩點,可以考慮SDH,如果是多點,建議還是用MPLS VPN比較合適。專線方式可以提供比互聯(lián)網(wǎng)ipsec vpn更好的穩(wěn)定性,建議研發(fā)的工作環(huán)境采用。而對于穩(wěn)定性要求不高的應(yīng)用,建議還是采用傳統(tǒng)的ipsec vpn方式節(jié)省費用,比較專線每月都需要付出一大筆錢。

額外提示一點:目前研發(fā)設(shè)計網(wǎng)絡(luò),經(jīng)常需要使用google等搜索引擎查詢資料。國內(nèi)的網(wǎng)絡(luò)連接國外有防火墻封鎖,同時兩大運營商的問題導(dǎo)致訪問國外異常慢,丟包率非常高。解決這類問題,目前有幾個辦法:方法一,購買一些vpn服務(wù)賬號,適合個人使用。方法二、公司拉一條專線到香港,通過香港本地上internet。適合公司一起使用的,但是這種方式成本很高,差不多1000元/M,一條10M的線路需要每個月一萬了。方法三、通過上面所述的MPLS VPN,路由到國外再上internet,類似方法二,只是成本更高,如果剛好有上下線非對稱應(yīng)用,比如國外分部主要通過MPLS訪問總部資源的時候,主要是下行帶寬,總部可以利用其上行帶寬。方法四、采用SDN的方式和云計算結(jié)合,通過公有云實現(xiàn)這類應(yīng)用,成本在100-300RMB/兆之間,非常適合小公司。

系統(tǒng)和存儲布局

1. CPU架構(gòu)及OS考慮

2.認證(NIS AD LDAP及其他)

3.DNS/NTP

4.Email

5.存儲:zfs/netapp

6.NFS v3/v4和AFS GPFS之間的優(yōu)缺點

CPU架構(gòu)及OS

看過我以前文章的朋友,一定會記得,2004年,我推薦Solaris8。2008年推薦的OS是RHEL3和RHEL4,到了2013年我寫的文章,已經(jīng)推薦RHEL5了。今天(2015年底)我推薦的是RHEL6.7。推薦OS必須跟當時所處的情況有關(guān),目前三大軟件商cadence synopsys mentor都已經(jīng)支持RHEL6,所以采用RHEL6毫無問題。我們目前全部都采用的是RHEL6.7的OS。

CPU架構(gòu)方面,依然推薦Intel的E5-2600v3和v4雙路服務(wù)器,特殊情況可以考慮E7的4路服務(wù)器。作為一家主要引入IBM Power8處理器設(shè)計的公司來說,采用intel的CPU是不是有些特別的意味?一點也不奇怪,因為EDA vendor的主要軟件都是支持x86的處理器,只有少量軟件會支持AIX+Power。而從性價比來說,顯然x86更有優(yōu)勢。

OS安裝需要采用kickstart實現(xiàn)一致性安裝,即所有服務(wù)器跑的系統(tǒng)和軟件包都一樣。實現(xiàn)本地的OS image和epel庫,然后通過pssh等分布式管理工具實現(xiàn)軟件安裝的一致性要求。

認證

用戶認證,必須實現(xiàn)統(tǒng)一賬號,在任何系統(tǒng)下,最好是同一個賬號和密碼。

目前能夠?qū)崿F(xiàn)這個條件,需要windows的Active Directory和NIS或者LDAP統(tǒng)一。

我這里采用了windows 2008R2 + NIS來實現(xiàn),使用NIS這么古老的認證技術(shù)主要是考慮了其簡單方便性,沒有過多考慮其他如安全等特性。

Windows 2008R2,集成可SFU的功能,可以為unix用戶設(shè)置一些特性,比如uid gid shell home,另外,還提供NIS服務(wù)器功能,可以實現(xiàn)windows賬號和unix賬號的統(tǒng)一。

采用NIS的原因是我們會在后面實現(xiàn)autofs功能,這樣PXE安裝的Linux服務(wù)器就不需要掛載很多文件系統(tǒng),而直接采用autofs的方式掛載。

在未來,Unix下認證應(yīng)該會跟逐步LDAP集成。

DNS/NTP

實現(xiàn)內(nèi)部DNS服務(wù)功能可以提供內(nèi)部服務(wù)器之間的便捷訪問,從而擺脫記憶

ip地址的麻煩。某些服務(wù)器在采用了內(nèi)部dns后,可以更容易使用。目前提供dns服務(wù)器的主要有兩個程序:bind和dnsmasq。前者是傳統(tǒng)的dns服務(wù)器,功能強大。后者是簡單的dns+dhcp服務(wù),一般用于小型環(huán)境。優(yōu)點就是便捷,使用方便。具體服務(wù)器搭建,這里不再詳細介紹,提醒一點是dnsmasq默認不提供跨vlan的dns服務(wù),需要綁定interface。

內(nèi)部ntp服務(wù)在這種環(huán)境下幾乎是必須的。Ntp可實現(xiàn)內(nèi)部時間的統(tǒng)一,避免認證失敗或者文件時間沖突等問題。Ntp服務(wù)器的實現(xiàn)非常簡單,不做介紹,注意要周期性跟ntp服務(wù)器同步時間。

Email系統(tǒng)

Email依然是當前企業(yè)通信的最主要方式,所以email系統(tǒng)的選擇也是一個重

要的工作。由于我們公司采用了內(nèi)外網(wǎng)隔離的方式,所以我們的平時跟外部聯(lián)系的郵件系統(tǒng)跟內(nèi)部郵件系統(tǒng)是完全獨立的兩套。

外部郵件系統(tǒng)主要考慮的是防病毒,防垃圾郵件,安全,可維護性及盡量少的中斷時間。基于以上考慮,我們最終選擇了托管出去的方式。以前在多家公司,都用了自己搭建的郵件系統(tǒng),包括exchange或者其他專業(yè)的郵件軟件,開放25端口來跟外部通信。其中最麻煩的事情不是安全,而是垃圾郵件太多。如果公司自己購買一臺垃圾郵件過濾系統(tǒng),費用很高且可能一定程度誤報誤刪,這樣對公司來說是無法接受的。由于新建公司沒有多少郵件遷移的任務(wù),我們最終采用了托管出去的方式,按用戶付費,這樣完全避免了垃圾郵件的困擾。

內(nèi)部郵件系統(tǒng),我們采用了postfix來自己搭建一套。考慮到有需求,我們采取措施,讓托管出去的郵件可以直接轉(zhuǎn)發(fā)到內(nèi)部郵件服務(wù)器上。這里涉及到了一個中轉(zhuǎn)服務(wù)器。

存儲

存儲系統(tǒng)的選擇非常重要,幾乎決定了后期整個系統(tǒng)性能的關(guān)鍵因素。在IC

設(shè)計行業(yè)中,有幾個重要因素需要考慮:實時壓縮、高速SSD做緩存、重復(fù)數(shù)據(jù)刪除、snapshot、NFS v4 ACL、Backup。

對于以上特點,我這里簡要介紹需要的原因:

實時壓縮,可以很大程度減少存儲容量的使用。在IC設(shè)計中,經(jīng)??梢宰龅?倍的壓縮率,即容量提升了一倍。同時,還提升了IO能力,因為壓縮后的數(shù)據(jù)更小,有利于讀寫。現(xiàn)代的CPU都很快,壓縮不會帶來太大的負擔。所以,可以放心使用。

高速SSD緩存,全閃存太貴,而采用SSD做緩存的方案,可以很大程度上將熱點數(shù)據(jù)放在高速SSD上,遇到調(diào)用的時候不再去磁盤中尋找,這樣可以很大程度上提供IOPS,是一種利用較低成本提供了較大效益的方案。

重復(fù)數(shù)據(jù)刪除,重復(fù)數(shù)據(jù)刪除功能可以在很大程度上減少磁盤空間的使用量,特別是針對某些應(yīng)用,比如虛擬化及多版本開發(fā)環(huán)境。

Snapshot,這里的snapshot一定要跟SAN盤陣的區(qū)分開來,也跟LVM的不一樣?;趎etapp和zfs的snapshot功能,允許用戶自我管理不小心刪除的數(shù)據(jù),隨時自己去恢復(fù),減少管理員的麻煩。提高了用戶的滿意度。

NFSv4 ACL,由于其提供了很多高級特性,可以實現(xiàn)項目的管理方式,讓項目經(jīng)理去管理目錄的權(quán)限,將IT從權(quán)限管理的繁瑣中解脫,同時,給項目經(jīng)理足夠大的自由度,讓他們更快捷的實現(xiàn)自己的要求。

備份,是一個重要的話題,數(shù)據(jù)備份可能永遠都是在做后備,但是一旦需要恢復(fù),備份就顯得格外重要。目前主要考慮采用D2D的備份+磁帶歸檔的方式實現(xiàn)長期的數(shù)據(jù)備份需求。

由于我們的環(huán)境主要是NAS存儲的NFS共享,滿足以上要求的主要有netapp的存儲及基于zfs的存儲系統(tǒng),如oracle ZS4nexentastor等。

目前在國內(nèi)做支持最好的依然是netapp存儲,但是netapp的銷售策略要小心,存在銷售控制價格的行為特別嚴重,甚至可以做到價格差異30%-50%的情況。因為是區(qū)域控價,你如果選定了必須用它,幾乎無任何的議價能力,被迫接受高價。在大廠商面前,用戶很弱勢。唯一的反擊就是絕對不要選擇某一家廠商的產(chǎn)品作為采購要求。

NFSv3/v4及AFS GPFS文件系統(tǒng)的優(yōu)缺點

NFS v3是過去和當前依然在大量使用的協(xié)議,幾乎所有的系統(tǒng)都能支持,使

用和配置也很簡單。但是,nfsv3缺乏一些特性,如安全性不足,缺乏更嚴格的acl支持,缺乏并行支持等。所以,后來開發(fā)了nfs v4,提供了更加先進的一些功能。我們主要會使用到nfs v4的功能就是nfs v4 acl支持。目前很多測試環(huán)境下,nfs v3的性能依然比nfs v4更快。所以,除了需要設(shè)置acl的時候,否則其他地方應(yīng)該掛載nfs v3為主。

AFS文件系統(tǒng)是另外一種主要的網(wǎng)絡(luò)文件系統(tǒng),其提供了很多優(yōu)秀的功能,比如本地cache,acl,quota,分布式等。但是,國內(nèi)很少用到,商業(yè)化支持也不足,所以不建議使用。

GPFS是IBM開發(fā)的商業(yè)產(chǎn)品,可以實現(xiàn)分布式,如果不考慮費用問題,可以考慮在某些關(guān)鍵的應(yīng)用中采用。

--------------------------

網(wǎng)友提問:

IC行業(yè)中,存儲對IOPS的要求是非常高的(實際生產(chǎn)環(huán)境中的發(fā)現(xiàn)),對存儲容量要求相同的情況下,如果獲得更高的IOPS,除了存儲控制器的IOPS限制外,還要考慮單個硬盤的容量問題。一般情況下單盤更小容量,更多的盤,可以帶來更高的IOPS。另外可以提一下存儲的空間利用率,往往存儲的利用率超過85%(有說90%),讀寫效率將大幅下降。實際生產(chǎn)環(huán)境中,磁帶歸檔是否是一個效率(備份和恢復(fù))很低的辦法?

----------------------------------------

非常好的問題,你肯定是業(yè)內(nèi)人士。-------------------------------------------------------------------------------------回復(fù)如下:要想獲得高的IOPS,機械硬盤已經(jīng)無法應(yīng)對了。以前的做法一般是raid卡帶cache(write back)+ 15000RPM的硬盤。cache的好處是寫入小文件加速,因為直接返回,但是讀取依然會很慢。現(xiàn)在大量采用的10000轉(zhuǎn) 2.5 SAS盤,已經(jīng)算是不錯的了,但是IOPS依然不高。唯一能解決IOPS的只有SSD,nvme的SSD會更快。存儲超過85% 90%,讀寫效率大量下降的根本原因是寫入算法的改變。以zfs文件系統(tǒng)舉例,zfs文件系統(tǒng)在80%之前,是write anywhere,就是只要有空的地方就寫。80%以后,馬上改變算法,需要找一個比較合適的位置寫,顯然速度一下就下降了。netapp的WALF也有一樣的問題。我寫的是磁帶歸檔,而不是主要用于備份。磁帶的缺點很多,比如速度慢,無法online方式查詢恢復(fù)。最大的問題是:你需要找回數(shù)據(jù)的時候,可能根本讀不出來!所以,它只適合歸檔,因為一盤一盤磁帶,拿出去放銀行保險柜,依然是最方便的做法。當然,如果你可以做到磁盤方式歸檔,更好。目前建議的是D2D2T(即磁盤到磁盤備份,然后從備份磁盤歸檔到磁帶)。因為全閃存太貴,建議大家設(shè)計系統(tǒng)的時候,以project的方式分流。將iops要求很高的項目才放入SSD,而普通項目,依然放入大容量的7200RPM或者10000RPM的磁盤系統(tǒng)。備份系統(tǒng)則毫無疑問,采用7200RPM 3.5寸的大容量磁盤。

--------------------------

接入及登陸環(huán)境

1. VPN是否可以?VPN至少要做到雙因素驗證

2.如何避免設(shè)計人員copy&paste。

3.登陸軟件的選擇:VNC Xenapp NX Go-global EoD等

4.桌面系統(tǒng):GNOME KDE ICEWM FVWM XFCE

如何考慮移動VPN接入

提供移動VPN接入就相當于在內(nèi)部網(wǎng)絡(luò)開放了一個接口,讓外部的用戶可以

隨時隨地訪問內(nèi)部網(wǎng)絡(luò)。所以,首先要評估是否可以做到足夠的安全級別,讓非法的用戶無法通過竊取賬號等方式登錄你的網(wǎng)絡(luò)。

VPN接入,需要至少做到雙因素的認證。主流的做法包括RSA SecureID這種基于時間的雙因素或者USB Key基于證書的雙因素。當前,還需要考慮VPN支持移動客戶端和MAC OSX系統(tǒng)。因為,這兩方面的用戶越來越多了,有更多的接入需求。

如何避免設(shè)計人員copy&Paste數(shù)據(jù)

IC設(shè)計中,一般都在服務(wù)器完成,但是也需要用戶從終端登錄服務(wù)器。如果用戶可以將服務(wù)器的文本copy到本地終端,那么就存在帶走的可能性。我對于數(shù)據(jù)安全的主要觀點是:數(shù)據(jù)需要位于服務(wù)器上,用戶無法物理接觸的數(shù)據(jù)才是安全的。數(shù)據(jù)分級,防止一個用戶擁有所有數(shù)據(jù)的權(quán)限,可以防止被某人獲得全部數(shù)據(jù)。帶出數(shù)據(jù)需要審核及歸檔,這樣做到有據(jù)可查。

目前的登陸軟件,很多可以禁止用戶剪切板的數(shù)據(jù)copy到用戶端。同時,采用防火墻,防止用戶直接從內(nèi)部服務(wù)器主動連接客戶端獲取數(shù)據(jù)。

登陸軟件的選擇

目前小公司普遍采用的登錄軟件有Xmanager/Exceed/VNC/FreeNX,而大公司普遍采用的有Xenapp/NX/EoD/Go-Global等。對于以上軟件,我都有一定程度的接觸,所以在此做一個簡單評價。

Xmanger和Exceed,屬于利用X協(xié)議,在windows平臺實現(xiàn)的X Server,優(yōu)點是使用方便,使用的人很多,性能在局域網(wǎng)也不錯。缺點就是,一旦用戶端跟服務(wù)器之間的網(wǎng)絡(luò)意外終端,或者客戶端關(guān)機,所有正在服務(wù)器上運行的job丟失。

VNC免費版使用非常廣泛,其實現(xiàn)了網(wǎng)絡(luò)斷開也不會丟失正在運行的工作。但是免費版限制很多,比如需要用戶設(shè)置專用的vnc登陸密碼,無法禁止用戶Copy&Paste服務(wù)器數(shù)據(jù)到本地。另外,VNC協(xié)議實現(xiàn)對網(wǎng)絡(luò)帶寬消耗很大,不適合于WAN網(wǎng)絡(luò)連接。

FreeNX是基于No-Machine免費開源的library實現(xiàn)的免費遠程登陸軟件。目前有另外一個如日中天的類似軟件,叫做X2Go。FreeNX基于SSH協(xié)議,實現(xiàn)了壓縮傳輸?shù)裙δ?,效率比VNC提高很多。但是其基于SSH協(xié)議實現(xiàn),給系統(tǒng)安全留下了隱患。

VNC Enterprise,實現(xiàn)了更高級的功能,包括驗證集成了系統(tǒng)驗證,不需要額外設(shè)置vnc登陸密碼,也可以禁用剪切板等高級功能,還可以通過policy設(shè)置。對于小型設(shè)計環(huán)節(jié),目前是一個非常值得考慮的選擇。

Xenapp是citrix基于ICA協(xié)議實現(xiàn)的登陸方式,最新的基于Unix的是2008年前后發(fā)布的Unix 4.0 FP2版本。Citrix的中心已經(jīng)轉(zhuǎn)向了windows,及時是最新發(fā)布xendesktop linux版本,也并沒認真去做,集成很困難。不過,當年Broadcom是基于solaris 10+ citrix for unix fp2實現(xiàn)的登陸環(huán)境,不知道五年過去了,是否已經(jīng)改變。

Nomachine公司發(fā)布的NX商業(yè)版本可以支持更多功能,國內(nèi)有幾個公司在使用,具體功能不了解,比如如何實現(xiàn)及時采用SSH協(xié)議,也不擔心被設(shè)置轉(zhuǎn)發(fā)隧道,從而解決安全問題的。

EoD的全稱是Exceed On Demand。軟件費用昂貴,國內(nèi)使用的人很少,目前我知道的是IBM基于EoD實現(xiàn)登陸。EoD軟件可以禁用Copy&Paste,同時gateway模式可以讓用戶無法直接在EoD服務(wù)器上工作,讓EoD服務(wù)器實現(xiàn)gateway轉(zhuǎn)發(fā)即可。EoD可實現(xiàn)share桌面,對于遠程會議共享桌面和需要遠程協(xié)助debug的時候非常有用。推薦不差錢的大公司選擇EoD,是我見過最佳的登陸軟件了。

Go-Global是另外一個登陸軟件,分為for windows和for unix版本。實現(xiàn)上比VNC要快,國內(nèi)也有商業(yè)支持,也比較成熟和穩(wěn)定。不過其客戶端目前只支持windows系統(tǒng),這點需要注意。如果是中小型公司,可以考慮采用。

桌面系統(tǒng)的選擇

我一直反對使用重型桌面環(huán)境,比如Gnome和KDE,畢竟幾百人的公司,登陸服務(wù)器就那么兩臺,一旦使用GNOME和KDE,整個系統(tǒng)負載是非常高的。而我們的設(shè)計工程師,根本不需要那么復(fù)雜的桌面環(huán)境,最簡單的才是最高效的。

在我的工作中,我推薦過使用fvwm,自定義過一個非常簡潔的桌面環(huán)境,但是由于定制要求很高,用戶使用起來感覺不是很好。不過fvwm可定制性很高,可實現(xiàn)非常棒的一些效果。

后來我選擇使用過XFCE,另外一個比較其GNOME和KDE較輕量級的桌面。在2008年-2013年,我都認為這是一個不錯的桌面環(huán)境,在很多地方推薦使用過。但是,xfce的安裝包很多,最好通過yum自動安裝。我們也逐漸在考慮一個更加合適的窗口管理器。

2015年,一個新的同事推薦了icewm。我認為目前這個是最合適IC設(shè)計公司工程師的窗口管理器了。

可以實現(xiàn)多個桌面,添加需要的一些xterm和gnome-terminal firefox等工具。

推薦:大公司首選icewm,其次可以考慮xfce。小公司建議多考慮xfce。

設(shè)計Job的管理(SGE/LSF)

1. LSF

2. SGE

3. Openlava

LSF

LSF是目前主要采用的任務(wù)管理軟件,目前歸屬于IBM,最新的版本是9。幾乎所有大的IC設(shè)計公司都采用的是LSF的軟件來做負載均衡。不過,這個軟件是商業(yè)軟件,授權(quán)費比較貴,大約要1-2萬一臺服務(wù)器(以core計費)。

下圖為lsload命令所顯示的結(jié)果,大家可以看到各臺服務(wù)器的負載,CPU利用率,剩余內(nèi)存等信息。

LSF會自動去調(diào)度,找出最佳的后臺服務(wù)器,盡量做到負載均衡。所有的后臺服務(wù)器,用戶都不能直接登錄去run,這是由系統(tǒng)和網(wǎng)絡(luò)結(jié)構(gòu)限制的。但是,對于用戶,要讓所有的操作做到最簡單,用戶不需要去了解復(fù)雜的后臺設(shè)計。

這里介紹一下LSF的一些使用

提交job

$bsub my_jobJob <1234> is submitted to default queue 上面輸出中1234是分配給my_job的ID, normal即系統(tǒng)默認queue

提交并行job

$ bsub -n 8 myjobmyjob以并行JOB的方式執(zhí)行,且需要8個cpu cores。比如在腳本中,hspice使用了-mt 8的情況下。用上面的命令會讓lsf幫你找到空閑的8個cpu core之后才提交給具體執(zhí)行的主機。

查看當前自己或者其他人的job

$bjobs(只查詢自己的) $bjobs –u all(所有人的)

然后可以得到j(luò)obID

$ bjobs -u allJOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAMESUBMIT_TIME1004 user1 RUN short hostA hostA job0 Dec 16 09:231235 user3 PEND priority hostM job1 Dec 11 13:551234 user2 SSUSP normal hostD hostM job3 Dec 11 10:091250 user1 PEND short hostA job4 Dec11 13:59

Kill掉自己的某個job

$ bkill 1234Job <1234> is being terminated

掛起和恢復(fù)job

$ bstop 3421Job <3421> is being stopped

$ bresume 3421Job <3421> is being resumed

查看job的輸出

$ bpeek 1234<< output from stdout >>

查看服務(wù)器負載

$lsload

查看服務(wù)器狀態(tài)

$bhosts

查看job的詳細信息

$bjobs –l 1234

SGE

目前SGE是免費且開源的,國內(nèi)也有不少公司在使用。但是使用起來,感覺差異很大,可能是習(xí)慣問題,我始終無法適應(yīng)SGE。我也不推薦使用sge。

Openlava

前面介紹了LSF是商業(yè)軟件,授權(quán)費比較昂貴。這里推薦一個兼容LSF命令的軟件,Openlava,其基于LSF 4.2發(fā)布的開源版本,目前最新的是3.3,由Teraproc公司主要開發(fā)和支持。推薦國內(nèi)的大公司采用,只需要少量的支持費即可。目前主要基于x86的linux環(huán)境,如果你有其他異構(gòu)系統(tǒng),需要聯(lián)系廠家獲取是否可以支持。如果大家對于采用openlava感興趣,可以聯(lián)系我,我可以協(xié)助測試。前面LSF的示例完全可以通過openlava實現(xiàn)。

設(shè)計Job的管理(SGE/LSF)

1. LSF

2. SGE

3. Openlava

LSF

LSF是目前主要采用的任務(wù)管理軟件,目前歸屬于IBM,最新的版本是9。幾乎所有大的IC設(shè)計公司都采用的是LSF的軟件來做負載均衡。不過,這個軟件是商業(yè)軟件,授權(quán)費比較貴,大約要1-2萬一臺服務(wù)器(以core計費)。

下圖為lsload命令所顯示的結(jié)果,大家可以看到各臺服務(wù)器的負載,CPU利用率,剩余內(nèi)存等信息。

LSF會自動去調(diào)度,找出最佳的后臺服務(wù)器,盡量做到負載均衡。所有的后臺服務(wù)器,用戶都不能直接登錄去run,這是由系統(tǒng)和網(wǎng)絡(luò)結(jié)構(gòu)限制的。但是,對于用戶,要讓所有的操作做到最簡單,用戶不需要去了解復(fù)雜的后臺設(shè)計。

這里介紹一下LSF的一些使用

提交job

$bsub my_jobJob <1234> is submitted to default queue 上面輸出中1234是分配給my_job的ID, normal即系統(tǒng)默認queue

提交并行job

$ bsub -n 8 myjobmyjob以并行JOB的方式執(zhí)行,且需要8個cpu cores。比如在腳本中,hspice使用了-mt 8的情況下。用上面的命令會讓lsf幫你找到空閑的8個cpu core之后才提交給具體執(zhí)行的主機。

查看當前自己或者其他人的job

$bjobs(只查詢自己的) $bjobs –u all(所有人的)

然后可以得到j(luò)obID

$ bjobs -u allJOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAMESUBMIT_TIME1004 user1 RUN short hostA hostA job0 Dec 16 09:231235 user3 PEND priority hostM job1 Dec 11 13:551234 user2 SSUSP normal hostD hostM job3 Dec 11 10:091250 user1 PEND short hostA job4 Dec11 13:59

Kill掉自己的某個job

$ bkill 1234Job <1234> is being terminated

掛起和恢復(fù)job

$ bstop 3421Job <3421> is being stopped

$ bresume 3421Job <3421> is being resumed

查看job的輸出

$ bpeek 1234<< output from stdout >>

查看服務(wù)器負載

$lsload

查看服務(wù)器狀態(tài)

$bhosts

查看job的詳細信息

$bjobs –l 1234

SGE

目前SGE是免費且開源的,國內(nèi)也有不少公司在使用。但是使用起來,感覺差異很大,可能是習(xí)慣問題,我始終無法適應(yīng)SGE。我也不推薦使用sge。

Openlava

前面介紹了LSF是商業(yè)軟件,授權(quán)費比較昂貴。這里推薦一個兼容LSF命令的軟件,Openlava,其基于LSF 4.2發(fā)布的開源版本,目前最新的是3.3,由Teraproc公司主要開發(fā)和支持。推薦國內(nèi)的大公司采用,只需要少量的支持費即可。目前主要基于x86的linux環(huán)境,如果你有其他異構(gòu)系統(tǒng),需要聯(lián)系廠家獲取是否可以支持。如果大家對于采用openlava感興趣,可以聯(lián)系我,我可以協(xié)助測試。前面LSF的示例完全可以通過openlava實現(xiàn)。

數(shù)據(jù)管理

1.上傳數(shù)據(jù)考慮因素

2.下載數(shù)據(jù)如何審核及自動備份歸檔數(shù)據(jù)

3.數(shù)據(jù)訪問的Audit

4.數(shù)據(jù)分級及權(quán)限控制

數(shù)據(jù)上傳

在一個公司,內(nèi)外網(wǎng)隔離的情況下,必然有大量的數(shù)據(jù)上傳需求。如何實現(xiàn)

上傳呢?這是一個大問題。我們設(shè)計了一個數(shù)據(jù)中轉(zhuǎn)站,允許公司內(nèi)的用戶登錄,將數(shù)據(jù)放入home目錄下,然后每隔一個小時,內(nèi)網(wǎng)服務(wù)器通過rsync去獲取數(shù)據(jù),并sync到內(nèi)網(wǎng)。

這里主要的問題是:防火墻一定要嚴格過濾,只允許內(nèi)網(wǎng)服務(wù)器sync中轉(zhuǎn)站的某個模塊數(shù)據(jù)。

Upload.sh

#!/bin/bash

ProcNumber=`ps aux |grep rsync|grep -v grep|wc -l`

if [ $ProcNumber -eq 0 ];then

/usr/bin/rsync -acvz --delete --password-file=/root/[email protected]::home/exchange/upload/ >> /root/rsync.log

Fi

下載數(shù)據(jù)如何審核及自動歸檔

對于下載數(shù)據(jù),我們要求進行人工任何。分多個層級,每一步需要審核人寫審核意見,批準還是拒絕。任何一步拒絕,都將無法完成。

主要實現(xiàn)是:用戶準備數(shù)據(jù),發(fā)郵件給ithelp,然后ithelp會根據(jù)情況,分配審核數(shù)據(jù)的人員,其審核完成后,將數(shù)據(jù)放在第一級審核的目錄dirA,然后由第二級審核人進行二次審核,完畢后將數(shù)據(jù)放入預(yù)備下載目錄dirB,最后程序自動先備份數(shù)據(jù),然后sync到數(shù)據(jù)中轉(zhuǎn)站,并刪除本地數(shù)據(jù)。DirA和dirB通過ACL設(shè)置了用戶的訪問權(quán)限,只有審核人員可以進入。

以上步驟,還可以插入數(shù)據(jù)檢查及核實的程序,比如查看是否下載了源代碼數(shù)據(jù)。

數(shù)據(jù)訪問Audit實現(xiàn)

使用audit實現(xiàn)任何人訪問源代碼都將被記錄,通過程序每天統(tǒng)計一次用戶的訪問記錄,排序統(tǒng)計后自動發(fā)送郵件給相關(guān)的人員。

目前測試環(huán)境實現(xiàn)了5萬個源代碼的控制,但是只能在本地文件系統(tǒng)實現(xiàn)。否則會帶來性能的問題。這樣可以實現(xiàn)某個人一直查看的記錄追蹤,以及一段時間內(nèi)比如離職前一周或者某一天將所有允許查看的文件都copy到其他目錄的行為,可以當天晚上發(fā)送郵件給其安全部門的人員。

[root@dcs004 audit]# cat audit.rules |wc -l

51573

[root@dcs004 audit]# cat audit.rules|more

# This file contains the auditctl rulesthat are loaded

-w/test/test/linux-4.3/.get_maintainer.ignore -p r-k kernelfiles

-w /test/test/linux-4.3/security/inode.c -pr-k kernelfiles

-w /test/test/linux-4.3/security/Makefile-p r-k kernelfiles

-w /test/test/linux-4.3/security/selinux/Makefile-p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/netlink.c -p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/.gitignore -p r-k kernelfiles

-w /test/test/linux-4.3/security/selinux/hooks.c-p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/Kconfig -p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/selinuxfs.c -p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/nlmsgtab.c -p r-k kernelfiles

-w /test/test/linux-4.3/security/selinux/netnode.c-p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/netif.c -p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/netport.c -p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/netlabel.c -p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/exports.c -p r-k kernelfiles

-w/test/test/linux-4.3/security/selinux/xfrm.c -p r-k kernelfiles

Audit結(jié)果如下,通過分析處理后可以實現(xiàn)監(jiān)控的目的。

ype=PATH msg=audit(11/03/201510:43:13.610:198339) : item=0name=test/linux-4.3/drivers/infiniband/hw/cxgb4/t4fw_ri_api.hinode=73185587 dev=00:14 mode=file,664 ouid=root ogid=root rdev=00:00nametype=NORMAL

type=CWD msg=audit(11/03/201510:43:13.610:198339) :cwd=/tools

type=SYSCALL msg=audit(11/03/201510:43:13.610:198339) : arch=x86_64 syscall=open success=yes exit=3 a0=0x181ede0a1=O_RDONLY|O_NOFOLLOW a2=0x0 a3=0x666e692f73726576 items=1 ppid=39759pid=40352 auid=rootuid=rootgid=root euid=rootsuid=root fsuid=root egid=root sgid=root fsgid=root tty=pts2 ses=13728 comm=mvexe=/bin/mvkey=kernelfiles

----

type=PATH msg=audit(11/03/201510:43:13.617:198340) : item=0 name=(null) inode=73185587 dev=00:14mode=file,664 ouid=root ogid=root rdev=00:00 nametype=NORMAL

type=SYSCALL msg=audit(11/03/201510:43:13.617:198340) : arch=x86_64 syscall=flistxattr success=noexit=-95(Operation not supported) a0=0x3 a1=0x0 a2=0x0 a3=0x0 items=1ppid=39759 pid=40352 auid=root uid=root gid=root euid=root suid=root fsuid=rootegid=root sgid=root fsgid=root tty=pts2 ses=13728 comm=mv exe=/bin/mvkey=kernelfiles

數(shù)據(jù)分級及權(quán)限控制

主要是通過NFS ACLv4來實現(xiàn)項目的權(quán)限控制,通過將特定人員加入訪問許

可,項目經(jīng)理可以自我控制任何公司的人員是否具有訪問權(quán)限。但是,數(shù)據(jù)的分級,需要數(shù)據(jù)擁有人員去判斷,IT只是提供一種手段,并不具有分級的能力。

IT提供合適的手段,讓用戶在系統(tǒng)內(nèi)部,知道如何申請和如何控制權(quán)限即可。

以下是通過nfs v4設(shè)置權(quán)限示例:

$nfs4_setfacl -e/proj/xuesen

## Editing NFSv4 ACL for directory:/proj/xuesen

A::OWNER@:rwaDxtTnNcCy

A:g:GROUP@:tncy

A::EVERYONE@:tncy

A::[email protected]:rwaDxtTnNcCy

添加下面行即可

A::[email protected]:rxtncy ###read only###

A::[email protected]:rwaDxtTnNcy ###rwx###

這里的projectmanager是由管理員設(shè)置的某個項目經(jīng)理的賬號,username是你期望設(shè)置的用戶名

版本管理

1. CVS

2. Subversion

3. Clisoft SOS

4. ICManage

5. Git

CVS用于代碼的管理

CVS作為unix系統(tǒng)下非常經(jīng)典的版本管理系統(tǒng),適合于代碼的簡單管理。對權(quán)限控制很差,基本上只能按照group的方式來控制誰可以check out,check in.CVS沒有二進制管理能力,無法對各種非文本的文檔,比如word進行管理,只能用于代碼。

CVS是一個C/S模式的版本控制系統(tǒng),用于在軟件開發(fā)過程中記錄文件版本,協(xié)調(diào)開發(fā)人員保證文件同步,從而保證項目正確的進行并行開發(fā),并支持版本回滾、bug 跟蹤和補丁生成。使用CVS可以有效地對軟件開發(fā)的源代碼和開發(fā)文檔進行統(tǒng)一的管理和組織。

主要功能如下:

同步的最新修改

文件的版本回溯

多人同時修改同一個文件產(chǎn)生的沖突

項目的分支開發(fā)

文件權(quán)限控制

Redhat Enterprise默認安裝有cvs,如果沒有,請安裝cvs的rpm包。

CVS的基本使用:

創(chuàng)建一個倉庫

#groupadd cvs

#useradd –d /data/cvsroot -gcvs cvs

#cvs –d /data/cvsroot init

配置環(huán)境

$vi ~/.cshrc

$setenv CVSROOT /data/cvsroot

項目的初始導(dǎo)入

進入到你準備到如的初始源代碼目錄

$cvs import -m "somecomments" project_name vendor_tag release_tag

執(zhí)行后:會將所有源文件及目錄導(dǎo)入到/data/cvsroot/project_name目錄下

vender_tag:開發(fā)商標記

release_tag:版本發(fā)布標記

這個project可以給某個unix group授權(quán)chmod 775 root:asic/data/cvsroot/project_name,這樣所有asic group的人都可以check in和check out了。

項目的CheckOut

$cvs co project_name

同步到最新

$cvs update

修改文件后CheckIn

$ cvs ci -m "somecomments" file_name

添加新文件

創(chuàng)建好新文件后,比如:touch newfile

cvs add newfile

對于圖片,Word文檔等非純文本的項目,需要使用cvs add –kb 按二進制文件方式導(dǎo)入(k表示擴展選項,b表示binary),否則有可能出現(xiàn)文件被破壞的情況

比如:

cvs add -kb newfile.gif

cvs add -kb readme.doc

查看修改歷史

cvs log file_name

cvs history file_name

其實CVS還有一種pserver的方式,可以使用客戶端來進行管理。這樣,即時/data/cvsroot沒有被nfs 共享出來在其他服務(wù)器上也可以通過cvs進行版本控制。

分兩步建立:

首先,建立xinetd啟動服務(wù)

cat >>/etc/xinetd.d/cvspserver << "EOF"

service cvspserver

{

port= 2401

socket_type = stream

protocol= tcp

wait= no

user= root

passenv= PATH

server= /usr/bin/cvs

server_args = -f --allow-root=/data/cvsrootpserver

}

EOF

其次,客戶端設(shè)置.cshrc (csh forexample)

$vi ~/.cshrc

setenv CVSROOT:pserver:[email protected]:/data/cvsroot

這里的username請換成自己的,后面的ip地址和路徑,請換成符合實際服務(wù)器的路徑。

Subversion

以下文檔是很早的時候?qū)懙?,?a href="http://www.delux-kingway.cn/article/bbs/" target="_blank">最新版本可能存在一定差異,請注意。

subversion簡介

多年來,版本控制系統(tǒng)一直都是CVS(Concurrent Versions System)的天下。CVS作為基

于RCS上建立,可以實現(xiàn)多用戶協(xié)同工作的系統(tǒng),可以記錄文件的修改信息。這對于開發(fā)人員是非常有用的。

然而,CVS經(jīng)過這么多年,也逐漸顯示出一些不足,這個時候出現(xiàn)了一些商業(yè)的版本控制軟件,比如Rational的ClearCase就是一個功能強大的商業(yè)軟件,但是其價格也是非常昂貴的。

Subversion就是一種設(shè)計來解決CVS的局限性的軟件。從2000年開始,Subversion開始開發(fā),2001年8月開始用Subversion來管理Subversion的開發(fā)工作,到目前位置,subversion已經(jīng)發(fā)展到了1.9.3版。

Subverion的主要特點有:

a.保留大多數(shù)CVS 特性,很多命令的選項基本通用

b.目錄、重命名和文件meta-data都已經(jīng)版本化,以前的CVS只能對文件版本化。

c.不可分隔的原子化提交,版本的變化是每次提交所有的文件版本都變化。

d.可以選擇Apache作為網(wǎng)絡(luò)服務(wù)器,集成于現(xiàn)有Apache控制的權(quán)限管理等。

e.分支和標簽是代價低廉(固定不變的)的操作

f.本地化的客戶端/服務(wù)器,分層的庫設(shè)計

g.消耗和修改部分的大小成比例,而不是數(shù)據(jù)的大小

h.Unix下的鏈接也可以實現(xiàn)版本化控制了

i.更加有效的處理二進制文件

j.更加人性化的命令輸出

k.本地化提示信息。

Subversion的安裝

Subversion是建立在一個可移植的APR(Apacheportable Runtime)上,所以Subversion可以建立在Apache的支持上,但是不僅限于必須使用Apache。Subversion可以做為Apache 2.0的一個模塊,以WebDAV/DeltaV協(xié)議運行,也可以采用其自帶的svnserver小型服務(wù)器運行。我們這里將采用Apache下WebDAV/DeltaV方式運行,所以需要檢查Apache2.0是否已經(jīng)安裝好。

# yum install subversion

RHEL6默認安裝的是1.6.11版本的subversion

Subversion和CVS的比較

1.不同的修訂版本號。CVS將每個修改文件都賦予一個版本號,因此在CVS中,所有的文件版本號是不同的。

2.Subversion將目錄版本化了。Subversion也開始跟蹤目錄的結(jié)構(gòu),任何對目錄的svn操作都將會被記錄,但是任何操作都必須提交后才生效。

3.離線工作更加方便。Subversion的工作原始副本在本地也有保留,任何對本地文件的修改,不需要連接到服務(wù)器去,就可以對比知道自己做了哪些修改。并且,提交修改的時候Subversion只將差異部分提交給服務(wù)器。

4.二進制文件和文本文件。CVS對二進制文件的版本化做的非常差,對于每次修改的二進制文件,CVS都會將更新的副本儲存下來,大量占用了空間。而Subversion就不管是二進制文件還是文本文件,它都采用差異比較算法來表示更新的部分。CVS提交二進制文件需要帶-kb標記,subversion不需要任何標記就可以識別二進制文件。

實例介紹

目前有一家公司,有兩個不同的Group在進行開發(fā),也就是說,兩個項目組的成員是不允許獲得另外一個項目組的開發(fā)代碼的。當時,為了某些模塊的協(xié)同工作,兩個項目組的Project Manager又不得不互相取得對方的代碼。

現(xiàn)在我們設(shè)計一個Subversion來做版本控制的系統(tǒng),假設(shè)一共有6個用戶,group1有user1,user2,manager1;group2有user3,user4,manager2.項目組分別為project1,project2.

由于我們的權(quán)限方面控制比較復(fù)雜,而適合權(quán)限復(fù)雜控制以及更好授權(quán)選擇的方式,我認為以Apache+mod_dav_svn比采用獨立的svnserve更加方便。

建立Apache+mod_dav_svn的subversion版本控制

(1).安裝mod_dav_svn

#yum install mod_dav_svn

(2).基本的Apache配置

#cd /etc/httpd/conf

#vi httpd.conf

找到LoadModule部分,在LoadModule dav_module后面加入兩行

LoadModule dav_module modules/mod_dav.so

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

在配置文件中,需要告訴Apache在什么地方保存的Subversion版本庫,Location就是告訴Apache在特定的URL以及子URL下需要的特殊處理。

在文件的最后部分建立區(qū)塊

DAV svn

SVNParentPath/data/svn

注意,任何Apache的web目錄下不能存在svn這樣的目錄,否則會導(dǎo)致Apache不知道怎么解析。

(3).配置認證部分

前面的配置會讓所有能訪問你web的人都可以獲得你的文件,并且可以提交他的修改。所以,為了安全,也為了一個很好的秩序,我們必須添加認證。

DAV svn

SVNParentPath/data/svn

# access control policy

AuthzSVNAccessFile/etc/httpd/conf/access-control-file

# Only authenticatedusers may access the repository

Require valid-user

# Howto authenticate a user

AuthType Basic

AuthName"Subversion repository"

AuthUserFile/etc/httpd/conf/svn-auth-file

其中的svn-auth-file是做用戶名和密碼認證的,這個文件采用htpasswd來生成和修改。

$htpasswd –cm /etc/httpd/conf/svn-auth-file user1(第一次使用需要帶-c)

New passwd:*****

Re-type new password:*****

Adding password for user user1

$htpasswd –m /etc/httpd/conf/svn-auth-file user2

New passwd:*****

Re-type new password:*****

Adding password for user user2

…..

access-control-file文件的格式:

[groups]

project1 = user1 user2 manager1

project2 = user3 user4 manager2

[project1:/]

@project1 = rw

manager2 =rw

[/project2:/]

@project2 = rw

manager1 = rw

[/project2:/secret]

manager1 =

以上配置允許user1,user2,manager1,manager2訪問project1的所有文件,并且都可以讀寫;user3,user4,manager2訪問project2的所有文件可以讀寫,但是manager1只允許讀寫除了secret目錄下的所有其他文件。

建立過程及基本使用

(1).CreatRepository

基本語法:

$svnadmin create/data/svn/project1

#chmod 755 /data/svn

$svnadmin create /data/svn/project1

$svnadmin create /data/svn/project2

建立兩個項目組的庫,我們采用了默認的FSFS存儲方式。

$ls /data/svn/project1

conf/ dav/ db/ format hooks/ locks/README.txt

(2).導(dǎo)入文件到Repository

我們已經(jīng)建立了庫,所以該我們導(dǎo)入我們的源文件到庫里邊的時候了。我們首先來準備一下兩個項目組的文件,然后導(dǎo)入到庫里。

A.準備需要導(dǎo)入的文件

$cd /home/svn

建立project1的文件目錄結(jié)構(gòu),源文件在/somepath/source1/下面,是project1的項目源代碼。

$mkdir source1

$mkdir source1/trunk

$mkdir source/branches

$mkdir source/tags

$ls source1

$mv /somepath/source1/*source1/trunk/

project2的建立方法和上面類似

B.導(dǎo)入項目文件到庫里

$cd source1

$svn import --message “Intial files for Project1”file:///data/svn/source1

Addingconfig.txt

Addingxconnect_config.txt

AddingASIC_ADDR_SYNC

……

Project2的導(dǎo)入方法類似

導(dǎo)入完畢后,可以刪除剛才準備的源文件了。

$rm –rf source1 source2

(3).獲取一份源文件的拷貝

以用戶user1的身份登陸系統(tǒng),在自己的Home目錄下,可以用命令svn checkout

的方式獲得一份subversion控制下的源文件。如果不特別指名,獲得的文件在本地目錄

和在subversion下面的目錄結(jié)構(gòu)一致。所以,我們?yōu)榱藚^(qū)分,應(yīng)該指定一個本地的目錄

名。

$svn checkouthttp://domain/project1/trunkproject1_trunk

[user1@server ~/test]$svn cohttp://domain/svn/project1/trunkproject1_trunk

Authentication realm: Subversionrepository

Password for 'user1':

Aproject1/trunk/config.txt

Aproject1/trunk/xconnect_config.txt

Aproject1/trunk/ASIC_ADDR_SYNC

Aproject1/trunk/ASIC_ADDR_SYNC/SW2ASIC_20051103

Aproject1/trunk/ASIC_ADDR_SYNC/SW2ASIC_20051103/addr.txt

(4).編輯和提交修改

編輯文的文件,可以用你喜歡的任何編輯器,我們現(xiàn)在添加一個文件.

$touch test.txt

Add a line for this file

$svn add test.txt添加一個文件到subversion,但是直到后面提交后才才庫中生效

$svn status查看哪些文件有變化

Atest.txt

$svn diff test.txt比較本地文件和庫中的不同

Index: test.txt

================================

--- test.txt(revision0)

+++ test.txt(revision0)

@@ -0,0 +1 @@

+Add a line for this file

$svn ci –m “add a line for test.txt”提交修改了的文件

Addingtest.txt

Transmitting file data .

Committed revision 3.

$svn log test.txt查看變化歷史

---------------------------------------------------------------------

r3 | admin | 2005-11-12 14:43:36+0800 (Sat, 12 Nov 2005) | 1 line

add a line

---------------------------------------------------------------------

$svn update獲得最新的版本,使用這個命令獲得他人的最新更改。

如果發(fā)生沖突,使用svn resolve解決

(5).Svn客戶端常用命令

svn add//添加一個文件

svn checkout(coi)//從苦衷獲取一個工作拷貝

svn cimmit(ci)//提交當前工作拷貝的更改到代碼苦,如果出現(xiàn)沖突需要解決。

svn copy(cp)//做一個工作的拷貝

svn delete(del,remove,rm)//刪除本地或者svn庫中的文件或者目錄

svn diff(di)//比較某個文件和庫中對應(yīng)的文件的不同,和系統(tǒng)的diff命令類似

svn export//導(dǎo)出一個無版本控制的目錄樹拷貝,用于可以運行的版本需要導(dǎo)出。

svn import//將當前目錄下的文件導(dǎo)入到庫中

svn info//查看當前目錄下的某個文件或者文件夾的信息

svn list(ls)//列出當前拷貝的文件

svn mkdir//在本地或者庫中新建一個文件夾

svn move(mv,rename,ren)類似于系統(tǒng)的mv命令

svn status(stat,st)//svn工作拷貝的當前狀態(tài),和上次提交或者update后的對比

svn update(up)//將svn庫中的文件同步到本地

(6).創(chuàng)建一個Tag和Branch

Subversion創(chuàng)建Tag和Branch和CVS不一樣,它采用的是copy方式。

A.創(chuàng)建一個Tags,只能這個項目的Project Manager負責,下面以manager1用戶登陸操作。

$svn copy –m “Create Tag version1”[url=]file:///data/svn/project1/trunk/[/url][url=]file:///data/svn/project1/tags/version1[/url]

$svn list[url=]file:///data/svn/project1/tags[/url]

version1

B.創(chuàng)建一個Branch

$svncopy –m “createBranch a”[url=]file:///data/svn/project1/trunk/[/url][url=]file:///data/svn/project1/branches/brancha[/url]

以user1登陸

$svn switchhttp://domain/svn/project1/branches/brancha

這樣以后user1就以brancha作為工作的庫目錄,從這里開始作為分支。

(7).Merging aBranch

(8).Windows客戶端的安裝和使用

下載TortoiseSVN-xxx.msi,安裝,然后CheckOut一個庫的拷貝。

Clisoft SOS介紹

a.業(yè)界最完整的版本控制工具. 具有動態(tài)連結(jié)及智能快取等強大功能

完整得知所有使用者檔案修改, 增減, 開啟等記錄...

節(jié)省硬件的支出, 讓系統(tǒng)管理員更有效控制數(shù)據(jù)的管理與儲存

對于硬件和軟件設(shè)計資源 (design resouce), 設(shè)計者可以更有效的取得及運用

單鍵標注(Tag)整個工作目錄下所使用的版本.

數(shù)據(jù)庫快照(Snapshot)及最完整的安全控管機制.

可任意任務(wù)分組? 控制組員可擦寫之目錄及檔案

最簡易的操作接口, 無需管理員. 工程師一小時上手

提供命令模式, 易于與EDA工具整合.

內(nèi)建 Bug Tracking 功能, 可通知同組伙伴所須修改之錯誤.

提供豐富的管理工具及 Trigger 功能.

與 Cadence DFII 完整結(jié)合

提供工作交接及內(nèi)部教育訓(xùn)練一個最佳平臺環(huán)境.

提供最佳異地開發(fā)功能

這個軟件主要是針對全定制IC設(shè)計的,可以嵌入:

Cadence Virtuoso

Custom IC

Agilent Advanced Design System(ADS)

Mentor Pyxis

Synopsys Laker

Synopsys Custom Designer

SOS是商業(yè)軟件,只要購買了,安裝和配置完全由廠家支持,這里就不再做詳細的介紹了。

IC Manage

沒有接觸過,據(jù)說也是一個不錯的IC公司喜歡用的版本管理軟件。

git

很好的一個分布式版本管理軟件,在開源軟件開發(fā)行業(yè)使用非常廣泛。不過目前在IC設(shè)計行業(yè)所見不多,也許我們IC行業(yè)太落后了,沒互聯(lián)網(wǎng)和開源界對新技術(shù)的接受能力強。我們習(xí)慣用我們熟悉的東西。

搭建:

(1)yum install git

[root@eda ~]# git --version

git version 1.8.3.1

(2)創(chuàng)建git用戶

[root@eda ~]# git --version

git version 1.8.3.1

[root@eda ~]# cd

[root@eda ~]# pwd

/root

[root@eda ~]# useradd git

[root@eda ~]# passwd git

Changing password for usergit.

New password:

Retype new password:

passwd: all authenticationtokens updated successfully.

[root@eda ~]# su - git

[git@eda ~]$ mkdir srv

[git@eda ~]$ ls

srv

[git@eda ~]$ cd srv

(3)初始化項目

[git@eda srv]$ git init--bare proj.git

Initialized empty Gitrepository in /home/git/srv/proj.git/

[git@eda srv]$ ls

proj.git

(4)Clone

[git@eda work]$ git clonegit@localhost:srv/proj.git

Cloning into 'proj'...

git@localhost's password:

(5)添加文件

[git@eda work]$ ls

proj

[git@eda work]$ cd proj/

[git@eda proj]$ touch abc.txt

[git@eda proj]$ vi abc.txt

wgh

test

"abc.txt" 2L, 9Cwritten

[git@eda proj]$ ls

abc.txt

[git@eda proj]$ pwd

/home/git/work/proj

[git@eda proj]$ git addabc.txt

[git@eda proj]$ git commitabc.txt -m "test file"

*** Please tell me who youare.

Run

git config --global user.email"[email protected]"

git config --global user.name "YourName"

需要設(shè)置提交者的個人信息

[git@eda proj]$ git config--global user.name "Guanghui"

[git@eda proj]$ git config--global user.email "[email protected]"

(6)提交文件

[git@eda proj]$ git commitabc.txt -m "test file"

[master (root-commit)0455f79] test file

1 file changed, 2 insertions(+)

create mode 100644 abc.txt

[git@eda proj]$ git pushorigin master

git@localhost's password:

Counting objects: 3, done.

Writing objects: 100% (3/3),215 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0(delta 0)

To git@localhost:srv/proj.git

* [new branch]master -> master

[git@eda proj]$

(7)查看變化是否提交

我們需要重新git clone一份

[git@eda ~]$ git clonegit@localhost:srv/proj.git

[git@eda ~]$ cd proj/

[git@eda proj]$ ls

abc.txt

[git@eda proj]$ git log

commit0455f7997a895e5ffea3f016ec04bf2bdb7b25ad

Author: Guanghui

Date:Fri Apr 15 21:44:12 2016 +0800

test file

發(fā)現(xiàn)已經(jīng)存在我們剛才添加進入的一個文件了。

權(quán)限管理

要方便管理公鑰,用Gitosis;

要像SVN那樣詳細地控制權(quán)限,用Gitolite

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IC設(shè)計
    +關(guān)注

    關(guān)注

    38

    文章

    1302

    瀏覽量

    104327
  • IT
    IT
    +關(guān)注

    關(guān)注

    2

    文章

    870

    瀏覽量

    63655

原文標題:精華 | 大型IC設(shè)計中心的IT環(huán)境該如何規(guī)劃?

文章出處:【微信號:wc_ysj,微信公眾號:旺材芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于公司關(guān)于自己

    年12月,深圳市崧曄達科技有限公司正式成立。我們堅持只做進口原裝,價格優(yōu)惠,信譽為優(yōu),公司經(jīng)營的范圍很廣,如電子元器件,偏冷門電子,想開關(guān)連接器,品牌授權(quán)代理都是我們的品種。 關(guān)于自己在2015年3月
    發(fā)表于 04-20 09:47

    精通嵌入式Linux編程—構(gòu)造自己的GUI環(huán)境

    精通嵌入式Linux編程—構(gòu)造自己的GUI環(huán)境
    發(fā)表于 10-30 09:04 ?16次下載
    精通嵌入式Linux編程—構(gòu)造<b class='flag-5'>自己</b>的GUI<b class='flag-5'>環(huán)境</b>

    爆料!蘋果正在設(shè)計自己的電源芯片

    蘋果正在設(shè)計自己的電源芯片,這應(yīng)該由蘋果公司可信硅供應(yīng)商臺積電制造??刂苅Phone的充電,電池管理和能耗的電源管理芯片是一個關(guān)鍵但無聊的組件。這幾乎沒有被提及的功能。但日經(jīng)指出,新內(nèi)
    的頭像 發(fā)表于 12-05 18:22 ?5156次閱讀

    Facebook自己芯片,用ai來管理暴力直播

    升級軟件已經(jīng)不能滿足 Facebook 的需求,更強大的算法需要定制化 AI 芯片來支撐。雖然有大量的公司(英特爾,三星,Nvidia 等)在開發(fā)節(jié)能芯片,但 Facebook 決定自己
    發(fā)表于 06-01 09:08 ?556次閱讀

    Facebook正在組建一個團隊來設(shè)計自己芯片

    之前已經(jīng)有多家科技公司開始自主開發(fā)芯片。2010年,蘋果開始推出自己芯片,目前已經(jīng)在旗下很多重要產(chǎn)品線中使用自主開發(fā)的芯片。谷歌也開發(fā)了
    的頭像 發(fā)表于 04-21 09:10 ?4396次閱讀

    中國可以做出自己芯片嗎?

    郭臺銘: 中國可以做出自己芯片和操作系統(tǒng) 鴻海董事長郭臺銘表示,中國可以做出自己芯片和操作系統(tǒng)。他認為,今年富士康進行園區(qū)改造,深圳龍華產(chǎn)業(yè)園區(qū)預(yù)計5年改造完成。中央社報道,人民網(wǎng)
    的頭像 發(fā)表于 06-30 08:36 ?2.8w次閱讀

    愛立信為環(huán)境保護貢獻自己的力量

    愛立信,一直身體力行,為環(huán)境保護貢獻自己的力量。
    的頭像 發(fā)表于 04-25 09:18 ?3340次閱讀

    大眾將為自動駕駛汽車設(shè)計自己的高性能芯片

    大眾汽車不會滿足于其自動駕駛汽車的現(xiàn)成計算能力。據(jù)報道,公司首席執(zhí)行官Herbert Diess在接受Handelsblatt采訪時表示,大眾將為自動駕駛汽車設(shè)計自己的高性能芯片。Diess表示
    的頭像 發(fā)表于 05-13 15:08 ?1853次閱讀

    中國最大的芯片公司

    半導(dǎo)體公司,成立于2004年,公司總部在深圳。 現(xiàn)在華為大部分的手機、平板電腦都是使用的是自研芯片,海思還有別的系列芯片,如巴龍芯片、昇騰
    的頭像 發(fā)表于 01-05 10:51 ?8210次閱讀

    車企為什么自己芯片

    隨著新能源汽車的發(fā)展和造車新勢力競爭的日趨激烈,車企自己下場做芯片的越來越多,筆者從自身的理解和半導(dǎo)體專業(yè)的思考出發(fā),給大家拋磚引玉,提出自己的建議。
    的頭像 發(fā)表于 01-29 15:51 ?941次閱讀

    Linux環(huán)境下查詢自己的ip和port教程

    寫在前面:在Linux環(huán)境中,學(xué)習(xí)網(wǎng)絡(luò)協(xié)議之后,就需要經(jīng)常查看自己系統(tǒng)的ip和port是否正確,那么怎么快速查找它們呢? 我現(xiàn)在就把它們列出來,以解我的心頭之恨!??! 正文開始... **1、顯示或配置網(wǎng)絡(luò)設(shè)備命令**
    的頭像 發(fā)表于 02-15 10:37 ?5606次閱讀
    Linux<b class='flag-5'>環(huán)境</b>下查詢<b class='flag-5'>自己</b>的ip和port教程

    LG利用Tenstorrent的AI芯片設(shè)計來開發(fā)自己芯片

    tenstorent總經(jīng)理David Bennett表示:“初期將利用tenstorent ai芯片設(shè)計開發(fā)自己芯片,但今后將進行更大規(guī)模的戰(zhàn)略和合作。”
    的頭像 發(fā)表于 06-01 09:35 ?1330次閱讀

    使用C#創(chuàng)建自己的桌面環(huán)境

    電子發(fā)燒友網(wǎng)站提供《使用C#創(chuàng)建自己的桌面環(huán)境.zip》資料免費下載
    發(fā)表于 06-19 11:02 ?0次下載
    使用C#創(chuàng)建<b class='flag-5'>自己</b>的桌面<b class='flag-5'>環(huán)境</b>

    蘋果15芯片是A16嗎 蘋果a15芯片自己設(shè)計的嗎

    蘋果15芯片是A16嗎 是的,蘋果15搭載的芯片是A16 Bionic芯片。這是蘋果公司自主研發(fā)的處理器芯片,采用了臺積電的N4P制程工藝。
    的頭像 發(fā)表于 10-08 11:08 ?4540次閱讀

    科技公司最終都是芯片公司?

    上一場芯片大戰(zhàn)后,幾家頭部公司牢牢控制著自己的位置。大多數(shù)時候,英特爾控制著超過 2/3 的市場,決定著明年 CPU 計算能力提升 8% 還是 10%;英偉達是在虛擬世界里描繪畫面的首選,高通決定信號如何在空氣里傳播。
    的頭像 發(fā)表于 11-10 16:16 ?844次閱讀
    科技<b class='flag-5'>公司</b>最終都是<b class='flag-5'>芯片</b><b class='flag-5'>公司</b>?