tasty-tacos/.gallery/gallery.typ

63 lines
1.6 KiB
Typst
Raw Permalink Normal View History

2024-12-03 00:39:42 +01:00
#set page(height: auto, margin: 1cm)
#set text(font: "Source Sans 3")
#let subject(name) = context {
metadata((name: name, page: locate(here()).page()))
}
//////////////////////////
// Process Scheduling //
//////////////////////////
#subject("process-scheduling")
#import "/process-scheduling/utils.typ": task, display-processes
#import "/process-scheduling/algorithms.typ": FCFS
#let tasks = {
task(1, 0, 10, 3)
task(2, 20, 40, 2)
task(3, 30, 20, 2)
task(4, 60, 10, 3)
task(5, 80, 30, 1)
task(6, 90, 20, 1)
task(7, 100, 50, 3)
task(8, 130, 30, 2)
task(9, 180, 10, 3)
task(10, 200, 60, 1)
}
#display-processes(..FCFS(tasks))
#pagebreak()
/////////////////////
// Demand Paging //
/////////////////////
#subject("demand-paging")
#import "/demand-paging/utils.typ": sim-demand-paging
#set page(width: auto)
#let requests = (7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0 , 1)
#sim-demand-paging(requests, "FIFO")
#pagebreak()
///////////////////////
// Disk Scheduling //
///////////////////////
#subject("disk-scheduling")
#import "/disk-scheduling/algorithms.typ": schedule-fcfs
#import "/disk-scheduling/utils.typ": draw-algo, compute-total
#let places = (53, 98, 193, 37, 14, 124, 65, 67)
#let min = 0
#let max = 199
#let result = schedule-fcfs(places)
#let graph = draw-algo(result, min: min, max: max, width: 10)
#let compute-total = compute-total.with(min: min, max: max)
#table(
columns: 2,
inset: 0.5em,
align: center + horizon,
rotate(
-90deg,
reflow: true
)[*FCFS* (total: #compute-total(result, wrap: false))],
graph
)