Location>code7788 >text

Operating System Learning Roadmap

Popularity:661 ℃/2024-09-27 10:21:01
basic level
Objective: To understand the basic concepts, functions, and main features of operating systems as well as the characteristics of different types of operating systems, and to familiarize with the development history of operating systems.
Learning content: Definition, role, and basic components of operating system; basic concepts of process, thread, memory management, file system, etc.; simple introduction and comparison of common operating systems (e.g., Windows, Linux, Unix, etc.).
Featured Site:
StudyTonight(/operating-system/ ): The course is clearly categorized from easy to difficult into basic, intermediate, and improvement, with detailed explanations of the basic concepts of operating systems, and many simple descriptions and pictures to aid in understanding.
Catechism (https:/// ): There are many basic operating system courses taught by college instructors that are of high quality, such as Principles of Operating Systems and other courses that can help you build a good foundation. Some of the courses are free, and some require payment to learn.
Zhihu - Operating System Topics (/topic/19552780 ): There are a lot of operating system-related discussions, experience sharing and questions and answers here, which can help you deepen your understanding of the basic concepts of operating system, and also learn about some difficulties and solutions you may encounter in the learning process.
Jane's Book (/search?q=OS&page=1&type=note ): There are a lot of operating system study notes, tips and summaries shared by users, you can find related articles by searching "operating system" and get inspired by other people's study experience.
Theoretical in-depth phase
Goal: In-depth study of the core theory of operating systems, including the principles and algorithms of various modules such as process management, thread management, memory management, file management, and I/O management.
Learning content: process state transition, process scheduling algorithms, thread implementation; memory allocation algorithms, virtual memory technology; file system structure, file storage and access; I/O control methods, device management.
Featured Site:
Tutorialspoint(/operating_system/ ): Provides a wealth of theoretical knowledge of operating systems tutorials, the explanation of each knowledge point is more systematic, and there are many examples to help understand, suitable for in-depth study of the theory of operating systems.
NPTEL(/courses/106/102/106102057/ ): India's National Enhanced Learning Program website has detailed course explanations on operating systems, which range from an overview of operating systems to each specific module, and supports free downloadable PDF versions of each chapter.
ClassCentral(/search?q=operating+system ):Summarize the operating system courses of major universities, you can find relevant courses of universities like Nanjing University, etc. The courses are unfolded in the form of videos, and support making notes and downloading courses after registration.
OS Chinese (/ ): Chinese learning website focusing on operating systems, with a large number of operating system principles, technical articles and learning resources, and more detailed interpretation and analysis of some complex theories.
practical phase
Objective: To deepen the understanding and mastery of operating system principles and improve the ability to solve practical problems through practical operation and programming practice.
Learning content: operation practice on Linux or Windows system, such as process management, file operation, memory view, etc.; learning operating system related programming, such as using system calls for file reading and writing, process creation, etc.; analyzing operating system source code (such as Linux kernel source code).
Featured Site:
Linux kernel documentation (/doc/ ): If you want to learn about the Linux operating system in depth, this site is a very important resource that provides detailed documentation and descriptions of the Linux kernel to help you understand how the Linux kernel works and the mechanisms that implement it.
GitHub(/showcases/open-source-operating-systems ): There are many open source operating system projects that you can get involved in to learn from other people's code and design, or you can do it yourself and submit code to contribute.
Linux Technical Reference (/reference/ ): Provides technical references and practical guides to the Linux operating system, including how to compile the kernel, how to perform system debugging, and other aspects of the Linux system is very helpful for practical learning.
OSDev Wiki (/Main_Page ): a community site focused on operating system development with lots of tutorials, guides, and discussions on operating system development, where you can learn how to write a simple operating system from scratch.
Comprehensive upgrading phase
Objective: To synthesize and apply knowledge of operating systems to solve complex system problems, and to understand cutting-edge technologies and trends in operating systems.
Learning content: learn advanced topics such as performance optimization of operating systems, system security, distributed operating systems; focus on the latest research results and technical developments in the field of operating systems.
Featured Site:
ScienceDirect(/ ): This is a well-known academic database with many academic papers and research reports on operating systems, which can help you understand the cutting-edge research and latest technologies in the field of operating systems.
ACM Digital Library(/ ): the digital library of the ACM contains a large number of scholarly resources in the field of computer science, which also contains many papers and research results related to operating systems.
InfoQ(/ ): Provides information and articles in various technical fields, including the latest technology trends in operating systems, industry application cases, etc., to help you keep your attention and understanding of the operating system field.
Bilibili(/ ): There are a lot of operating system-related video tutorials and practical experience shared by technical bloggers, such as some real-world case studies on operating system performance optimization and system security, which can be used as a reference for learning.