odczyt/zapis dowolnego sektora dysku

0

Szukam konkretnego przykładu (najlepiej w ASM):
Jak odczytać sektor dysku położonego dalej niż te około 8GB?
Czyli na przykład - jak odczytać sektor nr 100000?

[email protected]

0

pod jakim systemem?

0

Myślę, że istnieje kod w asm, który to zrobi bez pomocy systemu operacyjnego. W końcu jakoś system operacyjny musiał być implementowany.

1

To źle myślisz. Asm nie daje Ci żadnych nadludzkich mocy w tej kwestii.

Myślisz, że każdy program to tak sobie może wszystko robić bez wiedzy OS? Tak to tylko w najprostszych systemach ala DOS lub na architekturach bez trybu chronionego. Pod nowoczesnym systemem nie wywołasz żadnej uprzywilejowanej instrukcji asm, ani nie masz bezpośredniego dostępu do pamięci.

Dlatego asm Ci tu nic nie da. Można to zrobić nawet w Pythonie, tylko musisz skorzystać z API systemu. Pewnie pozwoli Ci to zrobić tylko, jeśli program odpalisz z prawami admina / roota. Na Linuksie wystarczy wprost otworzyć odpowiednie urządzenie blokowe i pisać / czytać po prostu jak do / z pliku.

0

Pod nowoczesnym systemem nie wywołasz żadnej uprzywilejowanej instrukcji asm, ani nie masz bezpośredniego dostępu do pamięci.

Chyba, że jesteś w kernel modzie.

Tu masz przyklad jak zrobic to w Windowsie: http://www.cplusplus.com/forum/windows/18019/

1 użytkowników online, w tym zalogowanych: 0, gości: 1