Files
ostep-code/intro/README.md
Remzi Arpaci-Dusseau a072c9f934 add links to book chapters
2018-08-15 12:11:33 -05:00

57 lines
1.1 KiB
Markdown

# Overview
Code from OSTEP chapter [Introduction](http://pages.cs.wisc.edu/~remzi/OSTEP/intro.pdf).
To compile, just type:
```
prompt> make
```
See the highly primitive `Makefile` for details.
Then, run them! Examples:
```
prompt> ./cpu A
```
```
prompt> ./mem 1
```
```
prompt> ./threads 10000
```
```
prompt> ./io
```
## Details
One issue with mem.c is that address space randomization is usually on by
default. To turn it off:
### macOS
From [stackoverflow](stackoverflow.com/questions/23897963/documented-way-to-disable-aslr-on-os-x)
Just compile/link as follows:
gcc -o mem mem.c -Wall -Wl,-no_pie
### Linux
From Giovanni Lagorio:
Under Linux you can disable ASLR, without using a debugger, in (at least) two ways:
* Use the command setarch to run a process with ASLR disabled; I typically run
bash, with which I can execute examples, like this:
`setarch $(uname --machine) --addr-no-randomize /bin/bash`
* Writing 0 into `/proc/sys/kernel/randomize_va_space`; you need to be
root to do this and this change has (a non-permament) effect on the
whole system, which is something you probably don't want. I use this
one only inside VMs.