I/O Ports
I/O裝置位址是一系列的很小的儲存設備,即緩沖器,主要用來和cpu通信,然後cpu觸發核心完成資料的接收或發送,是以IO裝置一般會用到兩個端口即兩個緩沖器。
在Linux系統中一切皆檔案,是以程式員需要了解的IO調用就非常簡潔了,其基本流程為:open()àread()àwrite()àclose();
Linux裝置檔案類型
塊裝置:block,存取機關“塊”,典型裝置是磁盤
字元裝置:char,存取機關“字元”,典型裝置是鍵盤
裝置檔案作用:關聯至一個裝置驅動程式,進而能夠跟與之對應硬體裝置進行通信;
對于硬體和系統級别,系統主要是通過裝置号進行管理,裝置号碼分為:
主裝置号:majornumber, 辨別裝置類型
次裝置号:minornumber, 辨別同一類型下的不同裝置
硬碟接口類型:并行+串行
并行:線路并行傳輸資料
IDE:133MB/s
SCSI:640MB/s(SCSI比IDE工藝性強,使用年限是IDE的4倍左右)
序列槽:線路串行傳輸資料
SATA:6Gbps(750MB/s)
SAS:6Gbps(750MB/s)
USB:480MB/s

注:上述說傳輸速率是接口速率不是實際體驗速率
磁盤分區是按柱面進行分區的,我們把0磁道0扇區叫MBR:(Master Boot Record,是一程式),容量是512bytes,其中:
446bytes: boot loader 引導加載器
64bytes:分區表(要軟損壞硬碟隻要搗毀硬碟分區表就OK了)
16bytes: 辨別一個分區,是以一個硬碟至多能有4個分區
2bytes: 55AA 目前MBR的有效性辨別
4個主分區;
3主分區+1擴充分區(N個邏輯分區)
邏輯分區(邏輯分區編号一定是從5開始滴)
Linux的分區管理工具:fdisk,parted, sfdisk
fdisk:對于一塊硬碟來講,最多隻能管理15分區;
# fdisk -l [-u][device...]
子指令:管理功能
p:print, 顯示已有分區;
n:new, 建立
d:delete, 删除
w:write, 寫入磁盤并退出
q:quit, 放棄更新并退出
m:擷取幫助
l:清單所分區id
t:調整分區id
例:fdisk /dev/sda建立新分區/dev/sda4 /dev/sda5
檢視核心是否已經識别新的分區:
# cat /proc/partitions
通知核心重新讀取硬碟分區表:
partx -a /dev/DEVICE
CentOS 5: 使用partprobe
partprobe[/dev/DEVICE]