UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! (Updated April 1,2023) Overview Compared to the BIOS version of Write Your Own OS, this tutorial is a bit more involved. So, we will start with installing anything we need right away. sudo apt update && sudo apt install build-essential qemu-system-x86 mtools git This includes the OVMF … Read More “Write Your Own OS! (UEFI/GPT)” »
Category: Ciss-150
(Updated March 13, 2023) Overview Writing an operating system (OS) is no small feat. Ask Linus Torvalds. First, you must be able to store the OS on some medium that is durable and persistent, then you must write code that makes the OS start upon powering on the hardware on which it is intended to … Read More “Write Your Own OS! (BIOS/MBR)” »
(Updated April 20, 2024) Overview As we have seen, many hardware and software components vie for CPU time. In addition to hardware interrupts when a device needs servicing and software interrupts that perform privileged actions within the OS, signal handling components allow programs to try to intercept some of the kinds of interrupts that may … Read More “Signal Handling” »
(Updated December 30, 2023) Overview The C compiler produces platform-specific executable code which can also be viewed as assembly language, given the correct set of options are provided to the compiler. This can be particularly useful when we want to learn a bit more about what is going on behind the scenes. Maybe we want … Read More “Godbolt: Behind the Compiler” »
(Updated Feruary 24, 2024) Table of Contents Overview Hello World! Syntax Instructions Operands FLAGS System Calls Assembly Language and C Overview This tutorial explains some of the basics of assembly language for the x86_64. This is focused primarily on the 64-bit programming model and calling subroutines on the Linux platform. This is not the same … Read More “Assembly Language With NASM” »
(Updated March 26, 2023) Bitwise Operators Within computer science, there is a desire to manipulate individual bits. Although memory is plentiful in many computing systems, that does not excuse one from considering all possible solutions to making a program or system run faster or leaner. Just because you have oodles of memory does not necessarily … Read More “Bitwise Operators and Two’s Complement.” »
(Updated March 24, 2020) Table of contents Overview Decimal Binary Octal Hexadecimal Exercises Overview Numbers systems are simply the means by which we represent values given a particular radix. The radix represents the base counting system. As a defined standard we generally use the Hindu-Arabic numerals of the base 10 counting system, or simply base … Read More “Number Systems” »