We may earn an affiliate commission when you visit our partners.
Course image
Patrick Ester and Chalece DeLaCoudray

Learn the inner workings of operating systems without installing anything!

Read more

Learn the inner workings of operating systems without installing anything!

This course is designed for learners who are looking to maximize performance by understanding how operating systems work at a fundamental level. The modules in this course cover input and output, directories, file systems, data integrity and protection, and distributed systems.

To allow for a truly hands-on, self-paced learning experience, this course is video-free. Assignments contain short explanations with images and runnable code examples with suggested edits to explore code examples further, building a deeper understanding by doing. You’ll benefit from instant feedback from a variety of assessment items along the way, gently progressing from quick understanding checks (multiple choice, fill in the blank, and un-scrambling code blocks) to slowly building features, resulting in large coding projects at the end of the course.

Enroll now

What's inside

Syllabus

Introduction
I/O & Directories
File Systems
Read more
Data Integrity & Protection
Distributed Systems

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores the inner workings of operating systems at a fundamental level, which is standard in the industry
Utilizes hands-on learning and assessment items to ensure deep understanding
Self-paced, video-free learning experience may be suitable for learners with busy schedules
Taught by Patrick Ester and Chalece DeLaCoudray, who are recognized for their work in operating systems
Covers key concepts including input and output, directories, file systems, data integrity, and distributed systems

Save this course

Save Intro to Operating Systems 4: Persistence to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Intro to Operating Systems 4: Persistence with these activities:
Organize Your Learning Resources
Organize your course materials, including lecture notes, assignments, and practice problems, to enhance your study and revision
Show steps
  • Create a dedicated folder or space for course materials
  • Sort and categorize your materials
  • Review and revise your materials regularly
  • Use tools for note-taking and organization
Review Programming Concepts
Refamiliarize yourself with programming fundamentals before class begins to enhance your understanding of systems
Browse courses on Input and Output
Show steps
  • Review basic programming syntax
  • Install Python or another programming language of your choice
  • Practice I/O operations
  • Experiment with different file formats
Build a Glossary of Operating System Terms
Create a glossary of key operating system terms to enhance your understanding and retention of concepts
Show steps
  • Identify essential operating system terms
  • Define each term clearly and concisely
  • Include examples or illustrations to enhance understanding
  • Review and update your glossary regularly
Four other activities
Expand to see all activities and additional details
Show all seven activities
Contribute to Open Source Projects
Get involved in real-world operating system development by contributing to open source projects
Browse courses on Linux Kernel
Show steps
  • Find open source projects in the operating systems domain
  • Identify areas where you can contribute
  • Submit bug reports or code improvements
  • Engage with the project community
Code Challenges
Challenge yourself with coding problems to solidify your understanding of core operating system concepts
Browse courses on File Handling
Show steps
  • Join an online coding platform
  • Solve problems related to file handling and data structures
  • Debug and optimize your code
  • Seek feedback from others or a mentor
Attend Operating System Workshops
Learn from experts and engage with peers at workshops focused on specific aspects of operating systems
Show steps
  • Research and find upcoming operating system workshops
  • Register for and attend the workshop
  • Take notes and participate actively
  • Connect with other attendees and experts
Build Your Own Operating System (Basic)
Gain hands-on experience by designing and building a simplified operating system
Browse courses on System Design
Show steps
  • Research basic OS architecture and components
  • Plan and design your OS
  • Implement core functionalities such as memory management
  • Debug and test your OS
  • Share your OS with others for feedback

Career center

Learners who complete Intro to Operating Systems 4: Persistence will develop knowledge and skills that may be useful to these careers:
Data Scientist
A Data Scientist is responsible for using data to solve business problems. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in using data to solve business problems effectively.
Machine Learning Engineer
A Machine Learning Engineer is responsible for developing and maintaining machine learning models. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in developing and maintaining machine learning models effectively.
Database Administrator
A Database Administrator is responsible for managing an organization's databases. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in managing databases effectively.
Web Developer
A Web Developer is responsible for designing, developing, and maintaining websites. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in designing, developing, and maintaining websites effectively.
Network Administrator
A Network Administrator is responsible for managing an organization's computer networks. This course may be useful in helping you gain a better understanding of the inner workings of operating systems and how they interact with networks, which would be helpful in managing computer networks effectively.
Information Security Analyst
An Information Security Analyst is responsible for protecting an organization's information systems from unauthorized access, use, disclosure, disruption, modification, or destruction. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in protecting information systems effectively.
IT Manager
An IT Manager is responsible for managing an organization's IT infrastructure. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in managing IT infrastructure effectively.
Robotics Engineer
A Robotics Engineer is responsible for designing, developing, and maintaining robots. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in designing, developing, and maintaining robots effectively.
Security Engineer
A Security Engineer is responsible for designing, implementing, and maintaining an organization's security systems. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in designing, implementing, and maintaining security systems effectively.
Systems Administrator
A Systems Administrator is a professional responsible for administering and maintaining an organization's computer systems and networks. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in managing computer systems and networks effectively.
Software Developer
A Software Developer is responsible for designing, developing, and maintaining software applications. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in designing, developing, and maintaining software applications effectively.
Computer Programmer
A Computer Programmer is responsible for writing and maintaining computer programs. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in writing and maintaining computer programs effectively.
Artificial Intelligence Engineer
An Artificial Intelligence Engineer is responsible for designing, developing, and maintaining artificial intelligence systems. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in designing, developing, and maintaining artificial intelligence systems effectively.
Chief Technology Officer
A Chief Technology Officer is responsible for an organization's technology strategy. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in developing and implementing an effective technology strategy.
Autonomous Vehicle Engineer
An Autonomous Vehicle Engineer is responsible for designing, developing, and maintaining autonomous vehicles. This course may be useful in helping you build the foundation necessary to understand the inner workings of operating systems, which would be helpful in designing, developing, and maintaining autonomous vehicles effectively.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Intro to Operating Systems 4: Persistence.
This comprehensive textbook provides a deep dive into the fundamental concepts and principles of operating systems. It covers a wide range of topics, including I/O management, file systems, process scheduling, memory management, and security.
This renowned textbook offers a comprehensive overview of modern operating systems, focusing on the concepts and design principles behind them. It explores topics such as concurrency, virtual memory, file systems, and distributed systems.
This classic textbook provides a comprehensive overview of computer systems from a programmer's perspective. It covers topics such as computer architecture, operating systems, and networking, with a focus on practical applications.
This specialized book focuses specifically on file systems for Microsoft Windows operating systems. It provides in-depth coverage of topics such as file system structures, data integrity, and performance optimization.
This comprehensive textbook provides a thorough understanding of distributed systems, covering topics such as distributed communication, fault tolerance, and consistency. It valuable resource for anyone interested in designing and implementing distributed systems.
This concise and practical guide provides an in-depth look at the Linux kernel, covering topics such as process management, memory management, and device drivers. It valuable resource for anyone interested in understanding the internals of the Linux operating system.
This textbook provides a comprehensive overview of operating systems principles and practices. It covers topics such as concurrency, scheduling, memory management, file systems, and security, with a focus on real-world applications.
This classic work provides a comprehensive guide to the UNIX operating system, covering topics such as shell scripting, file manipulation, and system administration. It valuable resource for anyone interested in understanding and using UNIX-based operating systems.
This accessible and practical book provides a thorough introduction to semaphores, a fundamental concept in operating systems and concurrent programming. It valuable resource for anyone interested in understanding and using semaphores to solve real-world problems.
Provides a comprehensive overview of the Rust programming language, which is becoming increasingly popular for systems programming. It covers topics such as memory management, concurrency, and unsafe code, with a focus on practical applications.
Provides a comprehensive overview of the Go programming language, which is known for its concurrency and simplicity. It covers topics such as concurrency, channels, and web programming, with a focus on real-world applications.
This classic work provides a comprehensive guide to advanced programming in the UNIX environment. It covers topics such as file system internals, network programming, and system administration, with a focus on practical applications.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser