Categories
Operating Systems Video

OS12: Basic Keyboard Driver (x86 Interrupts)

In this video, we learn about interrupts and write our own basic keyboard driver!

0:00 Lecture

9:58 What we’re building

10:39 Updates to Makefile, add .gdbinit file

12:32 Updates to kernel.asm

18:08 Updates to kernel.c

28:28 Compiler error fixes; working demo again

29:06 GDB debugging skills; making the keyboard map from scratch

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS11: Calling Assembly from C

Join us in this video to find out how we can call a function in assembly from our kernel in C. This will allow us to do things in raw assembly when needed, and then we can pop back to the comfortable world of C when finished!

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS10: Real Hardware

Time for some real hardware! Let’s load this OS up and try it out on an old laptop.

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS9: Multiboot (Bootloader Breakup)

In this video, we break up with our old bootloader 🙁 Don’t worry, life without it is much better! 🙂

Special thanks to Petros Koutoupis for his awesome Linux Journal article. Please check it out at this link – it’s a great read!

https://www.linuxjournal.com/content/…

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS8: C at Last!

In this video, we run our first miniature kernel, written in C.

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS7: Making the Jump

We really did it. We made the jump to 32-bit protected mode.

Here’s the awesome book I keep referencing:

https://www.cs.bham.ac.uk/~exr/lectur…

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS6: Reading the Disk

How do we read the disk? We better find out before we go into protected mode!

Watch ’til the end for a bonus bugfix 🙂

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS5: Going Over print_hex

In this video, we go over the challenge program Print Hex using 16-bit assembly.

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS4: Deciphering BIOS Challenges

Let’s go over the challenges from the last video.
Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos

Categories
Operating Systems Video

OS3: Hone the Power of the BIOS!

We delve into and modify the example code, I explain a few assembly concepts, and I give you some challenges!

Here’s the source code repository (AND the solutions to the challenges):

https://github.com/pagekeysolutions/e…

Here is the link to the Ralph Brown’s Interrupt List download:

http://www.cs.cmu.edu/~ralf/files.html

Notes for this video (and all others) are on the wiki:

https://github.com/stephengrice/pkos/…

Latest source can be found at the main repo:

https://github.com/stephengrice/pkos