Thread View: pl.comp.os.linux.programowanie
2 messages
2 total messages
Started by porparek
Sun, 28 Dec 2014 16:23
zero user space Data Segment (DS)
Author: porparek
Date: Sun, 28 Dec 2014 16:23
Date: Sun, 28 Dec 2014 16:23
10 lines
1576 bytes
1576 bytes
Witajcie Zawsze myslalem ze rejestr procesora DS w linuxie jest zawsze niezerowy. Ostatnio wyswietlilem zawartosc tego rejestru w GDB i okazalo sie ze rowna sie on 0. Sprawdzalem to w kilku prostych programach (w przestrzeni uzytkownika) i zawsze rowna sie on 0. Czy oznacza to ze w jakis sposob segmantacja nie jest wykorzystywana podczas dostepu do danych. Dla odmiany rejestry CS oraz SS zawieraja sensowne wartosci. dziekuje za informacje
Re: zero user space Data Segment (DS)
Author: Bogdan (bogdro)
Date: Mon, 29 Dec 2014 17:24
Date: Mon, 29 Dec 2014 17:24
34 lines
2660 bytes
2660 bytes
W dniu 28.12.2014 o 17:23, porparek@gmail.com pisze: > Witajcie > > Zawsze myslalem ze rejestr procesora DS w linuxie jest zawsze niezerowy. > Ostatnio wyswietlilem zawartosc tego rejestru w GDB i okazalo sie ze rowna sie on 0. Sprawdzalem to w kilku prostych programach (w przestrzeni uzytkownika) i zawsze rowna sie on 0. > > Czy oznacza to ze w jakis sposob segmantacja nie jest wykorzystywana podczas dostepu do danych. > > Dla odmiany rejestry CS oraz SS zawieraja sensowne wartosci. > > dziekuje za informacje > Witam. Jaki jest tryb pracy procesora? "Ilu-bitowy" system? W trybie chronionym rejestry już nie mają tej samej roli, co np. w DOS-ie. Są selektorami (indeksami) do tablic deskryptorów LDT lub GDT i zero jako indeks (czyli pierwszy wpis w GDT/LDT) jest jak najbardziej sensowne, jeśli dobrze pamiętam (pomijając poziom uprawnień). Natomiast w trybie 64-bitowym procesor traktuje rejestry segmentowe tak, jakby zawierały zero. Jakie to "sensowne wartości" są w CS i SS? Spodziewałbym się, że np. DS=3 (lub 7), ale sam debugger też może mieć tu coś do powiedzenia. U mnie, na 32-bitowym systemie, program w userspace raportuje, że DS=123 (konkretnie to DS % 256 = 123). I pod debugerem, i sam. Spodziewałbym się zera w DS w trybie 64-bitowym lub w kodzie jądra (lub sterownika). -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux): http://bogdro.ciki.me Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.Xiph.org www.TorProject.org Soft(EN): http://bogdro.ciki.me/soft
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads