If I read / write / go to the ummapped address, i.e.
.text .global _start _start: movl $1,%edx jmp *%edx
this causes a segmentation error.
I wonder what is the actual part of the system (kernel) that intercepts read / write to non-displayable addresses (how?) And emits a "user mode" signal?
Everything comes from a table of architecture traps. This is usually called entry.S (divided by x86 between entry_32 and entry_64.S) and has an assembler binding that performs a series of actions (depending on the configuration) before the header in the C code of the kernel itself.
, page_fault general_protection , , force_sig_info, , , send_signal (kernel/signal.c).
. , x86 :
do_page_fault: linux/arch/x86/mm/fault.c
PowerPC, " E" (, ), 0x300 ( ) 0x400 ( .) / , MMU , CPU 0x300 0x400, .
Source: https://habr.com/ru/post/1711157/More articles:Как получить доступ и представить похожие полиморфные модели в том же виде в Rails? - polymorphismInteresting Python system utilities that you created? - pythonSilverlight 3 Beta, NavigationService in ViewModel - silverlightAny suggestions on Rails-Migration for the .NET platform? - databasejava.nio feeds buffers stream terminology - javaFTP Mock for .NET - c #Loader object does not dispatch Event.COMPLETE - flashhttps://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=ru&sp=nmt4&tl=en&u=https://fooobar.com/questions/1711160/how-do-i-submit-suggestions-to-the-css-spec&usg=ALkJrhhoE3Hru0wcwyOXy9E4hbHeEPqq1wProgrammatically install a font on Windows - fontsIYO: Worst Subversive Mistakes? - svnAll Articles