Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
__pycache__
cpu-api
cpu-sched-lottery
include
intro
threads-intro
vm-intro
CS-Heroes.ipynb
Makefile
README
README 2
README-mlfq
README-process-run
README-race
README-relocation
README-scheduler
README.md
a.out
address
address.c
already-done.pkl
already-done.txt
array
array.c
common.h
common_threads.h
concurrency-questions.txt
cpu-virtual.py
cpu.c
demo_ex.py
disasm-threads.csh
exec_demo_1
exec_demo_1.c
exec_demo_2
exec_demo_2.c
exec_demo_3
exec_demo_3.c
exec_demo_4
exec_demo_4.c
exec_demo_5
exec_demo_5.c
exec_demo_6
exec_demo_6.c
exec_demo_7.c
fact.py
fact_memoized.py
find_ancestors.sh
fork_count
fork_count.c
fork_demo_1
fork_demo_1.c
fork_demo_2
fork_demo_2.c
fork_demo_3
fork_demo_3.c
fork_demo_4
fork_demo_4.c
fork_demo_5
fork_demo_5.c
fork_demo_multiple
fork_demo_multiple.c
fork_mul
fork_mul.c
fork_same_address
fork_same_address.c
fork_wait_variable
fork_wait_variable.c
h
h.c
hello-address.c
hello-address.out
hello-assembly-2
hello-assembly-2.c
hello-assembly-2.s
hello-assembly.c
hello-assembly.s
hello.c
hello.out
hello2.c
hello2.out
hello_assembly
hello_assembly.c
hello_thread
hello_thread.c
hello_world
hello_world.c
hello_world.s
hello_world_2
hello_world_2.c
io.c
loop.s
looping-race-nolock.s
make-mem.csh
make-threads.csh
malloc_size.c.save
mem
mem.c
mem2.c
mem3
mem3.c
memory-address
memory-address.c
mlfq.py
mlfq.py.bak
null
null.c
p1
p1.c
p2
p2.c
p3
p3.c
p4
p4.c
p4.output
process-run.py
process-run.py.bak
ptr1
ptr1.c
ptr2
ptr2.c
ptr3
ptr3.c
ptr3.s
random-demo.py
relocation.py
relocation.py.bak
replacement-random-plot.py
replacement-random.py
scheduler.py
scheduler.py.bak
simple-plot-demo.py
simple-race.s
sum_thread
sum_thread.c
t1
t1.c
thread
thread-questions.sh
thread.py
threads.v0.c
threads.v1.c
threads_sum.c
threads_sum.cpp
trace-io.csh
trace-io.d
tree.py
tree.sh
wait-for-me.s
wait_demo_1
wait_demo_1.c
wait_demo_2
wait_demo_2.c
wait_demo_3
wait_demo_3.c
x86.py
x86.py.bak

README.md

ostep-code

Code from various chapters in OSTEP (http://www.ostep.org)

Virtualization

CPU Virtualization Chapters:

Memory Virtualization Chapters:

  • Address Spaces
  • Memory API
  • Address Translation
  • Segmentation
  • Free Space Management
  • Introduction to Paging
  • Translation Lookaside Buffers
  • Advanced Page Tables
  • Swapping: Mechanisms
  • Swapping: Policies
  • Case Study: VAX/VMS

Concurrency

Concurrency Chapters:

  • Concurrency and Threads
  • Threads API
  • Locks
  • Locked Data Structures
  • Condition Variables
  • Semaphores
  • Concurrency Bugs
  • Event-based Concurrency

Persistence

Persistence Chapters:

  • I/O Devices
  • Hard Disk Drives
  • Redundant Disk Arrays (RAID)
  • Files and Directories
  • File System Implementation
  • Fast File System (FFS)
  • FSCK and Journaling
  • Log-structured File System (LFS)
  • Flash-based SSDs
  • Data Integrity and Protection
  • Distributed Systems
  • Network File System (NFS)
  • Andrew File System (AFS)
You can’t perform that action at this time.