Operating System Principles 8th Edition

0 views
Skip to first unread message

Luz Tonks

unread,
Aug 5, 2024, 1:37:09 PM8/5/24
to unbioboword
Welcometo Operating Systems: Three Easy Pieces (now version 1.10 -- seebook news for details), a free online operating systemsbook! The book is centered around three conceptual pieces that arefundamental to operating systems: virtualization, concurrency, and persistence. In understanding the conceptual, you will also learn thepractical, including how an operating system does things like schedule theCPU, manage memory, and store files persistently. Lots of fun stuff! Ormaybe not so fun?

INSTRUCTORS: If you are using these free chapters, please just link tothem directly (instead of making a copy locally); we make little improvementsfrequently and thus would like to provide the latest to whomever is using it.Also: we have made our own class-preparation notes available to those of youteaching from this book; please drop us a line at ostep...@gmail.com if youare interested.


PROJECTS: While the book should provide a good conceptual guide to keyaspects of modern operating systems, no education is complete withoutprojects. We are in the process of making the projects we use at theUniversity of Wisconsin-Madison widely available; an initial link to projectdescriptions is available here:PROJECTS. Comingsoon: the automated testing framework that we use to grade projects.


OTHER SYSTEMS BOOKS: Interested in other systems books? Good!Of course, we assume some background in The C Programming Language, so that's a good investment. And Advanced Programming in the UNIX Environment is a must for any shelf. On top of that, here are some OS books that could be worth your time:Operating Systems: Principles and Practice-Operating System Concepts-Operating Systems: Internals and Design Principles (8th Edition)-Modern Operating Systems (4th Edition)-Linux Kernel Development (3rd Edition)-Understanding the Linux Kernel-The Design and Implementation of the FreeBSD Operating System-Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture-Mac OS X Internals: A Systems Approach-The Design of the UNIX Operating System-UNIX: The Textbook-The Linux Programming Interface: A Linux and UNIX System Programming Handbook.


OTHER BOOKS: So you're looking down here? Well, how about reading something other than tech books all day long? Honestly, you need to be more balanced. Here are some awesome books you should most definitely read. Fiction:Cloud Atlas: A Novel-Life of Pi-A Prayer for Owen Meany: A Novel-All the Light We Cannot See-The Book Thief-The Fault in Our Stars-Tenth of December: Stories-If I Don't Six-A Game of Thrones-To Kill a Mockingbird-The Kite Runner-Ender's Game-Foundation-Slaughterhouse-Five-The Shadow of the Wind-Flowers for Algernon-Holes-Atonement-The Name of the Wind-Beloved-For Whom the Bell Tolls-Different Seasons-Neuromancer-Snow Crash-Cryptonomicon-Shantaram-A Room with a View-Jude the Obscure-Illusions: The Adventures of a Reluctant Messiah-A Canticle for Leibowitz-A Wizard of Earthsea-Black Swan Green-The Stars My Destination-Ancillary Justice-My Brilliant Friend-Crossing to Safety-Possession-The Selected Works of T.S. Spivet-Essential Ellison-The Demolished Man- The Nightingale- The Overstory- The Windup Girl- The Water KnifeNon-fiction:Seabiscuit: An American Legend-Unbroken-Surely You're Joking, Mr. Feynman!-On Intelligence-The Language Instinct-Flow-Guns, Germs, and Steel-The Selfish Gene-A Heartbreaking Work of Staggering Genius-Lies My Teacher Told Me-Freakonomics-How the Irish Saved Civilization-Cod-The Devil in the White City-The Swerve: How the World Became Modern-The Drunkard's Walk-The Visual Display of Quantitative Information-Eats, Shoots & Leaves-The Elements of Style-The Design of Everyday Things-Mountains Beyond Mountains-The Soul of A New Machine-Alan Turing: The Enigma-Consider the Lobster-The Vintage Guide to Classical Music


ACKS: The authors wish to acknowledge all the sources offunding for their research over the years. In particular, the authorsappreciate the strong support from the National Science Foundation (NSF), which is an essential part of themodern research and educational infrastructure of the USA.


Operating Systems: Principles and Practice is a textbook for a first course in undergraduate operating systems. In use at dozens of top tier universities, and written by two leading operating systems researchers with decades of experience successfully teaching complex topics to thousands of students, this textbook provides:


We provide a concrete methodology for writing correct concurrent programs that is in widespread use in industry, and we explain the mechanisms for context switching and synchronization from fundamental concepts down to assembly code.


The tenth edition of Operating System Concepts has been revised to keep it fresh and up-to-date with contemporary examples of how operating systems function, as well as enhanced interactive elements to improve learning and the student's experience with the material. It combines instruction on concepts with real-world applications so that students can understand the practical usage of the content. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts. New interactive self-assessment problems are provided throughout the text to help students monitor their level of understanding and progress. A Linux virtual machine (including C and Java source code and development tools) allows students to complete programming exercises that help them engage further with the material.


CSE 30341 is the one of the core classes in the Computer Science andEngineering program at the University of Notre Dame. This courseintroduces all aspects of modern operating systems. Topics include processstructure and synchronization, interprocess communication, memorymanagement, file systems, security, I/O, and distributed files systems.


Any academic misconduct in this course is considered a serious offense, and the strongest possible academic penalties will be pursued for such behavior. Students may discuss high-level ideas with other students, but at the time of implementation (i.e. programming), each person must do his/her own work. Use of the Internet as a reference is allowed but directly copying code or other information is cheating. It is cheating to copy, to allow another person to copy, all or part of an exam or a assignment, or to fake program output. It is also a violation of the Undergraduate Academic Code of Honor to observe and then fail to report academic dishonesty. You are responsible for the security and integrity of your own work.


Otherwise, there is a penalty of 25% per day late (except where noted). You may submit some parts of an assignment on time and some parts late. Each submission must clearly state which parts it contains; no part can be submitted more than once.


Any student who has a documented disability and is registered with Disability Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact the Office of Disabilities.


For the assignments in this class, you may discuss with other students and consult printed and online resources. You may quote from books and online sources as long as you cite them properly. However, you may not look at another student's solution, and you may not look at solutions.


Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.


We used Andrew Tannenbaum's Modern Operating Systems at the university I attended. I highly recommend it for it's clear explanations of the tradeoffs inherent in many of the design decisions that you'll run up against. This book is a little bit more "fair and balanced" than the Minix book.


I also recommend this book because, despite his net-famous flame war with Linus Torvalds, few of his biases come through in the book. Also, he's a pretty decent writer, and the book is actually entertaining.


This book is written by Tanenbaum, the main guy behind Minix, which is what Linux was based on. It provides good overviews for basic OS concepts like memory management, file systems, processes, etc. The concepts in this book book are intimately tied to examples of the Minix OS, which is a good thing.


Operating System Concepts is the book we used at University. It's quite ugly BUT the information inside are well explain (from basic memory management, to how to OS decide what to execute or how to avoid deadlock). Pretty wide.


HelenOS has been ported to ia32/64, SPARC, ARM and more, its very well designed and easy to read. Its still in its infancy but shows one possible design that really takes advantage of the microkernel design and solves many issues in a microkernel implementation (such as IPC).


I'd highly recommend taking a look at the MIT Operating Systems class. It's got lots of useful references, and a bunch of lab exercises which you can play around with (including automated grading scripts, so you don't have to be an MIT student to do them).


Developing Your Own 32-Bit Operating System by Richard A. Burgess. Went into great details about boot loaders, setting up those strange memory and process management registers, etc. It was a great read back in 1996 when i thought i'd take a crack at writing a simple OS from scratch, but may be dated by now, dealing only with the first few generations of Pentium-class CPUs.


If I remember correctly, the Powerup to Bash Prompt HOWTO contained a lot of information that looked like it would be useful for this. So did older versions of the Linux From Scratch HOWTO, but in recent versions that has been removed.


You should look into MINIX 3. This is an operating system that was written in, I believe, less than 10,000 lines. You can get a very good idea of how an OS works with the aid of one of Tanenbaum's books and understanding how MINIX 3 works. You could go straight to Linux, but I think this is a useful task and really helps you see how it really doesn't take that many lines to build a working OS.

3a8082e126
Reply all
Reply to author
Forward
0 new messages