Files
ostep-code/intro/README.md
Tim Gates ad66eafc48 docs: fix simple typo, permament -> permanent
There is a small typo in intro/README.md.

Should read `permanent` rather than `permament`.
2020-12-08 07:11:17 +11:00

57 lines
1.2 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](http://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-permanent) effect on the
whole system, which is something you probably don't want. I use this
one only inside VMs.