Hello all. I am a computer science major tasked with writing a 15 page paper about the technical workings of Ubuntu. What I am searching for is not information directly, but rather resources (white papers, technical documentation) about the specifics to Ubuntu. More specifically, I am looking for:
The design principles underlying Ubuntu
Elements of process management (process control, synchronization, concurrency, etc)
Memory management (overylays, partitions, virtual memory, thrashing, etc)
Scheduling (deadlock handling, algorithm)
I/O functions handling
Advantages and disadvantages of Ubuntu
Distributed and or virtual capabilities of Ubuntu
Again, before you start thrashing me, I am not looking for you to write my paper, I am just asking for a few resources that are Ubuntu specific. I understand it is built off the Linux kernel, so much of the above can be answered through a discussion of Linux (memory management, scheduling, process management), however I am only looking for things that are specific to Ubuntu (ie if Ubuntu implements a different scheduler than the Linux completely fair scheduler). For instance if Ubuntu and Red Hat handle deadlocks the same (they do, as in they pretend that deadlocks don't occur at all), then I don't care, because it is common through the Linux kernel.
I have tried looking through the documentation, and through a few forums, but haven't found much useful information. It is very possible that I have skipped right over it, which is why I'm turning to you. Even if you have a search suggestion, or a place for me to dig, I would appreciate that.
Thanks for your help,