Skip to main content

Operating Systems

Study sheet

Operating systems manage computer hardware and provide services for execution of software. You will understand process scheduling, memory management, file systems, and concurrency, enabling you to write software that interacts efficiently with the underlying system.

26 resources

Level
Type

🎓Courses(11)

scroll for more →
course👁️ 0

Nand2Tetris Part II

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform. In the process, you will gain a deep, hands-on understanding of numerous topics in applied computer science, e.g. stack processing, parsing, code generation, and classical algorithms and data structures for memory management, vector graphics, input-output handling, and various other topics that lie at the very core of every modern computer system. This is a self-contained course: all the knowledge necessary to succeed in the course and build the various systems will be given as part of the learning experience. The only prerequisite is knowledge of programming at the level acquired in introduction to computer science courses. All the software tools and materials that are necessary to complete the course will be supplied freely after you enrol in the course. This course is accompanied by the textbook "The Elements of Computing Systems" (Nisan and Schocken, MIT Press). While not required for taking the course, the book provides a convenient coverage of all the course topics. The book is available in either hardcopy or ebook form, and MIT Press is offering a 30% discount off the cover price by using the discount code MNTT30 at https://mitpress.mit.edu/books/elements-computing-systems. The course consists of six modules, each comprising a series of video lectures, and a project. You will need about 2-3 hours to watch each module's lectures, and about 15 hours to complete each one of the six projects. The course can be completed in six weeks, but you are welcome to take it at your own pace. You can watch a TED talk about this course by Googling "nand2tetris TED talk". *About Project-Centered Courses: Project-centered courses are designed to help you complete a personally meaningful real-world project, with your instructor and a community of learners with similar goals providing guidance and suggestions along the way. By actively applying new concepts as you learn, you’ll master the course content more efficiently; you’ll also get a head start on using the skills you gain to make positive changes in your life and career. When you complete the course, you’ll have a finished project that you’ll be proud to use and share.

beginner🇬🇧
course👁️ 0

Operating Systems

Master the core principles and advanced mechanisms of operating systems in this comprehensive course that bridges theory with practical implementation. Explore how modern operating systems manage hardware resources, handle concurrent processes, and provide secure, efficient computing environments. Through hands-on exercises and real-world examples, you'll gain proficiency in process management, memory allocation techniques, synchronization mechanisms, and file system operations. This industry-relevant curriculum prepares you to optimize system performance, troubleshoot complex OS issues, and design robust software solutions—essential skills for roles in software development, system administration, and IT infrastructure management. This course is designed for computer science students, software developers, IT professionals, and anyone who wants to understand how modern computing systems function at a fundamental level. The course offers video lectures from expert instructors, essential readings, practical assignments, self-assessment quizzes, and hands-on lab activities, creating a comprehensive learning experience that balances theory with application. Skills covered - Process and thread management - Memory allocation and virtual memory implementation - Deadlock prevention and resolution - CPU scheduling optimization - System call implementation and utilization - Inter-process communication techniques - Linux command line proficiency

beginner🇬🇧

🌐Websites(9)

scroll for more →

Frequently Asked Questions

What are the best free resources to learn Operating Systems?

Dantes has curated 26 resources for Operating Systems, including 5 books, 11 courses, 9 websites, 1 podcasts. All resources are hand-picked for quality — no algorithmic filler. Browse the full list above to find the format that works best for you.

Is Operating Systems hard to learn?

Operating Systems is approachable at the beginner level — there are resources here specifically for those starting from scratch. As you progress, intermediate and advanced material is also available to take your skills further.

What types of Operating Systems learning resources are available on Dantes?

For Operating Systems, Dantes has curated 5 books, 11 courses, 9 websites, 1 podcasts. Each resource type serves a different learning style: videos and YouTube for visual learners, books for depth, courses for structured progression, and websites for quick reference.

How does Dantes select Operating Systems resources?

Dantes is an algorithm-free learning directory. Resources are hand-curated based on quality, accuracy, and usefulness — not engagement metrics or paid placements. The goal is to surface the best learning material for Operating Systems, whether it's a free YouTube series, a classic textbook, or an open courseware from a top university.

Go deeper

Test your understanding of Operating Systems

Explain it out loud. An AI tutor listens and asks questions that expose gaps you didn't know you had.