ostep/

directory
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2026 License: BSD-3-Clause

README

Name

ostep - operating systems three easy pieces

Description

Virtualization

Text

Source code:

Directories

Path Synopsis
cpu
cmd/process-run command
cmd/sched command
Scheduler implements basic CPU scheduler policies: first-in-first-out, shortest job run.
Scheduler implements basic CPU scheduler policies: first-in-first-out, shortest job run.
cmd/sched/internal/job
Package job provides basic primitives describing jobs.
Package job provides basic primitives describing jobs.
cmd/sched/internal/report
Package report generates simulation reports.
Package report generates simulation reports.
cmd/sched/internal/sched
Package scheduler implements scheduling policies to select next job to run: First-in-First-Out, Shortest job first, Shortest Time to Complete First, etc.
Package scheduler implements scheduling policies to select next job to run: First-in-First-Out, Shortest job first, Shortest Time to Complete First, etc.
cmd/sched/internal/sim
Package sim is responsible for drivin jobs scheduling sicmulation.
Package sim is responsible for drivin jobs scheduling sicmulation.
cmd/sched/internal/trace
Package trace provides tracing facilities for scheduler simulations.
Package trace provides tracing facilities for scheduler simulations.
lottery command
Lottery runs simulation of a lottery scheduler.
Lottery runs simulation of a lottery scheduler.
lottery/internal/cmd
Package cmd provides basic constructs to run the lottery scheduler, i.e., a runnable command.
Package cmd provides basic constructs to run the lottery scheduler, i.e., a runnable command.
lottery/internal/job
Package job implements primitives to describe jobs.
Package job implements primitives to describe jobs.
lottery/internal/report
Package report provides primitives to generate simulation reports.
Package report provides primitives to generate simulation reports.
lottery/internal/sim
Package sim run the simulation.
Package sim run the simulation.
lottery/internal/trace
Package trace generates a sequence of folded cycles that belong to the same job.
Package trace generates a sequence of folded cycles that belong to the same job.
mlfq command
Mlfq demonstrates Miltilevel Feedback Queue scheduler policy.
Mlfq demonstrates Miltilevel Feedback Queue scheduler policy.
mlfq/internal/cmd
Package cmd provides a simulation command with flags, drives simulation, and generates a report.
Package cmd provides a simulation command with flags, drives simulation, and generates a report.
mlfq/internal/cpu
Package cpu provides CPU clock to count cycles.
Package cpu provides CPU clock to count cycles.
mlfq/internal/io
Package io emulates I/O.
Package io emulates I/O.
mlfq/internal/policy
Package policy implements Multilevel Feedback Queue scheduling policy.
Package policy implements Multilevel Feedback Queue scheduling policy.
mlfq/internal/proc
Package proc provides basic primitives representing processes in the system.
Package proc provides basic primitives representing processes in the system.
mlfq/internal/queue
Package queue provides RoundRobin queue for Multilevel Feedback Queue scheduler.
Package queue provides RoundRobin queue for Multilevel Feedback Queue scheduler.
mlfq/internal/report
Package report generates simulation reports.
Package report generates simulation reports.
mlfq/internal/sim
Package sim runs process scheduling simulation.
Package sim runs process scheduling simulation.
mem
allocator command
Allocator simulates memory allocation user library such as malloc(3).
Allocator simulates memory allocation user library such as malloc(3).
allocator/internal/heap
Package heap emulates memory allocations, with API simulat to malloc(3).
Package heap emulates memory allocations, with API simulat to malloc(3).
allocator/internal/report
Package report generates a report for the allocator simulation.
Package report generates a report for the allocator simulation.
allocator/internal/sim
Package sim simulates client application working with the heap using malloc(3) API: malloc() and free().
Package sim simulates client application working with the heap using malloc(3) API: malloc() and free().
segment command
Segment demonstrates address translation with support for memory segments.
Segment demonstrates address translation with support for memory segments.
segment/internal/mem
Package mem provide basic primites to emulate memory management.
Package mem provide basic primites to emulate memory management.
segment/internal/report
Package report provides primitives to generate a simulation report.
Package report provides primitives to generate a simulation report.
translate command
Translate demonstrates address translation using base and bounds CPU registers, where base is the offset of the virtual address space and bounds is the size of the virtual address space.
Translate demonstrates address translation using base and bounds CPU registers, where base is the offset of the virtual address space and bounds is the size of the virtual address space.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL