Project Description

In order to learn how operating systems work on a x86 chip, I had written (long ago) a toy OS based on code found on osdev wiki [1]. It allowed me to understand the interaction between the OS and the x86 hardware, and to some extent how the OS handles userspace (I used newlib for some userspace programs). The single-processor OS code later served me well as a base for a course about operating systems I taught at the university.

In this project, I would like to expand my knowledge on OS to multi-core.

Goal for this Hackweek

  • Study Intel MP Spec
  • Read Linux kernel x86 MP code
  • Implement a "tiny kernel" code to boot a dual core virtualized system
  • Implement locking code
  • Run two userspace threads on the two cores in parallel.
  • Maybe also test on real hardware

Resources

  • https://pdos.csail.mit.edu/6.828/2018/readings/ia32/MPspec.pdf
  • https://linux-kernel-labs.github.io/refs/heads/master/lectures/smp.html
  • https://wiki.osdev.org/Symmetric_Multiprocessing
  • https://wiki.osdev.org/ [1]

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 20

Activity

  • almost 4 years ago: firoyang liked this project.
  • almost 4 years ago: dfaggioli liked this project.
  • almost 4 years ago: barendartchuk liked this project.
  • almost 4 years ago: osalvador liked this project.
  • almost 4 years ago: alix82 originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!