from Hacker News

Let’s write a Kernel with keyboard and screen support (2014)

by DonbunEf7 on 9/19/18, 3:16 AM with 37 comments

  • by zaarn on 9/19/18, 4:48 AM

    If anyone wants to breach into kernel development, I recommend osdev[0], which is a very good resources for beginners and others.

    0: https://wiki.osdev.org/Main_Page

  • by dschuetz on 9/19/18, 9:45 AM

    Build a custom/weird CPU: https://cpudev.org/wiki/Main_Page and write an OS for it: https://wiki.osdev.org/Main_Page

    I know what I'm gonna do this winter :P

  • by mcculley on 9/19/18, 3:03 PM

    This is making me wonder: Thinking about Dan Luu's research on latency of modern systems (https://danluu.com/input-lag/), what is the minimum latency one could get in a modern system (e.g, USB keyboard, modern display hardware)?
  • by adamnemecek on 9/19/18, 5:14 AM

    I hate to sound dismissive but I feel like a lot of these projects put too much emphasis on booting and too little on something like say process semantics. I've written bootloaders before and it was some of the most uninspired code I've ever written.
  • by hazz99 on 9/19/18, 8:13 AM

    For further reading, I can't recommend enough this free book:

    http://pages.cs.wisc.edu/~remzi/OSTEP/

    It's fantastically well-written, yet detailed without being overwhelming.

  • by kyberias on 9/19/18, 3:21 PM

    This is not yet a kernel. This is code booting into protected mode and handling some interrupts.
  • by pjc50 on 9/19/18, 9:41 AM

    x86 16-bit real mode! It's certainly easy, but only because all the real work (initialising the PCI bus to speak to the video card, USB host drivers for the keyboard) is being done by the BIOS somewhere.

    Does anyone know these days if the 16-bit boot environment is still "bare metal", or is it inside an UEFI or ACPI hypervisor of some sort?

  • by alexis_read on 9/19/18, 4:35 PM

    I've not watched the series, but the full stack (ie. Cpu and gpu design in verilog, hdmi, bootstrapped mutitasking os dev, not your average FullStack marketing-speak) for a platform is done by bitwise: https://m.youtube.com/#/user/pervognsen

    Looks very accessible :)

  • by teddyh on 9/19/18, 11:44 AM

    I may be wrong, but if you assume a non-ancient x86 platform with EFI BIOS, don’t you get all this for free from drivers included in EFI?
  • by danmg on 9/19/18, 6:08 AM

    640 x 480, 16 colors, ring 0