Read-Only Memory Some of the virtual memory of the process does not ever need to have its contents altered during the process's run. This can be used to optimize handling of such pages during paging operations. For example, the executable part of a program is loaded into read-only pages. If we need to page one of these pages out to disk, there is no need to copy its contents to disk - we already have a proper copy of this page inside the executable file on disk. A process can mark other parts of memory as read-only. For example, global 'const' variables are often stored inside read-only memory. That's why trying to cast 'const' pointers to 'non-const' ones, and then writing through them, could lead to a SIGSEGV.