[問題] 定址問題

看板C_and_CPP作者 (什麼東西什麼東西)時間16年前 (2009/06/28 14:56), 編輯推噓6(6010)
留言16則, 3人參與, 最新討論串1/1
一塊記憶體8kbytes拿來給指標用,每個指標指向硬碟8kbytes空間, 請問可用最大空間為多少?? /*====我的想法是====*/ 8KB/4B=2K 2K*8KB=16MB PS:指標大小在32bit OS下為4B、64bit系統下為8B 請問這樣有錯嗎 這題應該比較偏向OS是嗎@@" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.137.5

06/28 23:00, , 1F
你在講什麼東西啊
06/28 23:00, 1F
※ 編輯: OpenGoodHate 來自: 123.204.137.5 (06/28 23:03)

06/28 23:11, , 2F
為什麼32bit OS下為2B?
06/28 23:11, 2F
剛剛手殘打錯了 指標大小的原文出處 http://libai.math.ncu.edu.tw/bcc16/C/C/b12-2.shtml ※ 編輯: OpenGoodHate 來自: 123.204.137.5 (06/28 23:16)

06/28 23:34, , 3F
看你需求囉?因為看起來你是要2K個指標?
06/28 23:34, 3F

06/28 23:46, , 4F
指標指向硬碟空間 新奇~
06/28 23:46, 4F
實作上我也不知道可不可行 不過看題意應該是要2K個指標 去指向各8K的資料 剛剛還去翻恐龍書 最接近的應該是直接區段的資料存法 中文版P.419(原著OS 7th) 在418頁中也有提到直接索引的定義 只是不知道能否直接套出答案 ※ 編輯: OpenGoodHate 來自: 123.204.137.5 (06/28 23:55)

06/28 23:49, , 5F
可能指LBA定址模式中的block有8KB吧
06/28 23:49, 5F

06/28 23:50, , 6F
是說磁碟分割表吧?
06/28 23:50, 6F

06/28 23:54, , 7F
的確比較有可能
06/28 23:54, 7F
如果是定址模式的話 是Window切出來固定會佔8K的空間嗎?? ※ 編輯: OpenGoodHate 來自: 123.204.137.5 (06/28 23:57)

06/29 00:01, , 8F
如果是LBA一個位址8KB就是指對應的CHS定址的sector有8KB,跟
06/29 00:01, 8F

06/29 00:02, , 9F
OS切無關。老實說,其實到現在也只看過512 Bytes/sector
06/29 00:02, 9F
看懂Z大的意思了 剛剛想成Windows的佔用空間 ※ 編輯: OpenGoodHate 來自: 123.204.137.5 (06/29 00:09)

06/29 00:52, , 10F
那術語叫cluster(連續的sectors或blocks聚成)。而存取硬碟的
06/29 00:52, 10F

06/29 00:52, , 11F
CPU指令是int 13h,需要參數是sector或block位址。如果你真是
06/29 00:52, 11F

06/29 00:53, , 12F
指要用指標去指磁叢,那還真的怪怪。畢竟一般就算有cluster還
06/29 00:53, 12F

06/29 00:54, , 13F
是要到硬碟開頭磁區去查一個cluster含幾個sector去轉給int 13h
06/29 00:54, 13F

06/29 00:55, , 14F
始終不能直接拿cluster的位址直接讓cpu跑int 13h存取硬碟
06/29 00:55, 14F

06/29 03:25, , 15F
修正:硬碟開頭磁區是放MBR裡面主要用紀錄各分割區位置在哪。
06/29 03:25, 15F

06/29 03:25, , 16F
分割區開頭的磁區裡面才會紀錄一個cluster是有多大。
06/29 03:25, 16F
文章代碼(AID): #1AHuILHr (C_and_CPP)