編譯ffs
① 計算機文件都有什麼格式各有什麼作用
A 對象代碼庫文件
AAM Authorware shocked文件
AAS Authorware shocked包
ABF Adobe二進制屏幕字體
ABK CorelDRAW自動備份文件
ABS 該類文件有時用於指示一個摘要(就像在一篇有關科學方面的文章的一個摘要或概要,取自abstract)
ACE Ace壓縮檔案格式
ACL CorelDRAW 6鍵盤快捷鍵文件
ACM Windows系統目錄文件
ACP Microsoft office助手預覽文件
ACR 美國放射醫學大學文件格式
ACT Microsoft office助手文件
ACV OS/2的驅動程序,用於壓縮或解壓縮音頻數據
AD After Dark屏幕保護程序
ADA Ada源文件(非-GNAT)
ADB Ada源文件主體(GNAT);HP100LX組織者的約定資料庫
ADD OS/2用於引導過程的適配器驅動程序
ADF Amiga磁碟文件
ADI AutoCAD設備無關二進制繪圖儀格式
ADM After Dark多模塊屏幕保護;Windows NT策略模板
ADP FaxWork用於傳真數據機的交互安裝文件;Astound Dynamite文件
ADR After Dark隨機屏幕保護;Smart Address的地址簿
ADS Ada源文件說明書(GNAT)
AFM Adobe的字體尺度
AF2,AF3 ABC的FlowChat文件
AI Adobe Illustrator格式圖形
AIF,AIFF 音頻互交換文件,Silicon Graphic and Macintosh應用程序的聲音格式
AIFC 壓縮AIF
AIM AOL即時信息傳送
AIS ACDSee圖形序列文件;Velvet Studio設備文件
AKW RoboHELP的幫助工程中所有A-關鍵詞
ALAW 歐洲電話音頻格式
ALB JASC Image Commander相冊
ALL 藝術與書信庫
AMS Velvet Studio音樂模塊(MOD)文件;Extreme的Tracker模塊文件
ANC Canon Computer的調色板文件,包含一系列可選的顏色板
ANI Windows系統中的動畫游標
ANS ANSI文本文件
ANT SimAnt For Windows中保存的游戲文件
API Adobe Acrobat使用的應用程序設計介面文件
APR Lotus Approach 97文件
APS Microsoft Visual C++文件
ARC LH ARC的壓縮檔案文件
ARI Aristotle聲音文件
ARJ Robert Jung ARJ壓縮包文件
ART Xara Studio繪畫文件;Canon Crayola美術文件;Clip Art文件格式;另一種光線跟蹤格式;AOL使用的用Johnson—Grace壓縮演算法壓縮的標記文件
ASA Microsoft Visual InterDev文件
ASC ASCⅡ文本文件;PGP演算法加密文件
ASD Microsoft Word的自動保存文件;Microsoft高級流媒體格式(microsoft advanced streaming FORMat,ASF)的描述文件;可用NSREX打開 Velvet Studio例子文件
ASE Velvet Studio采樣文件
ASF Microsoft高級流媒體格式文件
ASM 匯編語言源文件,Pro/E裝配文件
ASO Astound Dynamite對象文件
ASP 動態網頁文件;ProComm Plus安裝與連接腳本文件;Astound介紹文件
AST Astound多媒體文件;ClarisWorks"助手」文件
ASV DataCAD自動保存文件
ASX Cheyenne備份腳本文件;Microsoft高級流媒體重定向器文件,視頻文件
ATT AT< Group 4點陣圖文件
ATW 來自個人軟體的Any Time Deluxe For Windows個人信息管理員文件
AU Sun/NeXT/DEC/UNIX聲音文件;音頻U-Law(讀作"mu-law」)文件格式
AVB Computer Associates Inoculan反病毒軟體的病毒感染後文件
AVI Microsoft Audio Video Interleave電影格式
AVR Audio Visual Research文件格式
AVS 應用程序可視化格式
AWD FaxVien文檔
AWR Telsis數字儲存音頻文件擴展名格式
Axx ARJ壓縮文件的分包序號文件,用於將一個大文件壓至幾個小的壓縮包中(xx取01-99的數字)
A3L Authorware 3.x庫文件
A4L Authorware 4.x庫文件
A5L Authorware 5.x庫文件
A3M,A4M Authorware Macintosh未打包文件
A4P Authorware無運行時間的打包文件
A3W,A4W,A5W 未打包的Authorware Windows文件
BAK 備份文件
BAS BASIC源文件
BAT 批處理文件
BDF West Point Bridger Designer文件
BFC Windows 95 Briefcase文檔
BG Backgammon For Windows下的游戲文件
BGL Microsoft Flight Simulator(微軟飛行模擬器)的視景文件
BI 二進制文件
BIF Group Wise的初始化文件
BIFF XLIFE 3D格式文件
BIN 二進制文件
BK,BK$ 有時用於代表備份版本
BKS IBM BookManager Read書架文件
BMK 書簽文件
BMP Windows或OS/2點陣圖文件
BMI Apogee BioMenace數據文件
BOOK Adobe FrameMaker Book文件
BOX Lotus Notes的郵箱文件
BPL Borlard Delph 4打包庫
BQY BrioQuery文件
BRX 用於查看多媒體對象目錄的文件
BSC MS Developer Studio瀏覽器信息文件
BSP Quake圖形文件
BS1 Apogee Blake Stone數據文件
BS_ Microsoft Bookshelf Find菜單外殼擴展名
BTM Norton 應用程序使用的批處理文件
BUD Quicken的備份磁碟
BUN CakeWalk 聲音捆綁文件(一種MIDI程序)
BW SGI黑白圖像文件
BWV 商業波形文件
BYU BYU的電影文件格式
B4 Helix Nuts and Bolts文件
C C代碼文件
C0l 台風波形文件
CAB Microsoft壓縮檔案文件
CAD Softdek的Drafix CAD文件
CAL CALS壓縮點陣圖;日歷計劃表數據
CAM Casio照相機格式
CAP 壓縮音樂文件格式
CAS 逗號分開的ASCⅡ文件
CAT Quicken使用 的IntellCharge分類文件
CB Microsoft干凈引導文件
CBI 二進制卷格式文件(用於IBM大型機系統)
CC Visual dBASE用戶自定義類文件
CCA cc:郵件文件
CCB Visual Basic動態按鈕配置文件
CCF 多媒體查看器配置文件,用於OS/2
CCH Corel圖表文件
CCM Lotus cc:郵箱(例如"INBOX.CCM」)
CCO CyberChat數據文件
CCT Macromedia Director Shockwave投影
CDA CD音頻軌道
CDF Microsoft頻道定義格式文件
CDI Philip的高密盤交互格式
CDM Visual dBASE自定義數據模塊文件
CDR CorelDRAW繪圖文件;原始音頻CD數據文件
CDT CorelDRAW模板
CDX CorelDRAW壓縮繪圖文件;Microsoft Visual FoxPro索引文件
CEL CIMFast事件語言文件
CER 證書文件(MIME x-x509-ca-cert)
CFB Compton的多媒文件
CFG 配置文件
CFM CotdFusion模板文件;Visual dBASE Windows用戶定製表單
CGI 公共網關介面腳本文件
CGM 計算機圖形元文件
CH OS/2配置文件
CHK 由Windows磁碟碎片整理器或磁碟掃描保存的文件碎片
CHM 編譯過的HTML文件
CHR 字元集(字體文件)
CHP Ventura Publisher章節文件
CHT ChartViem文件;Harvard Graphics矢量文件
CIF Adaptec CD 創建器 CD映像文件
CIL Clip Gallery下載包
CIM SimCity 2000文件
CIN OS/2改變控制文件用於跟蹤INI文件中的變化
CK1 iD/Apogee Commander Keen 1數據文件
CK2 iD/Apogee Commander Keen 2數據文件
CK3 iD/Apogee Commander Keen 3數據文件
CK4 iD /Apogee Commander Keen 4數據文件
CK5 iD /Apogee Commander Keen 5數據文件
CK6 iD /Apogee Commander Keen 6數據文件
CLASS java類文件
CLL Crick Software Clicker文件
CLP Windows 剪貼板文件
CLS Visual Basic類文件
CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CMF Corel元文件
CMG Chessmaster保存的游戲文件
CMP JPEG點陣圖文件;地址文檔
CMV Corel Move動畫文件
CMX Corel Presentation Exchange圖像
CNF Telnet,Windows和其他其內格式會發生改變的應用程序使用的配置文件
CNM Windows應用程序菜單選項和安裝文件
CNQ Compuworks Design Shop文件
CNT Windows(或其他)系統用於幫助索引或其他目的內容文件
COB TrueSpace 2對象文件
COD Microsoft C編譯器產生的可顯示機器碼/匯編代碼文件,其中附有源C代碼作為注釋
COM 命令文件(程序)
CPD Corel Print Office文件(圖形)
CPD,CPE 傳真覆蓋文檔
CPI Microsoft MS-DOS代碼頁信息文件
CPL 控制面板擴展名,Corel顏色板
CPO Corel列印存儲文件
CPP C++代碼文件
CPR Corel提供說明書文件
CPT Corel 照片-繪畫圖像
CPX Corel Presentation Exchange壓縮圖形文件
CRD Windows Cardfile文件
CRP Corel 提供的運行時介紹文件;Visual dBASE自定義報表文件
CRT 認證文件
CSC Corel腳本文件
CSP PC Emcee On_Screen圖像
CSS 瀑布式表格文件
CST Macromedia Director Cast文件
CSV 逗號分隔的值文件
CT Scitex CT點陣圖文件;Paint Shop Pro Grapic編輯器文件
CTL 通常用於表示一個包含控制項信息的文件;FaxWork用它來保持有關每個傳真收到或發出的信息
CUE Microsoft提示牌數據文件
CUR Windows游標文件
CUT Dr Halo點陣圖文件
CV Corel版本的檔案文件;Microsoft CodeView信息屏幕文件
CWK ClarisWorks數據文件.
CWS ClarisWorks模塊
CXT Macromedia Director受保護的(不可編輯的)投影文件
CXX C++源代碼文件
DAT 數據文件;WrodPerfect合並數據文件;用於一些MPEG格式的文件
DB Borland的Paradox 7表
DBC Microsoft Visual FoxPro資料庫容器文件
DBF dBASE文件,一種由Ashton-Tate創建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和類似數
據庫或與資料庫有關產品識別;可用數據文件(能被Excel 97打開);Oracle 8.1.x表格空間文件
DBX DataBearn圖像;Microsoft Visual FoxPro表格文件
DCM DCM模塊格式文件
DCR 沖擊波文件
DCS 桌面顏色分隔文件
DCT Microsoft Visual FoxPro資料庫容器
DCU Delphi編譯單元文件
DCX Microsoft Visual FoxPro資料庫容器;基於PCX的傳真圖像;宏
DC5 DataCAD繪圖文件
DDF Btrieve或Xtrieve數據定義文件,它包含用於描述Btrieve或Xtrieve文件的元數據
DDIF Digital Equipment或 Compaq格式,用於保存他們圖像與字處理文檔
DEF SmartWareⅡ數據文件;C++模塊定義文件
DEFI Oracle 7 卸載腳本文件
DEM 用於表示數字高度模型的USGS基準的文件
DER 認證文件
DEWF Macintosh Sound Cap/Sound Edit錄音設備格式
DGN Macintosh 95 CAD繪圖文件
DIB 設備無關點陣圖
DIC 目錄
DIF 可進行數據互換的電子表格
DIG DigiLink格式;Sound DesignerⅠ音頻文件
DIR MacromediaDirector文件
DIZ 描述文件
DLG C++對話框腳本文件
DLL 動態鏈接庫
DLS 可下載聲音文件
DMD Visual dBASE數據模塊文件
DMF X-Trakker音樂模塊(MOD)文件
DOC FrameMaker或FrameBuilder文檔;Word Star文檔、Word Perfect文檔、Microsoft Word文檔;DisplayWrite文檔
DOT Microsoft Word文檔模板
DPL Borland Delph3壓縮庫
DPR Borland Delphi工程頭文件
DRAW Acorn的基於對象的矢量圖像文件
DRV 驅動程序
DRW Micrografx Designer/Draw;Pro/E繪畫文件
DSF Micrografx Designer VFX文件
DSG DOOM保存的文件
DSM Dynamic Studio音樂模塊(MOD)文件
DSP Microsoft Developer Studio工程文件
DSQ Corel QUERY(查詢)文件
DST 刺綉機圖形文件
DSW Microsoft Developer Studio工作區文件
DTA Word Bank(世界銀行)的STARS數據文件
DTD SGML文檔類型定義(DTD)文件
DTED 地面高度數字數據(圖形的數據格式)文件
DTF Symantec Q&A相關的資料庫數據文件
DTM DigiTrakker模塊文件
DUN Microsoft拔號網路導出文件
DV 數字視頻文件(MIME)
DWD DiamondWare數字化文件
DWG AutoCAD工程圖文件;AutoCAD或Generic CADD老版本的繪圖格式
DXF 可進行互交換的繪圖文件格式,二進制的DWG格式的文本表示;數據交換文件
DXR Macromedia Director受保護(不可編輯)電影文件
D64 Commodore的64位模擬磁碟圖像文件
EDA Ensoniq ASR磁碟映像
EDD 元素定義文檔(FrameMaker+SGML文檔)
EDE Ensoniq EPS磁碟映像
EDK Ensoniq KT磁碟映像
EDQ Ensoniq SQ1/SQ2/Ks32磁碟映像
EDS Ensoniq SQ80磁碟映像
EDV Ensoniq VFX-SD磁碟映像
EFA Ensoniq ASR文件
EFE Ensoniq EPS文件
EFK Ensoniq KT文件
EFQ Ensoniq SQ1/SQ2/Ks32文件
EFS Ensoniq SQ80文件
EFV Ensoniq VFX-SD文件
EMD ABT擴展模塊
EMF Windows增強元文件
EML Microsoft Outlook Express郵件消息(MIME RTC822)文件
ENC 重演文件
ENFF 中性文件格式擴展名
EPHTML Perl解釋增強HTML文件
EPS 壓縮的PostScript圖像
EPSF 壓縮的PostScript文件
ERI ERWin文件
ERR 當RobooHELP幫助編譯器企圖編譯一個幫助系統源文件時用來存儲錯誤消息的文件
EPX ERWin文件
ESPS ESPS音頻文件
EUI Ensoniq ESP家族的壓縮磁碟映像
EVY 特使文檔
EWL Microsoft Encarta文檔
EXC Microsoft Word禁止字字典
EXE 可執行文件(程序)
F FORTRAN文件
F2R Farandoyle線性模塊格式
F3R Farandoyle分塊線性模塊格式
F77 FORTRAN文件
F90 FORTRAN文件
FAR Fradole Composer音樂模塊(MOD)文件
FAV Microsoft Outlook導航條
FAX 傳真類型圖像
FBK Navison 金融備份
FCD 虛擬CD-ROM
FDB Navison 金融資料庫
FDF Adobe Acrobat表單文檔文件
FEM CADRE有限元素網路文件
FFA,FFL,FFO,FFK Microsoft快速查找文件
FFF GUS PnP銀行文件格式
FFT 最終格式文本(IBM的DCA一部分)
FH3 Als Freehand 3繪圖文件
FIF Fractal圖像文件
FIG REND386/AVRIL使用的文件格式
FITS CCD照相機圖像;靈活圖像傳輸系統
FLA Macromedia Flash電影
FLC Autodesk FLIC動畫文件
FLF Corel Paradox產生的格式:Navison Financials許可文件;OS/2驅動程序文件
PLI Autodesk FLIC動畫
FLT StarTrekker音樂模塊(MOD)文件;MultiGen Inc的Open Flight使用的文件格式;Corel過濾器文件
FM Adobe FrameMaker文檔
FMB Oracle4.0版或以後版本表單的二進制源代碼文件
FML 文件鏡象列表(GetRight)
FMT Oracle 4.0版或以後版本表單的文本格式;Microsoft Schele+ 列印文件
FMX Oracle 4.0版或以後版本可執行表單
FND Microsoft Explorer保存的搜索文件(Find applet)
FNG 字體組文件(字體導航器,Font Navigator)
FNK Funk Tracker模塊格式
FOG Fontographer模塊字體
FON 系統字體
FOR FORTRAN文件
FOT 字體相關文件
FP FileMaker Pro文件
FP1 Flying Pigs for Windows數據文件
FP3 FileMaker Pro文件
FPT FileMaker Pro文件;Microsoft Fox Pro備注字體文件
FPX FlashPix點陣圖
FRM 表單;Frame Maker或Frame Builder文檔;Oracle可執行表(3.0版或早期版本);Visual Basic表單;WordPerfect Merge表單;DataCAD標志報表文件
FRT Microsoft FoxPro報表文件
FRX Visual Basic表單文本;Microsoft FoxPro報表文件
FSF fPrint Audit Tool文件格式
FSL Borland的Paradox 7表單;Corel Paradox保存的表單
FSM Parandoyle示例格式
FT Lotus Notes全文本索引
FTG 全文本搜索組文件,由Windows幫助系統查找時產生——可以刪除,並在需要時重建起來
FTS 全文本搜索引文件,由Windows幫助系統查找時產生
FW2 Framework Ⅱ文件
FW3 Framework Ⅲ文件
FW4 Framework Ⅳ文件
FXP 經Microsoft FoxPro編譯的源文件
FZB Casio FZ-1銀行轉儲
FZF Casio FZ-1完全轉儲
FZV Casio FZ-1聲音轉儲
INI 初始化文件;MWave DSP Synth的"nwsynth.ini」 GMS安裝;Cravis Ultrasound bank安裝
INP Oracle 3.0版或早期版本的表單源代碼
INRS INRS遠程通信聲頻
INS InstallShield安裝腳本;X-Internet簽字文件;Ensoniq EPS字簇設備;Cell/ⅡMAC/PC抽樣設備
INT 中間代碼,當一個源程序經過語法檢查後編譯產生一個可執行代碼
IOF Findit文檔
IQY Microsoft Internet查詢文件
ISO 根據ISD 9660有關CD-ROM文件系統標准列出CD-ROM上的文件
ISP X-Internet簽字文件
IST 數字跟蹤設備文件
ISU InstallShield卸裝腳本
IT 脈沖跟蹤系統音樂模塊(MOD)文件
ITI 脈沖跟蹤系統設備
ITS 脈沖跟蹤系統抽樣,Internet文檔位置
IV Open Inventor中使用的文件格式
IVD 超過20/20微觀數據維數或變數等級文件
IVP 超過20/20的用戶子集配置文件
IVT 超過20/20表或集合數據文件
IVX 超過20/20微數據目錄文件
IW Idlewild屏幕保護程序
IWC Install Watch文檔
J62 Ricoh照相機格式
JAR Java檔案文件(一種用於applet和相關文件的壓縮文件)
JAVA Java源文件
JBF Paint Shop Pro圖像瀏覽文件
JFF,JFIF,JIF JPEG文件
JMP SAS的JMPDiscovery表格統計文件
JN1 Epic MegaGames的Jill of the Jungle數據文件
JPE,JPEG,JPG JPEG圖形文件
JS javascript源文件
JSP HTML網頁,其中包含有對一個Java servlet的參考
JTF JPEG點陣圖文件
K25 Kurzweil 2500抽樣文件
KAR 卡拉OK MIDI文件(文本+MIDI)
KDC Kodak光增強器
KEY DataCAD圖標工具條文件
KFX KoFak Group 4圖像文件
KIZ Kodak數字明信片文件
KKW RoboHELP幫助工程索引設計器中與主題無關的K開頭的所有關鍵字
KMP Korg Trinity KeyMap文件
KQP Konica照相機本地文件
KR1 Kurzweil 2000抽樣(多軟碟機)文件
KRZ Kurzweil 2000抽樣文件
KSF Korg Trinity抽樣文件
KYE Kye游戲數據
LAB Visual dBASE標簽文件
LBM Deluxe Paint點陣圖文件
LBT,LBX Microsoft FoxPro標簽文件
LDB Microsoft Access加鎖文件
LDL Corel Paradox分發庫
LEG Legacy文檔
LES Logitech娛樂系統游戲配置文件(與REC文件一樣)
LFT 3D Studio(DOS)放樣文件
LGO Paintbrush(Microsoft畫圖應用程序)的徽標文件
LHA LZH更換文件後綴
LIB 庫文件
LIN DataCAD線型文件
LIS 結構化查詢報告(SQR)程序產生的輸出文件
LLX Laplink交換代理
LNK Windows快捷方式文件
LOG 日誌文件
LPD Helix Nut和Bolt文件
LRC Intel可視電話文件
LSL Corel Paradox保存的庫文件
LSP AutoLISP、CommonLISP和其他LISP語言文件
LST 列表文件
LU ThoughtWing庫單元文件
LVL Parallax Software的 Miner Descent/D2 Level擴展
LWLO Lightwave分層對象文件
LWOB Lightwave對象文件
LWP Lotus WordPro 96/97文件
LWSC Lightwave視景文件
LYR DataCAD層文件
LZH LH ARC壓縮檔案
LZS Skyroads數據文件
M1V MPEG相關文件(MIME"mpeg」類型)
M3D Corel Motion 3D動畫文件
M3U MPEG URL(MIME聲音文件)
MAC MacPaint圖像文件
MAD Microsoft Access模塊文件
MAF Microsoft Access表單文件
MAG 在一些日本文件中發現的圖形文件格式
MAGIC 魔力郵件監視器配置文件
MAK Visual Basil或Microsoft Visual C++工程文件
MAM Microsoft Access宏
MAN UNIX手冊頁輸出
MAP 映射文件;Duke Nukem 3D WAD游戲文件
MAQ Microsoft Access查詢文件
MAR Microsoft Access報表文件
MAS Lotus Freelance Graphics Smart Master文件
MAT Microsoft Access表;3D Studio MAX材料庫
MAUD MAUD抽樣格式
MAX Kinetx的3DStudio MAX文件;該格式用於一個3D場景文件;Paperport文件;OrCAD設計文件
② 哪位大俠能教教刷機原理啊刷機包裡面的各個文件(bin,ffs,rc1,rc2)都是什麼啊,能不能自己修改呢
刷機教程,安趣上面好多,網路搜索一下安趣。
基本原理,就跟電腦裝系統一樣的,ROM包是可以修改的。
不過目前建議不要修改。因為新手的話很多東西還不明白,建議在安趣上面學習一段時間後再來修改刷機包。
刷機基本步驟,解鎖,root,RECOVERY,替換ROM包。然後重啟。就好了。
另外,ROM包的修改的話,需要反編譯,修改部分文件,然後再打包,再簽名,如果沒修改好,可能刷機不成功導致手機變磚,所以還是先不要修改刷機包,先把刷機學會,推薦安趣。
③ 哪裡有下載虛擬磁碟
FreeBSD下的內存文件系統
大多數操作系統,包括FreeBSD,通常使用磁碟來保存需要存儲的數據。而操作系統採用文件的形式來保存數據,因此操作系統在磁碟上存儲數據需要按照一定的格式進行,以便系統能夠正確存儲和訪問文件,數據在磁碟上的組織格式被稱為文件系統,不同的操作系統通常使用不同的數據組織格式,就是說使用不同的文件系統,例如FreeBSD使用UFS,而linux使用Ext2FS等等。UFS是最古老和標準的Unix文件系統,但FreeBSD下對其進行了改進,主要目的是改善性能,改進後的文件系統也被稱為FFS。
由於文件系統已經成為了操作系統訪問外部磁碟數據的標准形式,操作系統很少直接訪問磁碟獲取數據。由於數據存儲在實際應用中的重要意義,文件系統已經成為操作系統最基本的元素之一。進一步,多個操作系統可以通過同樣的文件系統訪問外部磁碟,而同一個操作系統也可以通過不同的文件系統訪問不同的外部磁碟設備。這樣一來,文件系統就成為了界於操作系統和外部磁碟設備之間的一個獨立層次。
正是由於文件系統已經成為了獨立的一個抽象層,因此可以在這個層次進行更為復雜的處理,例如不讓文件系統從磁碟設備設備上讀取數據,而是從網路上讀取數據,就形成了網路文件系統,從內存中讀取數據就形成了內存文件系統,對讀取的數據進行加解密處理,就形成了加密文件系統,等等。
虛擬磁碟和內存文件系統
雖然目前磁碟的容量、速度和可靠性基本上能滿足絕大多數應用系統的要求,但是在某些情況下,使用磁碟存儲數據仍然存在一些問題。一個例子是在嵌入式系統中,系統通常沒有磁碟,數據通常存儲在各種不可擦寫或可擦寫型半導體晶元中。另一個常遇到的例子是應用系統對於數據訪問要求特別高的性能,由於磁碟是一種機械設備,讀寫的性能總是有限的,不能滿足應用系統的需要。
在這些例子中,在面對需要解決的問題的時候,通常有一個隱含前提,就是不改動操作系統和應用程序本身。如果可以改動系統,那麼,人們就可以針對具體的需要設計另外一套完整的系統,上述問題事實上也就並不存在了。但是這種做法並不現實,因為這將意味著將全部操作系統和應用系統都推倒重來。因此,為了解決這些極端的需求,最簡單的方法是在內存中分配一個區域作為文件系統的數據存儲區,而不是使用磁碟作為存儲設備,這樣既能夠滿足操作系統對文件系統的需求,也能夠滿足應用系統的特殊需要。
使用內存作為文件系統基本上有兩種不同的選擇方式,最簡單的方式是將內存中的一個區域模擬一個磁碟分區,然後就可以在這個虛擬磁碟上按照現有的文件系統組織數據,因此就需要初始化文件系統、裝載與卸載等標准文件系統操作。另一種方法為重新設計一套全新的文件系統,其中並不包含任何磁碟的概念,但在系統中表現為一個標准文件系統。明顯的,重新設計一套文件系統需要更多的工作量,因此,絕大多數情況下,人們使用第一種虛擬磁碟的方法。但是,現有的文件系統,如UFS等,都是基於磁碟設備而設計的,因此很多概念,比如按磁碟塊讀取數據、緩沖、碎片等等,都是針對磁碟設備提出的,理論上基於內存的存儲不需要這些概念,因而也不會出現這些概念需要解決的一些問題。
由於內存文件系統是使用內存來模擬磁碟操作,因此數據都是在內存之間傳輸,就可以得到比較高的讀寫性能。當然,使用內存文件系統,一旦系統重新啟動,所有的內容也就不再存在了,因此只能用來保存臨時性的數據。也是由於是使用內存來保存數據,緩沖實質上沒有任何意義,傳統文件系統中的非同步」async」和同步」sync」這兩種概念的意義也不大了。
雖然從本質上講,內存文件系統根本不需要緩沖,直接訪問就能達到最好的效率,但是很難做到這一點,尤其是由於目前都還是使用內存來模擬一個磁碟設備的情況,內存文件系統事實上還是經過了緩沖。從這個地方,也可以看出目前使用的內存文件系統的弊病,內存文件系統本身占據了一份內存,磁碟緩沖又會占據一份內存,這樣就導致了內存的浪費。在系統有交換分區存在的條件下,一旦系統內存緊張,該文件系統中的有關數據也會被交換到具體的交換設備上,同樣避免不了對磁碟的物理訪問,達不到提高性能的目的。而且一旦包括交換空間在內的所有虛擬內存用光,系統就無法正常提供服務了,從而影響系統的穩定性。
試圖使內存文件系統繞過磁碟緩沖其實並不容易,這是因為在目前的操作系統中,磁碟是非常重要的一部分。非常重要的虛擬內存概念就是使用磁碟設備作為交換設備模擬內存,而磁碟緩沖而是通過內存來緩沖磁碟數據,虛擬內存、磁碟緩沖就是操作系統內存管理中的最基本元素,如何處理這兩個部分,也是影響系統性能的最重要的因素。文件系統實質上是建立在操作系統的內存管理部分之上的,因此繞過這一部分,需要更困難的內核工作。
因此,對於高負載的伺服器,使用內存文件系統實際上得不償失,在系統內存很快用光的情況下,操作系統將進行磁碟交換,導致系統性能嚴重下降,這比起直接使用磁碟文件系統更為糟糕。事實上,在高負載的伺服器環境下,允許系統使用更多的內存來緩沖磁碟數據,更有效的發揮系統的磁碟緩沖能力,在實際使用中更為有效。
使用MFS
FreeBSD下最基本的內存文件系統為MFS(Memory File System)文件系統,它是直接從虛擬內存中為文件系統申請空間。雖然它命名為MFS,實質上它還是使用的標准UFS的數據組織格式,仍然有扇區、磁碟塊等基本概念,但是為了使用方便,它沒有創建可以被直接訪問的虛擬磁碟設備。實際上MFS是一個不完整的虛擬磁碟系統,由於它沒有虛擬磁碟設備,因此導致在一些情況下它不能很方便的應用。
使用MFS需要內核中的」options MFS」支持,這個選項實質上是一個標准選項,在預設情況下的FreeBSD內核都支持,因此一般不需要重新定製內核。然後就可以使用mount_mfs來安裝內存文件系統,或者在標准mount命令中指定mfs選項。
# mount_mfs -s 131072 /dev/da0s1b /tmp
執行這個命令之後,mount_mfs就從虛擬內存中申請131072個扇區大小的內存,用來作為MFS文件系統的存儲區域,並將該文件系統安裝到/tmp目錄下。這里使用/dev/da0s1b作為設備文件參數,這個磁碟分區為一個交換分區,它並不是實際使用的磁碟設備或虛擬磁碟,它的基本目的是用來滿足mount_mfs的參數需要。即使系統中有多個交換設備,這也並不意味著MFS就只會交換到這個指定設備上,虛擬內存按照自己的規則分配物理內存或交換空間。
當然,使用交換設備作為參數事實上也起到了一些額外的作用,因為對於標准文件系統來講,必須通過初始化的過程確定文件系統的組織格式,而MFS不需要獨立的初始化過程,在mount_mfs操作的時候就同時執行了初始化,因而mount_mfs可以從這個設備文件中讀取一些初始化相關的參數信息,例如每個扇區大小等,來初始化MFS文件系統。通常扇區尺寸為512位元組,因此該文件系統總大小為64M。
這里就可以看出,基本的MFS是不存在虛擬磁碟設備的,mount_mfs直接申請內存並用作文件系統,而在mount命令中使用的設備參數為交換設備而非虛擬磁碟設備。一些情況下希望操作虛擬磁碟設備,那麼使用MFS就不方便了。
使用vn偽設備
MFS是通過一個獨立的文件系統來達到內存文件系統的目的,偽設備VN就是通過另一種方式來達到這個目的,它直接模擬一個虛擬的磁碟設備,那麼在這個虛擬磁碟設備中可以應用各種不同的文件系統來保存數據。VN設備需要內核支持"pseudo-device vn"配置和/dev目錄下的設備文件vn0、vn0c等,這通常不是預設配置,需要用戶重新定製內核。
VN設備主要使用文件作為虛擬磁碟的存儲空間,例如將光碟的鏡像文件用作虛擬光碟設備,將軟盤的鏡像文件作為虛擬軟盤設備等等。當然模擬是有一定限度的,主要用來模擬文件系統,例如虛擬光碟設備上就沒有音軌數據,無法作為CD播放等等。
顯然使用內存保存虛擬磁碟數據,與使用文件相比甚至更為簡單。因此,VN設備也支持使用內存來模擬一個虛擬磁碟。VN設備需要使用vnconfig程序來控制虛擬磁碟設備,那麼為指定虛擬磁碟磁碟申請內存,並配置該虛擬磁碟的操作為:
# vnconfig -s 131072 /dev/vn0c
這里使用-s參數指明申請內存空間的大小,而vn0c為空閑的虛擬磁碟設備。配置好了虛擬磁碟之後,就可以使用標準的磁碟操作命令對磁碟進行操作,包括文件系統的初始化。對於虛擬磁碟設備來講,一般不需要分區操作,而是直接進行文件系統操作,事實上虛擬磁碟通常也沒有分區的概念,fdisk命令也不識別虛擬磁碟,可以將虛擬磁碟設備當作一個完整的分區設備。這是因為在Unix下本來是沒有磁碟分區的概念的,這個概念是DOS/PC概念,因此FreeBSD對磁碟分區的支持限於可能存在其他系統的物理磁碟,對於只用於Unix的虛擬磁碟,就不需要這個概念了。
# disklabel -r -w /dev/vn0c auto
# newfs /dev/vn0c
# mount /dev/vn0c /tmp
由於使用VN設備比起MFS來講要多一個創建虛擬磁碟設備的過程,因此使用vnconfig就與使用mount_mfs不同,要略微麻煩一些,除了需要經歷vnconfig配置虛擬磁碟之外,還需要初始化磁碟設備、創建文件系統等步驟。
顯然,由於創建了虛擬磁碟設備,在這里就不再是裸的MFS系統,而是一個更為完善的虛擬磁碟系統。顯然,這里就不需要MFS的幫助,而在newfs和mount時直接使用UFS文件系統。理論上可以使用各種不同的文件類型格式,並不限於是UFS。
內存磁碟設備md
使用MFS系統,就可以最方便快捷的建立內存文件系統,使用vn設備,就可以建立內存文件系統相關的虛擬磁碟設備,基本上,這兩個內存文件系統將滿足絕大多數應用系統的需要。然而,一個非常重要的問題仍然存在,就是這些內存文件系統都是在系統啟動之後,通過相應的配置命令進行配置的,而在一些情況下,需要在系統啟動或啟動之前,就配置好內存文件系統。
這種在系統啟動之前要求配置好內存文件系統的例子之一就是系統安裝程序,因為安裝系統通常都是使用光碟或軟盤啟動,光碟或軟盤作為系統的根文件系統當然是可行的,但總存在種種限制,例如軟盤的訪問速度和可靠性限制,光碟的只讀限制等等。因此,目前的FreeBSD的系統安裝程序,是使用內存文件系統作為安裝系統的根文件系統,而不是試圖將軟盤或光碟作為安裝系統的根文件系統。在這種情況下,通常使用一個獨立的系統鏡像文件,在啟動之前載入內存,作為內存文件系統的初始數據來配置內存文件系統。
為了達到這個目的,就需要使用系統中的偽設備md,這需要相應的內核支持"pseudo-device md",這個選項通常需要重新定製內核。此後,還需要在/dev目錄下創建相應的設備文件md0和md0c。這樣使用新內核重新啟動之後,就可以用使用普通磁碟一樣的方法來使用它了,而不需要任何配置過程。
# disklabel -r -w /dev/md0c auto
# newfs /dev/md0c
# mount /dev/md0c /tmp
這里不需要使用任何配置程序配置虛擬磁碟設備,因為在啟動過程中它就被自動配置了,內核為設備自動申請必要的內存空間。需要注意的是,使用MD設備並沒有指定磁碟的大小,因為預先保留的md磁碟的大小是在編譯內核時就確定的,預設大小為20000個扇區。如果要更改內核為MD設備分配的空間大小,就需要在定製內核時改變設置選項」MD_NSECT」的值,並重新編譯內核。顯然,這樣做顯然比較麻煩,也使得它的實際用處不大。
但當MD設備用在安裝系統的時候,作為最初啟動的虛擬磁碟需要載入一個預先配置好的磁碟鏡像文件,這個時候虛擬磁碟的大小就是由這個磁碟鏡像文件決定的,而不再是MD_NSECT設置的值。正是由於MD設備在啟動過程中配置,因而靈活性不足,就使得MD設備主要用在安裝系統中。
啟動鏡像設置
對於系統安裝程序,或者一些嵌入式系統來講,存儲數據的物理設備無法很方便的作為文件系統存在,例如存儲設備為不可擦寫的ROM或者具備一定擦寫壽命的Flash中,這些設備如果用作文件系統就有各種各樣的限制,此時就需要使用內存文件系統作為輔助,例如使用內存文件系統作為根文件系統,或者作為臨時文件系統等等。
但是由於內存文件系統是使用不可長期保存的RAM存儲器保存數據,系統重新啟動或斷電後其中保存的數據就不再存在,因此每次啟動之後虛擬磁碟中的數據都是隨機的,需要重新進行初始化操作。也可以提供一種手段為最初的虛擬磁碟提供初始數據,通常這通過使用鏡像文件的方法來完成。
使用偽設備MD,就可以將一個預先准備好的文件作為md設備的鏡像數據,這樣MD設備一旦創建就已經具備了必要的數據,而系統啟動之後立即可以訪問已經具備數據的虛擬磁碟了。通過這樣的操作,就可以使用虛擬磁碟文件系統作為根文件系統,啟動其中的系統安裝程序。
因此,這個時候就需要為MD設備准備初始鏡像文件,最直接的方法是首先用確定的大小創建MD設備,初始化文件系統,安裝上文件系統並復制必要的數據,然後在卸載文件系統,使用dd命令直接操作虛擬磁碟設備,將數據復制到一個鏡像文件中。但是由於MD設備的大小比較不容易改變,因此這種方法並不靈活。此外,由於MD設備被作為一個虛擬的物理磁碟被系統處理,系統對它的處理事實上是和真實物理磁碟設備的處理方法也是一樣的,因此也可以使用物理磁碟,創建文件系統並復制其鏡像的方法來獲得鏡像數據。
使用虛擬磁碟MD和物理磁碟都可以得到鏡像文件,但是這兩種方法都不是很靈活,最好的方法是可以直接修改鏡像文件本身。事實上VN設備正是用作這個處理任務,它能使用鏡像文件作為虛擬磁碟的存儲區域,使用VN設備創建並修改鏡像文件的數據是非常適合的。因此在大小一致的條件下,就可以直接將VN設備的鏡像文件復制到MD設備上,然後將MD設備安裝到系統中,就可以訪問到具體數據。
因此,使用VN設備預先定製好MD設備使用的鏡像文件是最常用、最方便的方法。系統載入鏡像文件的過程應該在啟動之前完成,以便系統在啟動過程中能夠配置好該MD設備。事實上,鏡像文件是由Boot Loader載入的,作為MD設備的預設數據。當然,另一種選擇是直接將鏡像文件寫入內核文件中,使得鏡像數據和內核一起載入。將鏡像文件寫入內核的方式需要改動內核,並且寫入之後就不容易改變鏡像文件中的數據,因此,目前這種方式很少被用到。
為了將鏡像文件寫入內核,需要設置內核選項MD_ROOT_SIZE,需要指定它的尺寸大於鏡像文件的尺寸,以便系統在內核中保留出大於鏡像文件的自由空間,以使得寫入的數據不至於覆蓋內核中有用的數據。這個參數和MD_NSECT是不同的,但它也為一個虛擬磁碟預保留了空間。如果是使用Boot Loader來載入鏡像文件,就不能設置這個選項,因為這將導致系統在啟動時初始化多個虛擬磁碟,而只有第一個虛擬磁碟md0才是可以啟動的。
當然,一個能夠將MD設備作為啟動根文件系統的內核,除了標準的md和MFS選項之外,還需要"options MD_ROOT"的設置選項,以保證內核搜索MD設備的作為根文件系統。這個設置也可以寫作"MFS_ROOT",以便和早期的FreeBSD系統兼容,早期的FreeBSD系統沒有使用md偽設備,而是使用第二種直接寫入內核的MFS文件系統作為根文件系統。
幾種不同方式的比較
無論是MFS,還是VN設備和MD設備,它們對數據的處理方式其實是非常類似的,MFS就是直接在內存中開辟一個UFS格式的區域,用作文件系統,這個區域其實就是一個虛擬磁碟鏡像。而VN設備和MD設備是先申請內存空間,然後採用標準的文件系統工具進行處理,因此更為靈活。
最為重要的一點區別實際上是它們獲得自由內存空間的方式不同,MFS和VN實際上是使用動態的方式申請虛擬內存,而md設備實際上是在系統啟動之前已經分配完畢,是一種靜態的方式,其實是通過內核申請空間的方式MALLOC分配的。這樣就導致MFS和VN設備申請的內存是按照虛擬內存的方式進行處理,就是說它們是基於交換空間的,在物理內存不夠的情況下將被自然的交換到磁碟設備中。而MD設備使用的內存是內核申請的,因而位於內核空間中,主要佔用物理內存。
這兩種不同的使用內存的方式,造成了這幾種不同的內存文件系統的不同用途和使用限制,MFS和VN可以使用更多的交換空間,因而容量更大,使用更靈活,但在高負載的情況下由於系統交換,仍然會造成磁碟訪問。雖然對於md設備,這種現象理論上不會發生,但md設備的大小是受到物理內存的限制的,佔用的是寶貴的內核空間,因此主要用來處理比如啟動鏡像這樣的情況,而很少用來處理其他任務。
除了這些文件系統之外,FreeBSD上事實上還有其他的一些內存文件系統,例如V9FS,這種文件系統的特徵是一個純粹的文件系統,沒有涉及磁碟的那些扇區、塊等概念等等,這些文件系統目前還不是很完善,也不是標准系統的一部分。
對於內存文件來講,一些特色其實是非常有意義的,例如文件系統的壓縮技術,由於它能夠減少內存空間的大小,因此對於內存文件系統是非常有意義的,可以用於嵌入式系統等領域。雖然有人在這個方面曾經做過努力,但目前這種特性在FreeBSD下還不能直接得到。
FreeBSD 5.0中內存文件系統
當對這幾種不同的文件系統進行分析比較之後,可以發現它們存在很多種共性,例如MFS和vn設備對於內存的使用方式是相同的,而vn設備和md設備由於都是虛擬磁碟,因此其內容是相同的,這也導致了可以使用vn設備為md設備創建鏡像文件。因此,完全可以將這三種不同的使用內存文件系統的方式合並起來,使設置和操作更為簡單易用。
事實上,之所以存在這幾種不同的內存文件系統,源於FreeBSD的歷史開發過程。最早的內存文件系統顯然是MFS,但由於不存在虛擬磁碟,存在種種不統一和協調的地方,因此後來就設計了MD設備。VN設備則與此無關,它最初就是為了文件作為存儲設備而設計的,但使用內存作為存儲顯然也十分直接和簡單。
因此,在最新的FreeBSD 5.0版本中,這些內存文件系統的設置都統一起來,特別是將vn設備和md設備的功能都統一到新版本的偽設備md中。並且在FreeBSD 5.0下,設備的創建和內存的分配更為方便,不象在4.x之前,系統中的配置選項只能指定一定數量的虛擬磁碟設備(預設是一個設備)。而且,由於FreeBSD 5.0使用了DEVFS特色,設備文件的創建是自動進行的,不再需要手工使用MAKEDEV命令創建設備文件入口。
例如,需要從虛擬內存中申請內存創建內存文件系統的時候,就需要執行md設備的控製程序mdconfig:
# mdconfig -a -t swap -s 30M
這就會在虛擬內存中申請30M空間,並創建虛擬磁碟,使用的虛擬設備為第一個md設備md0,如果系統中的md0設備已經被佔用,那麼mdconfig就依序向後尋找下一個空餘的md設備,並創建它。由於mdconfig能自動創建新的設備,這樣就解決了在內核配置文件指定偽設備數量的問題。
也可以使用-u指定使用的md偽設備的序號,例如下列命令將創建md10,並使用它作為虛擬磁碟設備:
# mdconfig -a -t swap -s 30M -u 10
上面的命令都是使用虛擬內存空間作為數據存儲空間,是由swap參數指定的。同樣,使用mdconfig也能從內核空間中創建虛擬磁碟,此時-t指定的存儲類型參數為malloc,這告訴內核使用內核的MALLOC方法申請內存。
# mdconfig -a -t malloc -s 30M
這種方法就相當於老的md設備的申請內存的方法,但顯然更為靈活,因為可以在具體使用過程中申請內存和設備,這是因為FreeBSD 5.0的內核允許更靈活的使用MALLOC內存申請方式。當然,一般還是主要使用swap申請虛擬空間的內存。
由於mdconfig和偽設備md將完全代替vnconfig和偽設備vn,那麼使用mdconfig也能創建使用文件作為虛擬磁碟的與vn兼容的方式,這需要指定存儲類型參數為vnode,並使用 -f指定具體的存儲數據的物理文件名字。
# mdconfig -a -t vnode -f imagefile -s 30M
在使用mdconfig配置好虛擬磁碟之後,就可以使用disklabel、newfs、mount等管理虛擬磁碟。而在不需要這些虛擬磁碟的時候,就可以卸載相應的文件系統,並使用mdconfig刪除指定的磁碟等。
# mdconfig -l
使用參數」-l」,則mdconfig列出系統中所有的虛擬磁碟設備。
# mdconfig -d -u 0
為了刪除指定了磁碟,需要使用」-d"參數,而使用"-u 0」則指定刪除序號為0的虛擬磁碟,即md0。
④ UEFI常用術語縮寫,求中文!!
UEFI Unified Extensible Firmware Interface 統一可擴展固件介面
EDK EFI DevKit 可擴展固件介面設備裝備包
PCD Platform Configuration Database 平台配置資料庫
DEC package DEClaration 打包申明
INF INFormation File 信息文件
DSC platform build DEScription 平台構建描述
FDF Flash Device File 快閃記憶體設備文件
MDE Mole Development Environment 模塊開發環境
ECP Edk Compatiblity Pkg Edk兼容包
IPF Itanium Processor Family 安騰處理器系列
VFR Visual Forms Representation 可視化表格描述
GC Graphics console 圖形控制台
EBC EFI Byte Compiler 可擴展固件介面位元組編譯器
IPF Itanium Processor Family 安騰處理器系列
FFS Firmware File System 固件文件系統
FV Firmware Volumn-->Volume 固件卷
EC Embedded Controller 嵌入式控制器
ASL ACPI Source Language 高級配置和電源管理介面源語言(Advanced Configuration and Power Management Interface)
ME Manageability Engine 驅動引擎
SCU System Control Unit 系統控制單元
SEC Security 安全
HOB Hand-Off Block 切換單元
PEI Pre-EFI Initialization 預置可擴展固件介面初始化
PPI PEIM to PEIM interface 預置可擴展固件介面模塊間的介面
BFV Boot Firmware Volume 啟動固件卷
DEPEX Dependency Expression 依賴性表達
IPL DXE Initial Program Load DXE初始程序裝載
DXE Driver Execution Environment 驅動執行環境
CSM Compatibility Support Mole 兼容性支持模塊
TPM Trusted Platform Mole 可信平台模塊
TXT Trusted Execution Technology 可信執行技術
AMT Active Management Tech 活動管理技術
SMI System Management Interrupt 系統管理中斷
TDP Thermal Design Power 熱學設計電源
ULPI UMTI+ Low Pin Interface UMTI +少針腳介面
MIPI Mobile Instry Processor Interface 移動工業處理器介面
⑤ 在windows下的嵌入式開發環境
嵌入式開發是個很寬泛的概念,嵌入式開發一般分為軟體和硬體兩大塊。
軟體方面又可以分為linux方向和非linux方向,如果做linux方向的話一般host側選擇linux,不過也可以在windows上安裝linux虛擬機實現;而非linux方向的話,一般操作系統提供商都會提供自己的開發環境,而這種開發環境一般都是基於windows上的,不過要付費,比如Vxworks的Tornado,再如WinCE下的eMbedded Visual C++ 和wince with platform bulid。
還有就是dsp晶元這塊,blackfin用的Visual DSP,TI 系列DSP所用的CCS,這些都是Windows下的集成開發環境。
⑥ Microsoft VBScript 編譯器錯誤 (0x800A0401)
改為:
conn.Execute "insert into love_yl(username,kind,title,content,addtime,flag,rmb,yl,tel,yla,data,yjfy,xffs,hddata)values('" & UserName & "','" & kind & "','" & Title & "','" & content & "','" & Now() & "','" & article_flaga & "','" & love_articlea & "','" & yl & "','" & tel & "','" & yla & "','" & data & "','" & yjfy & "','" & xffs & "','" & hddata & "')" '文章入庫
即在&前後加上空格。&與變數連在一起,就不是字元串連接符了,而是長整型的類型定義符。
變數名後加類型定義符
%——整型(INTEGER)
&——長整型(LONG)
!——單精度實數(SINGLE)
#——雙精度實數(DOUBLE)
$——字元串(STRING)
⑦ 有誰知道如何安裝配置安全的freeBSD還有php.ini怎麼配置
我的FreeBSD5.3配置筆記(相同於5.4\6.0)
接觸FreeBSD時間不長,我發現配置FreeBSD對於象我這樣的新手還是很有些困難,經過幾天的研究取得了一點進展,現在我的配置方法寫出來希望新手能少走一些彎路。
1.安裝完成配置xorg,命令如下:
#Xorg -configure
這時,當前目錄下就多了一個xorg.conf.new的文件,把它cp到/etc/X11/下:
#cp xorg.conf.new /etc/X11/xorg.conf
然後,編輯xorgcfg -textmode,修改一下屏幕的解析度.
2.啟動gnome
在用戶主目錄下創建.xinitrc文件,加入以下內容:
exec gnome-session
#startx 即進入gnome
3.啟動KDE
方法1:
在用戶主目錄下創建.xinitrc文件,加入以下內容:
exec startkde
方法2:
修改一下/usr/X11R6/1ib/X11/xinit/xinitrc文件
拉到文件最後...看到..twm了嗎...從這里起..後最後前面都加#吧..
然後加上一句:
startkde
方法3:
直接輸入
# echo "/usr/local/bin/startkde" >> ~/.xinitrc 就行了
4.打開聲音
修改/boot/defaults/loader.conf
將下面兩項的NO改為YES
sound_load="NO"
snd_driver_load="NO"
5.漢化圖形界面
1.安裝kde-i18n-zh_CN:
#cd /usr/ports/chinese/kde3-i18n-zh_CN
#make install clean
2.安裝字體
在/usr/X11R6/lib/X11/fonts/下建立TrueType目錄
將windows下的SIMSUN.TTC復制到TrueType目錄
雙擊SIMSUN.TTC,字體就安裝好了
3.更改語言環境為中國,簡體中文
4.在KDE的控制中心》外觀和主題》字體 中修改字體為SIMSUN
6.安裝fcitx輸入法
1.通過ports安裝fcitx
#cd /usr/ports/chinese/fcitx
#make install
2.修改~/.xinitrc,添加:
export LANG=zh_CN.eucCN
export LC_CTYPE=zh_CN.eucCN
export XMODIFIERS='@im=fcitx'
fcitx&
exec startkde
6.#qtconfig
然後選擇-->Interface--->XIM Input Style 選Over the Spot(上面的復選框也選上)-->File--Save
7.掛載windows分區並支持中文文件名
1.建立掛載點,在/mnt/下建立文件夾C,D,E,F
2.修改/etc/fstab文件,加入windows分區,並把分區掛載到剛才建好的目錄上,設置許可權為讀寫,語言為中文並自動掛載
/dev/ad0s1 /mnt/C msdos rw,-L=zh_CN.eucCN,auto 0 0
/dev/ad0s5 /mnt/D msdos rw,-L=zh_CN.eucCN,auto 0 0
/dev/ad0s6 /mnt/E msdos rw,-L=zh_CN.eucCN,auto 0 0
/dev/ad0s7 /mnt/F msdos rw,-L=zh_CN.eucCN,auto 0 0
8.激活滑鼠滾輪
修改/etc/xorg.conf
在"Mouse"中加入
Option "ZAxisMapping" "4 5"
保存推出,重啟X。
9.調整屏幕偏移
開個終端窗口運行xvidtune,調整好之後現不要退出,點一下那個「Show」按鈕,終端窗口中會顯示幾行類似於這樣的信息:
hsync range 0: 31.50 - 48.50
vsync range 0: 40.00 - 70.00
"1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
打開/etc/X11/XF86Config或者xorg.conf文件,找到Section "Monitor"段,在EndSection前面加入一行:
# 這里填入上面顯示的第3行信息,前面加上ModeLine
ModeLine "1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
保存退出,重啟X。
FreeBSD配置:
更新FreeBSD
完成了安裝、配置,FreeBSD基本上就算裝完了。不過,目前為止沒有哪個通用操作系統能夠保證「bug-free」,FreeBSD也一樣。在重新啟動之後,我們需要做一些調整;並且,通過重新配置內核,我們可以得到一個更小、更快的操作系統。
第一步要做的是同步源代碼。FreeBSD是一套開放源代碼的操作系統,它的全部源代碼都可以通過cvsup與中央cvsup伺服器,或它的某個鏡像同步。
cvsup是一個可選的package,同樣的,它也可以從ports裡面安裝(/usr/ports/devel/cvsup和 /usr/ports/devel/cvsup-nogui)。考慮到許多應用程序都依賴X的庫文件,在前面安裝的部分我安裝了它,並且直接安裝了 cvsup的package。不過,如果你有足夠的耐心去一個一個地make需要的ports,那麼先安裝ports collection,然後make cvsup-nogui也是一個不錯的主意,盡管這需要比較長的時間。
創建一個用於cvsup(1)的supfile,命名為stable-supfile:
(default host中選定的cvsup伺服器——ftp.bjpu.e.cn對訪問的IP進行了限制,筆者只在北京工業大學校內使用過,因此如果您無法連接這個伺服器,請嘗試www.cn.freebsd.org,或cvsup.freebsd.org)
*default host=ftp.bjpu.e.cn
*default base=/usr
*default prefix=/usr
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix
src-all
ports-all tag=.
隨後執行
cvsup -g -L 2 stable-supfile
這里需要稍微解釋一下FreeBSD的幾種版本。
FreeBSD包括3類分支:-RELEASE,-STABLE和-CURRENT。FreeBSD 3.x、4.x和5.0是目前受到維護的版本,如果你期待穩定運行,那麼,可以選擇的最新版本將是FreeBSD 4.6-STABLE(如果你是在4.6.2-RELEASE發行之後更新的,那麼它實際上比4.6.2-RELEASE新,並且,它正式的CVS tag是RELENG_4,即FreeBSD 4-STABLE)。
那麼,三類分支有什麼區別呢?
FreeBSD的開發是非常活躍的。系統中可能會隨時引入一些新的特性。最新的代碼是在-CURRENT分支中引入的。-CURRENT的修改非常頻繁,每天都可能有數百處修改。使用-CURRENT分支的FreeBSD需要耐心和勇氣,因為你的系統隨時可能崩潰(隨著FreeBSD 5.0開發尾聲的接近,這種現象已經越來越少),make world也可能空手而歸(沒有人保證-CURRENT分支能夠正常編譯),此外,這個分支的性能也不好(因為調試的原因,這個分支引入了大量的調試選項,這意味著運行速度不會太快)。當然,正像它的名字那樣,-CURRENT分支的版本也是最新的5.0,而且,一切FreeBSD的錯誤和漏洞的修正都是首先在-CURRENT分支引入的。目前,-CURRENT分支碩果僅存的只有FreeBSD 5-CURRENT(指定cvs tag時寫「.」),這個分支包括了FreeBSD 5.0開發的最新進展。
FreeBSD 5中將引入大量的新特性,包括核心級線程(目前FreeBSD中的線程支持僅限於用戶級線程,這在多處理器的環境下性能不夠好,當然,目前使用fork ()來支持的多進程線程模擬能夠提供類似核心級線程的功能,但並不是所有的程序員都知道如何使用fork)、完整的Soft Updates(這一變化將提供更好的文件系統性能,同時提供更好的穩定性),等等。如果你有快速的Internet連接,一台或一些空餘的機器(當然,不是生產用的伺服器),並且希望為FreeBSD的開發作貢獻,或者你關心操作系統的最新發展,那麼,-CURRENT分支是最好的選擇。此外,
由於-CURRENT分支性能不好、穩定性不夠等這些缺點,對於生產的伺服器來說,通常運行的應該是FreeBSD-STABLE。如同它的名字那樣, FreeBSD-STABLE的目的是「穩定地運行」。-CURRENT分支中的代碼,在經過一段時間(通常是7到90天,但安全更新屬於特例,通常會在幾個小時)的驗證之後,符合版本條件(有些新特性只能用於FreeBSD 5.0)的代碼會被FreeBSD-STABLE吸收,這個操作稱作MFC(Merge From -CURRENT,不是Microsoft Foundation Classes:P)。
由於FreeBSD 5.0的第一個RELEASE至今仍然沒有發布,因此,目前還沒有5.0-STABLE。目前,FreeBSD-STABLE有兩個版本,FreeBSD 3-STABLE和FreeBSD 4-STABLE,分別對應3.x和4.x的最新穩定版代碼(對應的cvs tag分別是RELENG_3和RELENG_4)。由於版本的更新換代,其中3.x的-STABLE正在逐漸消亡。FreeBSD-STABLE每天平均會修改10個左右的文件。
每隔一段時間,FreeBSD的發行工程組(Release Engineering Team)會對FreeBSD-STABLE的源代碼樹進行鎖定。這段時間(目前的規定是30天,之前還有30天准備)內,所有的MFC操作都需要發行工程組的批准,因此,FreeBSD-STABLE在這個階段基本不會引入任何新的特性。經過這段時間之後,發行工程組會在最後鎖定ports樹,並 build一份所有的package,之後,這份鎖定的-STABLE,可能經過若干RC(Release Candidate),被命名為RELEASE,並製作光碟發行。
顧名思義,-RELEASE的設計目標是「發行」。一個版本一旦RELEASE,那麼他的功能就不會再增加了。此後的所有維護的目標都只有一個,那就是絕對穩定。如果你和-RELEASE分支同步,那麼絕不會出現make無法通過的情況,而且,通常這也可以保證你的系統「絕對」穩定,因為它不會引入任何新功能(例如,4.6就是4.6,如果你想要4.6.2的功能,必須明確地指定4.6.2)。
目前,FreeBSD有很多RELEASE版本,它們的cvs tag如下。我個人建議使用最新的4.6.2-RELEASE。
對於多數人來說,-RELEASE是一個比較極端的選擇。無論何時出現版本升級,如果你想跟進,那都必須修改supfile,如果你選擇不跟進,那麼就可能造成ports工作異常。如果經常更新,-RELEASE可以保證操作系統本身的安全性,但同其他分支一樣,如果ports出了問題,那麼也得一塊 make,而既然這樣,還不如使用-STABLE。
如果你符合下面的條件,那麼RELEASE分支可能比-STABLE分支更適合你
* 你使用的軟體對於操作系統的變化非常敏感,比如,它只能FreeBSD 4.5,而無法在4.6上運行;同時,你不打算採用它的更新版本,或者它的作者拒絕更新
* 操作系統的更新對於你來說沒有任何意義,比如,你打算把FreeBSD當作一個相對固定的嵌入式操作系統來使用,例如,作為防火牆的一部分
* 更新會對你造成困擾,操作系統的絕大多數新特性對於你來說除了增加煩惱之外,不能帶來任何其他東西。
-並且,符合以下的全部條件-
* 你每天察看FreeBSD,以及使用的全部軟體的安全公告
* 你的Internet連接比較通暢
目前我本人維護的所有主機,除了作為防火牆的那台之外,使用的都是FreeBSD-STABLE。
一旦同步完源代碼,就應該對整個系統進行更新。如果你沒有每天察看安全公告的習慣,那就應該關心一下cvsup到底更新了哪些代碼。nectar是目前 FreeBSD的Security Officer。如果你發現他一下子更新了許多代碼,那麼對你來說立即make world和kernel很可能是必需的。
為了更新整個系統,在/usr/src中執行
make world
以及
make kernel KERNCONF=內核配置文件名
當然,也可以連起來執行:
make world kernel KERNCONF=內核配置文件名
如果你的計算機運行速度較慢,那麼,對於基本系統的更新(相當於不包括庫的一次world),可以用
make most
替代make world,但make world是一個不錯的主意,因為它能夠保證對C運行環境的改變應用到所有的程序中,如果修正的不是動態連接的C函數庫,那麼make world可以保證代碼的一致性。
make kernel是一個需要重新啟動的操作。如果你的make world修改了系統的關鍵服務,那麼最好也重新啟動一下。我很少有耐心看完make world和kernel的執行,根據系統的運行速度不同,這需要一個小時到一天的時間,而且,不是所有的SSH客戶端都能夠長時間正確的執行,例如, SecureCRT的多個版本都有內存泄漏問題。
為了解決這個問題,我用下面的命令來完成更新:
make world kernel KERNCONF=內核配置文件名 clean > /var/log/world,out && reboot &
這個命令能夠記錄更新的全過程,如果在什麼地方編譯失敗,你可以很快地找到原因。對於多數人來說,由於後面的&&,只需要察看uptime就能知道便以是否成功。
需要說明的是,FreeBSD的make world並不總能成功。有時需要修改一些環境變數才能成功完成make。為了保證make成功,在/usr/src中執行任何make操作之前,建議你看一眼UPDATING中是否有特殊的要求(這種要求並不是在FreeBSD Release的時候才會出現,很多時候他會在某個CURRENT中引入,然後隨著MFC進入-STABLE分支),並且,在進行大的版本升級之前(跨 RELEASE,甚至主版本號),首先執行下面的命令
mergemaster -p
並在make world之後執行
mergemaster -i
運行mergemaster腳本需要一定的Unix配置知識,不過,由於配置文件中包含很多幫助信息,因此,只要master.passwd、group 這樣的文件不出大問題(如果cvsup更新了master.passwd,那麼就需要留神,因為master.passwd標准配置是root口令為空,這時需要用m來合並,而不是使用i安裝),mergemaster並不會引入什麼新的問題。
前一條命令是更新make的配置(/etc/defaults/make.conf和/etc/make.conf)。對於多數人來說,除非進行跨版本升級,否則一般情況下是不需要這樣做的。後一條命令是同步全部配置,並安裝以前不存在的配置文件,而不進行提示。
筆者曾經遇到過FreeBSD因為系統日期不正確而無法make的情況,因此,再次特別提醒大家,如果你的系統日期不正確,最好是用date命令修改一下,或者乾脆用ntpdate或ntpd來同步時間。關於如何使用ntp,將在以後說明。
以後我們將講解FreeBSD內核的配置,以及如何配置make.conf來優化FreeBSD的編譯結果。
「簡單的東西不容易出問題。」
至理名言!事實上,削減操作系統中那些對你沒用的功能是一件非常重要的事情。這不僅僅意味著一個更小的操作系統,佔用更少的磁碟空間(現在的硬碟少說也有幾十GB,幾兆的空間根本就是九牛一毛),而且意味著你被攻擊的可能性也更低——簡而言之,你不需要擔心操作系統中沒有安裝的模塊存在問題會對你造成影響。
這篇文章中,我們將一起對FreeBSD-i386的內核進行優化配置。這篇文章是針對FreeBSD4.7-STABLE寫的,並且,FreeBSD 4.x的配置不會和這篇文章有太大出入。如果你要優化FreeBSD 5或FreeBSD 2/3的內核的話,則需要仔細參考它們的LINT文件了(後面將會提到)。
[注意:FreeBSD 5.0預定將於2002年11月20日發布。FreeBSD的開發組非常重視發行版本的質量,並認為這比發行版本的計劃還重要,但由於同樣的原因,我們往往會發現FreeBSD實際發行的版本比預定計劃晚一些,通常在半個月之內。FreeBSD 5.0作為FreeBSD近期最為重要的發行版本,很可能也會延後發表,但筆者個人認為無論如何我們在今年年底之前肯定是可以看到最終的發行版本的。 FreeBSD 5.0對系統進行了大量的修改,這一系列的文章將在FreeBSD 5.0發布當天發表針對5.0的修訂版本,而現有版本將保留,但進入維護階段,不再引入新的內容。]
FreeBSD的源代碼可以直接從中央cvsup伺服器同步,也可以作為系統的一部分在安裝的時候一兵裝上。前面已經說過如何同步源代碼,在此不再贅述。 FreeBSD的源代碼(通常在/usr/src)包含建造基本系統的全部代碼,而在/usr/src/sys中則有若干個目錄,對應不同的計算機體系結構(4.x只支持i386和alpha)。i386是一個泛指的名字,包含了與Intel 80386兼容的所有機器,並不是特指80386。
簡單介紹一下FreeBSD的內核文件。在4.x系統中,/kernel這個文件是默認的內核,通常正常啟動使用的就是它。 /kernel.GENERIC這個文件是兼容性較強的內核,如果/kernel無法引導系統,就得靠這個文件來引導。/kernel.old是本次make kernel之前的內核,通常如果你的kernel壞掉,也可以考慮使用/kernel.old來引導系統。
/moles/是內核的模塊,而/moles.old/是對應/kernel.old的模塊。這些文件在每次替換kernel的時候都會同時替換。
在5.0中,內核以及內核的模塊都被保存在/boot/kernel中。
在/usr/src/sys/i386/conf中有兩個配置文件,GENERIC和LINT。其中GENERIC是make kernel的默認配置文件,直接make kernel生成的是GENERIC內核,但安裝時命名為/kernel。系統在安裝時會安裝一個kernel.GENERIC,以後,這個文件不會跟隨系統的make kernel更新,因此,如果你認為這個文件有必要更新的話,需要手工make kernel,並把/kernel改名為kernel.GENERIC。當然,通常並不需要這樣做。
LINT是包括幾乎所有內核編譯配置詳細信息的文件。這個配置並不是用來真正建立kernel的,他的主要用途是向用戶展示可用的內核編譯配置。在修改內核編譯配置時,最好先參考這個文件。
為了配置自己的內核,應將GENERIC復制為一個另外的文件。習慣上這個文件和主機名相同。例如,我把自己的這台Web機器命名為apache.intranet.frontfree.net,就把配置文件命名為APACHE:
cd /usr/src/sys/i386/conf
cp GENERIC APACHE
隨後,用ee APACHE編輯它。我們拿一個實際的GENERIC文件來說明。
為了節省篇幅,這個文件頭上的注釋被刪掉了一部分。
machine i386 # 體系模型為i386
cpu I386_CPU # 支持80386
cpu I486_CPU # 支持80486
cpu I586_CPU # 支持Pentium
cpu I686_CPU # 支持Pentium Pro以及更高
ident GENERIC # 內核文件的名字
maxusers 0 # 自動檢測同時允許的最大用戶數
#makeoptions DEBUG=-g # 包含調試符號。通常只有current版本打開
options MATH_EMULATE #支持協處理器模擬
options INET #支持互聯網
options INET6 #IPv6通訊協議
options FFS #伯克利快速文件系統
options FFS_ROOT #FFS作為根設備[必須保留]
options SOFTUPDATES #打開FFS soft updates支持
options UFS_DIRHASH #提高大型目錄的支持
options MFS #內存文件系統
options MD_ROOT #MD作為根設備
options NFS #Network Filesystem
options NFS_ROOT #NFS作為根設備(需要NFS)
options MSDOSFS #MSDOS文件系統
options CD9660 #ISO 9660文件系統(光碟)
options CD9660_ROOT #CD-ROM作為根設備(需要CD9660)
options PROCFS #進程文件系統
options COMPAT_43 #兼容4.3BSD[必須保留]
options SCSI_DELAY=15000 #檢測SCSI設備前的延時(ms)
options UCONSOLE #用戶可以奪取控制台
options USERCONFIG #boot -c編輯器 editor
options VISUAL_USERCONFIG #菜單式boot -c編輯器
options KTRACE #ktrace(1)支持
options SYSVSHM #SYSV-風格的共享內存
options SYSVMSG #SYSV-風格的消息隊列
options SYSVSEM #SYSV-風格的信號量(semaphores)
options P1003_1B #Posix P1003_1B實時擴展
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM #對惡意ICMP請求進行限制
options KBD_INSTALL_CDEV # 在/dev安裝一個CDEV設備
# 下面兩項在製作對稱多處理器(SMP)內核時需要
#options SMP #對稱多處理器內核
#options APIC_IO #對稱(APIC) I/O
device isa
device eisa
device pci
# 軟碟機
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
#
# 如果使用東芝Libretto以及他的Y-E Y-E Data PCMCIA軟碟機
# 不要使用上面的fdc0,而應使用
#device fdc0
# ATA以及ATAPI設備
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA 磁碟驅動器(IDE硬碟)
device atapicd # ATAPI 光碟機
device atapifd # ATAPI 軟碟機
device atapist # ATAPI 磁帶機
options ATA_STATIC_ID #靜態設備編號
# SCSI控制器
device ahb # EISA AHA1742 family
device ahc # AHA2940 板載AIC7xxx設備
device amd # AMD 53C974 (Tekram DC-390(T))
device isp # Qlogic family
device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (較新的晶元組)
options SYM_SETUP_LP_PROBE_MAP=0x40
# 使用ncr可以在配置了sym和ncr的情況下掛接舊的NCR設備
device adv0 at isa?
device adw
device bt0 at isa?
device aha0 at isa?
device aic0 at isa?
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50
# SCSI 外設
device scbus # SCSI 匯流排(如果使用SCSI設備,必須有)
device da # Direct Access (硬碟)
device sa # Sequential Access (磁帶,等等)
device cd # CD
device pass # Passthrough device (直接 SCSI 訪問)
# 通過SCSI子系統介面的RAID控制器
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device dpt # DPT Smartcache - See LINT for options!
device iir # Intel Integrated RAID
device mly # Mylex AcceleRAID/eXtremeRAID
device ciss # Compaq SmartRAID 5* series
# RAID控制器
device aac # Adaptec FSA RAID, Dell PERC2/PERC3
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
device twe # 3ware Escalade
# atkbdc0 控制鍵盤和PS/2滑鼠
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
device vga0 at isa?
# 啟動畫面和屏幕保護程序
pseudo-device splash
# syscons 是默認的控制台驅動,類似SCO控制台
device sc0 at isa? flags 0x100
# 對於pcvt vt220控制台,啟用這個和PCVT_FREEBSD
#device vt0 at isa?
#options XSERVER # 在vt控制台支持X伺服器
#options FAT_CURSOR # 使用大游標
# 如果你是用ThinkPad,將下面的一行和其他PCVT相關設備的注釋去掉
#options PCVT_SCANSET=2 # IBM使用非標准鍵盤
# 浮點運算支持 - 請勿禁用
device npx0 at nexus? port IO_NPX irq 13
# 電源管理支持
device apm0 at nexus? disable flags 0x20 # Advanced Power Management
# PCCARD (PCMCIA) 支持
device card
device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
# 串口(COM)
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9
# 並口
device ppc0 at isa? irq 7
device ppbus # 並口匯流排 (所有並口設備都需要)
device lpt # 列印機
device plip # 並口TCP/IP
device ppi # 並口介面設備
#device vpo # 需要scbus和da
# PCI 乙太網適配器
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')
# 使用公共的MII匯流排控制器代碼的PCI乙太網適配器
# 注意:一定要保留'device miibus'以確保可用
device miibus # MII匯流排支持
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device pcn # AMD Am79C97x PCI 10/100 NICs
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'')
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device ste # Sundance ST201 (D-Link DFE-550TX)
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 ``EPIC'')
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device bge # Broadcom BCM570x (``Tigon III'')
# ISA乙太網適配器
# 'device ed' 需要 'device miibus'
device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
device ex
device ep
device fe0 at isa? port 0x300
# Xircom Ethernet
device xe
# PRISM I IEEE 802.11b wireless NIC.
device awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
#device le0 at isa? port 0x300 irq 5 iomem 0xd0000
device lnc0 at isa? port 0x280 irq 10 drq 0
device cs0 at isa? port 0x300
device sn0 at isa? port 0x300 irq 10
# 偽設備 - 數字表示分配多少個
pseudo-device loop # 環回網路
pseudo-de
⑧ e5雞血補丁能提高多少性能
E5V3雞血自2017年3月驅動之家的一篇文章,帶動了E5V3的雞血潮。時而至今,雞血的方法已經越來越簡單,越來越完善了,效能比起以前也有很大的提高,下面總結一下目前雞血的狀況與簡單地做一個教程。
華碩 技嘉 微星,都需要用到HEX編輯微碼頭從而達到BIOS不載入微碼。
而華擎是最簡單的了,直接一個MMtool就搞定了。
去微碼,改微碼的教程,網上一抓也是一大堆,這里就不重復了。
早期雞血,都是需要外掛EFI驅動的方式,這種方式對於很多人來說,門檻很高,也不利於推廣。經過後期蘭總的研究,指出了三種鎖頻率的方式。
華碩和技嘉在BIOS方面有相當高的投入,所以這兩家主板可以直接用改了微碼的BIOS,然後在BIOS中直接鎖最高睿頻和降壓。十分簡單方便,缺點就是因為沒efi驅動優化,頻率和效能偏低。
華擎和微星,因為沒相關調節選項或者調節不生效,只能通過EFI驅動來達到鎖頻降壓,從而提高睿頻頻率。
自有了EFI轉FFS,然後插入到BIOS以內,雞血變得很簡單,直接刷個BIOS就可以了,在很長一段時間內,解鎖頻率再無提高。直到國外的fus和C_Payne分享了EFI驅動的源碼。LZ折騰了很久,用了很多方法去修改源碼,重新編譯,對於零知識基礎的我來說,不斷嘗試,編譯成功了。在很xiaofeng大神和網友的教導下,用了FASM編譯,讓編譯變得很簡單,很容易推廣。下面,我共享了我做的五大品牌的X99全系列BIOS,部分型號國內沒銷售的,可以發BIOS鏈接給我,我會進行補充!
⑨ 一段匯編怎麼改成c語言
這本身就是一段C語言程序,只是它是GCC平台的寫法(你可以用gcc來直接編譯的) (gcc用的是GNU匯編,而我們一般是用MASM用的格式來寫匯編代碼的)
這是內聯匯編
不知道你用的是什麼編譯器,如果用的是VC++ ,那麼可以修改下寫法
大概是類似於下面這樣的:
static int __inline fls( int x )
{
__asm {
mov ecx, [x]
bsrl eax, ecx
jnz ffs1
mov ecx, -1
ffs1:
inc eax
}
}
這里說明一下,匯編中返回值默認是在EAX寄存器中的
BSRL的功能是用指定位來設置ZF標志位