5 ms·
Think OS: A Brief Introduction to Operating Systems
- hardwaresofton 10y agoFor those looking for a bottom-up approach to learning what OSes do: https://www.bottomupcs.com/ https://www.bottomupcs.com/ Pretty great resource, read through it just recently, and while it had some unfinished sections, it was just what I need to answer definitively a question like "How do threads work on linux", with excruciating detail.
- prando 10y agoTry this too: http://pages.cs.wisc.edu/~remzi/OSTEP/ http://pages.cs.wisc.edu/~remzi/OSTEP/. OS - Three Easy Pieces. It has the right mix of text and relevant code to drive down the concepts.
- HeavenBanned 10y agoThe author mentions that OSs are primarily written in C and that first-time students being exposed to this advanced-level course are generally versed in Python. I understand that C is lower-level and can communicate with the hardware better (or something to that effect?) but honestly, why can't a student make an operating system in Python? Python is so intuitive and such a pleasure to write in. And if not Python then why not write an OS in C++? I am learning C++ as we speak and already it seems like I've been de-shackled from the limitations of the worst parts of C. And furthermore, if closeness to hardware is prized, why not just teach Assembly at that point? I'm really failing to understand why some languages are preferred over others when really you would assume said language (Python) ...although a scripting language... could do everything C does and much more elegantly.
- athyuttamre 10y agoI love Allen Downey's books. His "How to Think Like a Computer Scientist" was the first CS book I used in high school, and it has given me the strongest fundamentals I could ever ask for. I'm a college student now taking OS, so hoping this will be a good complement to my education.
- itsmemattchung 10y agoHow does this book compare with "Operating System Concepts" (aka the dinosaur book) ? I've read neither, but plan on teaching myself more about OS—after I complete "Elements of Computing" and "Computer Systems: A programmer's perspective." (hopefully in the next six months)
- truth_sentinell 10y agoIt takes you 6 months to read two books?
- brunoluiz 10y agoThese are not books that you read as leisure, so probably one can't read it continuously. And I would recommend to have a personal project (or maybe one borrowed from another person) to test the concepts as you read. As people have social life and work, this 6 months time span seems acceptable. About the books: I can't say about these two books because I learned it through a Brazilian book and I was applying it directly at my job (so I had to learn it faster).
- wolfgke 10y ago> These are not books that you read as leisure Depends on the person. :-)
- truth_sentinell 10y agoI understand one has a job and stuff to do, but 6 months is 4320 hours. Let's say you waste 10 hours a day commuting and in your job, that's 1200 hours in 6 months. You have 3120 hours left to sleep and do whatever you want to do (obviously you have to factor out bed time), unless you have two jobs or children to raise, I think that's enough time to read at least six good size books. I myself am a book junkie, and I always make time everyday to read, because there are so many things to learn! Mais assim não da.
- deathgrindfreak 10y ago
- Const-me 10y agoThe very first page says “compiled languages are usually limited to static types.” It’s good authors of Objective-C or C# didn’t get the memo.
- digi_owl 10y ago"usually"...
- rkrzr 10y agoAs a comprehensive textbook on operating systems I would recommend reading "Modern Operating Systems" by Andrew S. Tanenbaum. Yes, it's almost a 1000 pages, but it's written very accessibly and understandably.
- wolfgke 10y agoMy personal recommendation concerning OS development is xv6: https://pdos.csail.mit.edu/6.828/2016/xv6.html https://pdos.csail.mit.edu/6.828/2016/xv6.html Printout of important parts of the source code: https://pdos.csail.mit.edu/6.828/2016/xv6/xv6-rev9.pdf https://pdos.csail.mit.edu/6.828/2016/xv6/xv6-rev9.pdf Book: https://pdos.csail.mit.edu/6.828/2016/xv6/book-rev9.pdf https://pdos.csail.mit.edu/6.828/2016/xv6/book-rev9.pdf (both are linked in the menu at the top of the page) Review by John Regehr: http://blog.regehr.org/archives/1114 http://blog.regehr.org/archives/1114 (Github Repositories: > https://github.com/mit-pdos/xv6-public https://github.com/mit-pdos/xv6-public > https://github.com/mit-pdos/xv6-book https://github.com/mit-pdos/xv6-book).
- stevekemp 10y agoThanks for the pointer. I just spent 30 minutes moving the binaries into `/bin`, in the generated filesystem, then making the shell find them via a PATH-search. Made me appreciate some of this stuff all over again.
- secfirstmd 10y agoThanks for all these links and tips. Just starting a course on this myself!
- dragthor 10y agoThanks for posting. Their other books look interesting too.
- timClicks 10y agoLittle Book of Semaphores is extremely good.
- zenlot 10y agoMy personal favorite still is: Operating Systems Design and Implementation, by Andrew S Tanenbaum.