Skip to content

jatin69/mca405-AOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

mca405-AOS

Coursework for mca405 - Advance Operating Systems

Followed book is The Design of the UNIX Operating System - Maurice Bach. Notes can be found here.

Related project is Buffer Cache Simulation

Resources

About the Book

  • Title The Design of the UNIX Operating System
  • Author Maurice J. Bach
  • This is one of the books that Linus used to design Linux.
  • It is a description of the data structures used in the System V kernel.
  • Many of the names of the important functions in the Linux source come from this book, and are named after the algorithms presented here. For instance, if you can't quite figure out what exactly getblk(), brelse(), bread(), breada(), and bwrite() are, chapter 3 explains very well.
  • While most of the algorithms are similar or the same, a few differences are worth noting:
    • The Linux buffer cache is dynamically resized, so the algorithm for dealing with getting new buffers is a bit different. Therefore the above referenced explanation of getblk() is a little different than the getblk() in Linux.
    • Linux does not currently use streams, and if/when streams are implemented for Linux, they are likely to have somewhat different semantics.
    • The semantics and calling structure for device drivers is different. The concept is similar, and the chapter on device drivers is still worth reading, but for details on the device driver structures, the KHG is the proper reference.
    • The memory management algorithms are somewhat different.
  • There are other small differences as well, but a good understanding of this text will help you understand the Linux source.

About

Coursework for mca405-AOS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published