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 November 22, 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 July 26, 2024) Overview The C compiler produces platform-specific executable code, which can also be viewed as assembly language, given the correct set of options 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 to: … Read More “Godbolt: Behind the Compiler” »
(Updated October 13, 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 August 5, 2024) Table of Contents Bitwise Operators Two’s Complement Numbers Shifting and Rotating Showing the Bits 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 … 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” »