How to make a (single threaded) XV6 Kernel a multi-threaded one?

view story

http://stackoverflow.com – I am supposed to make a single threaded kernel (named XV6) a multi-threaded one. I found these information by Googling: 1) Implementing the clone(...) system call 2)Configuring clone(...) to create a process with the same memory space as its parent process. 3)Adding some basic thread functionalities (like terminate, join, create,...) I need more detailed explanation on where to start and which files should be touched for changing. Like which keywords should I grep for understanding the behavior in order to be able to make it a multi-threaded kernel? I have to mention that I am familiar wi (HowTos)