Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,7 @@ mathjax-support = true
[output.html.playground]
runnable = true
editable = true

[output.html.redirect]
"/ch02-03-implementing-the-bitfields-proc-macro.html" = "/ch02-05-implementing-the-bitfields-proc-macro.html"
"/ch03-00-printing-to-screen.html" = "/ch04-00-printing-to-screen.html"
47 changes: 25 additions & 22 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,30 @@
- [A Minimal Bootloader](./ch02-00-a-minimal-bootloader.md)
- [Legacy Legacy Legacy [OS]](./ch02-01-legacy-legacy-legacy.md)
- [Entering Protected Mode [OS]](./ch02-02-entering-protected-mode.md)
- [Implementing the Bitfields Proc-Macro [RUST]](./ch02-03-implementing-the-bitfields-proc-macro.md)
- [What is Memory Paging? [OS]](./ch02-03-what-is-memory-paging.md)
- [Booting the Kernel [OS]](./ch02-04-booting-the-kernel.md)

- [Printing To Screen [OS]](./ch03-00-printing-to-screen.md)
- [Memory Management [OS]](./ch04-00-memory-management.md)
- [Memory Allocator Types [OS]](./ch04-01-memory-allocator-types.md)
- [Implementing a Bitmap [OS]](./ch04-02-implementing-a-bitmap.md)
- [Writing a Physical Page Allocator [OS]](./ch04-03-writing-a-physical-page-allocator.md)

- [Interrupts and Exceptions [OS]](./ch05-00-interrupts-and-exceptions.md)
- [Utilizing the Interrupt Descriptor Table [OS]](./ch05-01-utilizing-the-idt.md)
- [The Programmable Interrupt Controller [OS]](./ch05-02-programmable-interrupt-controller.md)
- [Writing a Keyboard driver [OS]](./ch05-03-writing-a-keyboard-driver.md)

- [File Systems and Disk Drivers [OS]](./ch06-00-file-systems-and-disk-drivers.md)
- [Disk Drivers [OS]](./ch06-01-disk-drivers.md)
- [Implementing a File System [OS]](./ch06-02-implementing-a-file-system.md)

- [Processes and Scheduling [OS]](./ch07-00-processes-and-scheduling.md)
- [Thinking in Terms of Processes [OS]](./ch07-01-thinking-in-terms-of-processes.md)
- [Implementing a Process Scheduler [OS]](./ch07-02-implementing-a-process-scheduler.md)

- [Writing a Shell [OS]](./ch08-00-writing-a-shell.md)
- [Implementing the Bitfields Proc-Macro [RUST]](./ch02-05-implementing-the-bitfields-proc-macro.md)

- [Synchronization](./ch03-00-synchronization-primitives.md)
- [How Synchronization is Achieved on a Multiprocessor System [RUST]](./ch03-01-how-synchronization-is-achieved-on-a-multiprocessor-system.md)
- [Implementing Basic Synchronization Primitives [OS]](./ch03-02-implementing-basic-synchronization-primitives.md)
- [Printing To Screen [OS]](./ch04-00-printing-to-screen.md)
- [Memory Management [OS]](./ch05-00-memory-management.md)
- [Memory Allocator Types [OS]](./ch05-01-memory-allocator-types.md)
- [Implementing a Bitmap [OS]](./ch05-02-implementing-a-bitmap.md)
- [Writing a Physical Page Allocator [OS]](./ch05-03-writing-a-physical-page-allocator.md)

- [Interrupts and Exceptions [OS]](./ch06-00-interrupts-and-exceptions.md)
- [Utilizing the Interrupt Descriptor Table [OS]](./ch06-01-utilizing-the-idt.md)
- [The Programmable Interrupt Controller [OS]](./ch06-02-programmable-interrupt-controller.md)
- [Writing a Keyboard driver [OS]](./ch06-03-writing-a-keyboard-driver.md)

- [File Systems and Disk Drivers [OS]](./ch07-00-file-systems-and-disk-drivers.md)
- [Disk Drivers [OS]](./ch07-01-disk-drivers.md)
- [Implementing a File System [OS]](./ch07-02-implementing-a-file-system.md)

- [Processes and Scheduling [OS]](./ch08-00-processes-and-scheduling.md)
- [Thinking in Terms of Processes [OS]](./ch08-01-thinking-in-terms-of-processes.md)
- [Implementing a Process Scheduler [OS]](./ch08-02-implementing-a-process-scheduler.md)

- [Writing a Shell [OS]](./ch09-00-writing-a-shell.md)
9 changes: 9 additions & 0 deletions src/ch03-00-synchronization-primitives.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Synchronization

_"Shared mutable state is the root of all evil."_

---

#![repository_card]

Coming soon!
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# How Synchronization is Achieved on a Multiprocessor System

_"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies." - C.A.R. Hoare_

---

#![repository_card]

Coming soon!
9 changes: 9 additions & 0 deletions src/ch03-02-implementing-basic-synchronization-primitives.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Implementing Basic Synchronization Primitives

_"I was motivated by fear of the nondeterminism of concurrency and wanted to prove that it was tamed in my programs." — Edsger W. Dijkstra_

---

#![repository_card]

Coming soon!
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading