_2025-04-20_15:30:19_ | 2025-04-20 15:30:19 | 6.S081 _ Fall 2021 | 原文链接失效了?试试备份 | TAGs:处理器 risc-v 操作系统 | Summary: This text provides a schedule for the MIT 6.S081: Operating System Engineering course, including lecture topics, preparation assignments, and homework due dates. The course covers various aspects of operating systems, such as system calls, page tables, scheduling, file systems, and virtual memory. Students are expected to attend lectures, read assigned materials, and complete homework assignments. The schedule also includes some holidays and breaks throughout the semester.本文提供了 MIT 6.S081:作系统工程课程的时间表,包括讲座主题、准备作业和家庭作业截止日期。该课程涵盖作系统的各个方面,例如系统调用、页表、调度、文件系统和虚拟内存。学生需要参加讲座、阅读指定的材料并完成家庭作业。该时间表还包括整个学期的一些假期和休息时间。 | |
_2025-04-20_15:22:48_ | 2025-04-20 15:22:48 | MIT 6.S081_ Operating System Engineering - CS自学指南 | 原文链接失效了?试试备份 | TAGs:处理器 risc-v 操作系统 | Summary: This is an introduction to MIT 6.S081: Operating System Engineering, a course offered at the Massachusetts Institute of Technology (MIT). The course is taught by professors who developed the operating system JOS and have now created a new one called xv6 based on RISC-V. The course requires a solid foundation in system architecture, C language, and RISC-V assembly language. The course material is primarily in C and RISC-V, and its difficulty level is rated as five stars. The estimated study time is 150 hours. | |
|
|
|
_2025-04-28_20:19:09_ | 2025-04-28 20:19:09 | 向 Linux 内核社区提交 patch 实操要点 - 魅族内核团队 | 原文链接失效了?试试备份 | TAGs:操作系统 linux Contribute | Summary: This text outlines the steps to submit a patch to the Linux kernel community using Git and git send-emails. The process includes installing Git and git-send-emails, configuring Git and SMTP, downloading Linux kernel code, creating and formatting patches, checking patch format, and sending patches to the appropriate maintainers. The text also mentions the importance of following the community's guidelines, such as using bottom-posting in emails and avoiding top-posting. The text concludes by mentioning the importance of seeking feedback and learning from others in the Linux community.本文概述了使用 Git 和 git send-emails 向 Linux 内核社区提交补丁的步骤。该过程包括安装 Git 和 git-send-emails、配置 Git 和 SMTP、下载 Linux 内核代码、创建和格式化补丁、检查补丁格式以及将补丁发送给相应的维护人员。文本还提到了遵循社区准则的重要性,例如在电子邮件中使用 bottom-posting 和避免 top-posting。本文最后提到了寻求反馈和向 Linux 社区中的其他人学习的重要性。 | |
_2024_8_1_14_34_49_ | 2024_8_1 14_34_49 | 迈出为Linux贡献的第一步 | 原文链接失效了?试试备份 | TAGs:操作系统 linux Contribute | saved date: Thu Aug 01 2024 14:34:49 GMT+0800 (中国标准时间) | |
|
_2025-03-24_10:07:02_ | 2025-03-24 10:07:02 | Linux 内核文档 — Linux 内核文档 - Linux 内核 | 原文链接失效了?试试备份 | TAGs:操作系统 linux | Summary: This page is the top-level of the Linux kernel documentation tree. It includes various manuals for developers and users, covering topics such as development processes, API usage, testing, and user space tools. The documentation is constantly improving and welcomes contributions. The page also provides links to documentation specific to various CPU architectures and other miscellaneous documents. Some documents may need to be translated or adapted to the reStructuredText format.此页面是 Linux 内核文档树的顶层。它包括面向开发人员和用户的各种手册,涵盖开发流程、API 使用、测试和用户空间工具等主题。文档不断改进,欢迎贡献。该页面还提供了指向特定于各种 CPU 体系结构的文档和其他杂项文档的链接。某些文档可能需要翻译或调整为 reStructuredText 格式。 | |
_2025-04-29_15:53:50_ | 2025-04-29 15:53:50 | Welcome to Linux From Scratch! | 原文链接失效了?试试备份 | TAGs:操作系统 linux | Summary: The page provides options to read the Linux From Scratch (LFS) manual in various stable and development versions, each with their respective correction pages and security notices. Linux From Scratch is a well-known Linux distribution project where users build their systems from source code, providing a deeper understanding of the system and customization options.该页面提供了阅读各种稳定版和开发版的 Linux From Scratch (LFS) 手册的选项,每个版本都有各自的更正页面和安全通知。Linux From Scratch 是一个著名的 Linux 分发项目,用户可以从源代码构建他们的系统,从而更深入地了解系统和自定义选项。 | |
_linux_操作系统_ | linux 操作系统 | | 原文链接失效了?试试备份 | TAGs:操作系统 linux | saved date: Tue Dec 17 2024 14:17:26 GMT+0800 (中国标准时间) | |
|
|
|
|
_2025-03-29_23:58:36_ | 2025-03-29 23:58:36 | Linux内核函数wait_for_random_bytes详解 - DeepSeek - 探索未至之境 | 原文链接失效了?试试备份 | TAGs:操作系统 linux random | Summary: The Linux kernel function `wait_for_random_bytes` is used to ensure that the random number generator (RNG) in the Linux kernel is ready and has sufficient entropy before continuing execution in situations where secure random numbers are required, such as encryption operations or key generation. The function blocks the current thread until the RNG has completed initialization and has an adequate amount of entropy. It is particularly important during system startup or when the entropy pool has not yet accumulated sufficient random data. By using `wait_for_random_bytes`, developers can prevent the generation of weak random numbers, which could lead to security vulnerabilities. The function works by checking if the RNG is ready using the `crng_ready()` function. If the RNG is not yet initialized, the function blocks the current thread and adds it to the `crng_init_wait` queue, waiting until the RNG is ready to continue execution. The function can be used in various contexts, such as in driver initialization or in generating secure tokens. It is essential to note that the function should only be used in contexts where sleeping is allowed, as it may call functions that cause the system to sleep, such as `wait_event`. Additionally, the function can have performance implications, especially during system startup when the entropy pool may take a long time to initialize. Alternative solutions include using non-blocking functions or actively adding entropy sources to the pool. Related functions include `get_random_bytes`, `add_hwgenerator_randomness`, and `urandom_read`.Linux 内核函数 'wait_for_random_bytes' 用于确保 Linux 内核中的随机数生成器 (RNG) 已准备就绪并具有足够的熵,然后才能在需要安全随机数的情况下继续执行,例如加密作或密钥生成。该函数会阻止当前线程,直到 RNG 完成初始化并具有足够的熵量。在系统启动期间或熵池尚未积累足够的随机数据时,这一点尤为重要。通过使用 'wait_for_random_bytes',开发人员可以防止产生弱随机数,这可能会导致安全漏洞。该函数通过使用 'crng_ready()' 函数检查 RNG 是否准备就绪来工作。如果 RNG 尚未初始化,该函数会阻止当前线程并将其添加到 'crng_init_wait' 队列中,等待 RNG 准备好继续执行。该函数可用于各种上下文,例如驱动程序初始化或生成安全令牌。需要注意的是,该函数只应在允许休眠的上下文中使用,因为它可能会调用导致系统休眠的函数,例如 'wait_event'。此外,该函数可能会对性能产生影响,尤其是在系统启动期间,此时熵池可能需要很长时间才能初始化。替代解决方案包括使用非阻塞函数或主动向池中添加熵源。相关函数包括 'get_random_bytes'、'add_hwgenerator_randomness' 和 'urandom_read'。 | |
_2025-03-30_13:19:19_ | 2025-03-30 13:19:19 | Linux内核函数wait_for_random_bytes详解 - DeepSeek - 探索未至之境 | 原文链接失效了?试试备份 | TAGs:操作系统 linux random | Summary: The `wait_for_random_bytes` function in the Linux kernel is used to ensure that the random number generator (RNG) is ready and has sufficient entropy before generating secure random numbers. The function blocks the caller until the RNG is initialized and has enough entropy. | |
_2025-03-30_21:47:41_ | 2025-03-30 21:47:41 | Linux内核函数wait_for_random_bytes详解 - DeepSeek - 探索未至之境 | 原文链接失效了?试试备份 | TAGs:操作系统 linux random | Summary: The Linux kernel function `wait_for_random_bytes` is used to ensure that the random number generator (RNG) in the Linux kernel is ready and has sufficient entropy before continuing execution in situations where secure random numbers are required, such as encryption operations or key generation. The function blocks the current thread until the RNG has completed initialization and has an adequate amount of entropy. It is particularly important during system startup or when the entropy pool has not yet accumulated sufficient random data. By using `wait_for_random_bytes`, developers can prevent the generation of weak random numbers, which could lead to security vulnerabilities. The function works by checking if the RNG is ready using the `crng_ready()` function. If the RNG is not yet initialized, the function blocks the current thread and adds it to the `crng_init_wait` queue, waiting until the RNG is ready to continue execution. The function can be used in various contexts, such as in driver initialization or in generating secure tokens. It is essential to note that the function should only be used in contexts where sleeping is allowed, as it may call functions that cause the system to sleep, such as `wait_event`. Additionally, the function can have performance implications, especially during system startup when the entropy pool may take a long time to initialize. Alternative solutions include using non-blocking functions or actively adding entropy sources to the pool. Related functions include `get_random_bytes`, `add_hwgenerator_randomness`, and `urandom_read`.Linux 内核函数 'wait_for_random_bytes' 用于确保 Linux 内核中的随机数生成器 (RNG) 已准备就绪并具有足够的熵,然后才能在需要安全随机数的情况下继续执行,例如加密作或密钥生成。该函数会阻止当前线程,直到 RNG 完成初始化并具有足够的熵量。在系统启动期间或熵池尚未积累足够的随机数据时,这一点尤为重要。通过使用 'wait_for_random_bytes',开发人员可以防止产生弱随机数,这可能会导致安全漏洞。该函数通过使用 'crng_ready()' 函数检查 RNG 是否准备就绪来工作。如果 RNG 尚未初始化,该函数会阻止当前线程并将其添加到 'crng_init_wait' 队列中,等待 RNG 准备好继续执行。该函数可用于各种上下文,例如驱动程序初始化或生成安全令牌。需要注意的是,该函数只应在允许休眠的上下文中使用,因为它可能会调用导致系统休眠的函数,例如 'wait_event'。此外,该函数可能会对性能产生影响,尤其是在系统启动期间,此时熵池可能需要很长时间才能初始化。替代解决方案包括使用非阻塞函数或主动向池中添加熵源。相关函数包括 'get_random_bytes'、'add_hwgenerator_randomness' 和 'urandom_read'。 | |
_2025-03-30_13:46:50_ | 2025-03-30 13:46:50 | Linux系统启动时的getrandom随机数系统调用阻塞问题 | 原文链接失效了?试试备份 | TAGs:操作系统 linux random | Summary: This text discusses an issue with the getrandom system call in the Linux kernel, which can cause a delay during system startup due to the entropy pool not being fully initialized yet. The entropy pool is used to generate high-quality random numbers for various purposes, but it needs to be initialized before it can provide these numbers to applications. If the pool is not initialized, the getrandom() system call without the GRND\_NONBLOCK flag will block until the initialization is complete. This can cause applications that depend on the kernel's random number generator to also experience a delay during system startup. The text suggests enabling the CONFIG\_RANDOM\_TRUST\_CPU option during kernel compilation to trust the CPU's random number generator to seed the kernel's CRNG and avoid this delay. However, this option is not enabled by default on some distributions. The text also mentions various hardware and software sources of entropy and how they are used by the Linux kernel.本文讨论了 Linux 内核中 getrandom 系统调用的一个问题,由于熵池尚未完全初始化,这可能会导致系统启动期间出现延迟。熵池用于生成用于各种目的的高质量随机数,但需要先初始化,然后才能将这些数字提供给应用程序。如果池未初始化,则没有 GRND\_NONBLOCK 标志的 getrandom() 系统调用将阻塞,直到初始化完成。这可能会导致依赖内核随机数生成器的应用程序在系统启动期间也遇到延迟。文本建议在内核编译期间启用 CONFIG\_RANDOM\_TRUST\_CPU 选项,以信任 CPU 的随机数生成器为内核的 CRNG 提供种子并避免这种延迟。但是,默认情况下,某些分配上不启用此选项。该文本还提到了各种硬件和软件熵源,以及 Linux 内核如何使用它们。 | |
|
_2024_8_1_12_22_17_ | 2024_8_1 12_22_17 | 中国Linux内核开发者大会 | 原文链接失效了?试试备份 | TAGs:操作系统 linux | saved date: Thu Aug 01 2024 12:22:17 GMT+0800 (中国标准时间) | |
|
|
|
|
|
|
|
_2025-03-27_19:33:29_ | 2025-03-27 19:33:29 | 从Linux内核中获取真随机数 - 红字 - 博客园 | 原文链接失效了?试试备份 | TAGs:操作系统 linux | Summary: The Linux kernel has an implementation for a random number generator, which theoretically produces true random numbers. Unlike the pseudo-random numbers generated by the standard C library functions rand() and srand(), true random numbers are not predictable and cannot be replicated using the same seed value. However, time() returns a deterministic value, making it insufficient for generating unpredictable noise. For programs requiring true random numbers, an external noise source is necessary. Linux kernel found a perfect noise source generator: human interaction with the computer. Keyboard keystroke intervals, mouse movement distances and intervals, and specific interrupt times are all unpredictable for the computer. Although a computer's behavior is entirely programmable, human interaction with hardware introduces significant uncertainty. The kernel maintains a entropy pool, which contains completely random data from these unpredictable device events. When a new device event arrives, the kernel estimates the randomness of the new data and reduces the entropy pool's estimation when data is taken out.Linux 内核有一个随机数生成器的实现,理论上它会生成真正的随机数。与标准 C 库函数 rand() 和 srand() 生成的伪随机数不同,真随机数是不可预测的,并且不能使用相同的种子值进行复制。但是, time() 返回一个确定性值,使其不足以生成不可预测的噪声。对于需要真随机数的程序,外部噪声源是必需的。Linux 内核找到了一个完美的噪声源生成器:人类与计算机的交互。键盘击键间隔、鼠标移动距离和间隔以及特定的中断时间对于计算机来说都是不可预测的。尽管计算机的行为完全可编程,但人类与硬件的交互会带来很大的不确定性。内核维护一个熵池,其中包含来自这些不可预测的设备事件的完全随机数据。当新的设备事件到达时,内核会估计新数据的随机性,并在取出数据时减少熵池的估计。 | |
|
_2025-06-26_11:59:38_ | 2025-06-26 11:59:38 | Linux Plumbers Conference | 原文链接失效了?试试备份 | TAGs:操作系统 linux 会议 | Summary: The Linux Plumbers Conference is a prominent event for developers working on the plumbing layer of Linux systems and beyond. It caters to developers at various levels of expertise.Linux 管道工会议是面向 Linux 系统及其他管道层的开发人员的重要活动。它迎合了不同专业知识水平的开发人员。 | |
_2025-04-11_10:27:44_ | 2025-04-11 10:27:44 | 一个让 Linus Torvalds _不明觉赞_ 的内核优化与修复历程 - 知乎 | 原文链接失效了?试试备份 | TAGs:操作系统 linux 内存 Folio | Summary: This article discusses a kernel optimization and fix issue related to the Xarray data structure in the Linux kernel. The issue was first noticed as a potential problem in a commit submitted to the Linux community in April 2023, but it was not until September 2023 that it was officially highlighted. The problem was that a certain race condition in the Xarray code could lead to data corruption, but due to the low reproduction probability and lack of effective debug information, it was difficult for the community to determine the root cause. | |
|
|
|
_2024_8_19_15_30_33_ | 2024_8_19 15_30_33 | -CSDN博客 | 原文链接失效了?试试备份 | TAGs:操作系统 linux 内存 | saved date: Mon Aug 19 2024 15:30:33 GMT+0800 (中国标准时间) | |
_2025-03-18_17:03:07_ | 2025-03-18 17:03:07 | Kernel Samepage Merging — The Linux Kernel documentation | 原文链接失效了?试试备份 | TAGs:操作系统 linux 内存 ksm | Summary: The Linux Kernel's KSM (Kernel Shared Memory) feature is a memory-saving mechanism that merges identical pages in the system or application memory. It was introduced in version 2.6.32 and can be enabled by setting CONFIG_KSM=y. The KSM daemon, ksmd, periodically scans user memory for identical pages and merges them, reducing the overall memory usage. The merging process involves copying the content of the identical pages into a single write-protected page, which is then shared among the processes. | |
_2025-04-17_15:18:01_ | 2025-04-17 15:18:01 | 一篇搞懂KSM机制剖析 — Linux内核中的内存去耦合 - 知乎 | 原文链接失效了?试试备份 | TAGs:操作系统 linux 内存 ksm | Summary: This article explains the concept and implementation of KSM (Kernel Samepage Merging) in the Linux kernel, a feature that allows a system manager (hypervisor) to merge identical memory pages and increase the number of parallel virtual machines. The article also discusses the background of KSM, its benefits, and ways to manage it. The article also mentions the history of server virtualization and the advantages of memory sharing in this context. The article concludes by discussing the importance of KSM in reducing memory usage and increasing the capacity of a server to host multiple applications or virtual machines. The article also recommends some resources for further learning.本文介绍了 Linux 内核中 KSM (Kernel Samepage Merging) 的概念和实现,该功能允许系统管理器 (hypervisor) 合并相同的内存页面并增加并行虚拟机的数量。本文还讨论了 KSM 的背景、优势以及管理它的方法。本文还提到了服务器虚拟化的历史以及在此上下文中内存共享的优势。本文最后讨论了 KSM 在减少内存使用和增加服务器托管多个应用程序或虚拟机的能力方面的重要性。本文还推荐了一些资源以供进一步学习。 | |
|
|
|
|
_2025-03-05_20:47:34_ | 2025-03-05 20:47:34 | 使用 trace-cmd 追踪内核 _ Linux 中国 - 知乎 | 原文链接失效了?试试备份 | TAGs:操作系统 linux 内核动态追踪 | Summary: This article introduces how to use the trace-cmd tool on Linux to trace kernel functions, as an alternative to using ftrace directly. The author explains that using trace-cmd makes the process easier and provides more features. The article covers installing trace-cmd, listing available tracers, starting and stopping function tracing, and adjusting the depth of the trace. The author also demonstrates how to filter the traced functions by name and track kernel modules. An example is given for tracing functions related to the ext4 file system. The article concludes with a brief mention of how to trace a specific PID.本文介绍了如何在 Linux 上使用 trace-cmd 工具来跟踪内核函数,作为直接使用 ftrace 的替代方案。作者解释说,使用 trace-cmd 可以简化该过程并提供更多功能。本文介绍了如何安装 trace-cmd、列出可用的跟踪器、启动和停止函数跟踪以及调整跟踪的深度。作者还演示了如何按名称过滤跟踪的函数并跟踪内核模块。给出了 ext4 文件系统相关的跟踪函数示例。本文最后简要提到了如何跟踪特定 PID。 | |
_2025-04-23_19:27:36_ | 2025-04-23 19:27:36 | 魅族内核团队 | 原文链接失效了?试试备份 | TAGs:操作系统 linux 博客 | Summary: This page is a technical sharing platform for the Meizu kernel team. It contains several posts discussing various Linux kernel-related topics. One post is about the evolution from spin-table to PSCI (Precise System-wide Idle Control) for Linux SMP (Symmetric Multiprocessing) start-up, highlighting the necessity of this progression due to the limitations and hardware coupling of the spin-table mechanism. Another post discusses the irq_work generic interrupt callback mechanism and its first version features. A third post explores the RTG (Related Thread Group) feature in the WALT (Workload Adaptive Realtime Scheduler) of Qualcomm. The last post is about submitting patches to the Linux kernel community, with instructions on installing git and git-send-email for submitting patches. There are also posts about analyzing a deadlock issue, the cgroup freezer subsystem, and the Page Table Check mechanism for improving Linux kernel memory stability.本页面是魅族内核团队的技术分享平台。它包含几篇讨论各种 Linux 内核相关主题的文章。其中一篇博文是关于从 spin-table 到 PSCI (Precise System-wide Idle Control) 的演变,以启动 Linux SMP (对称多处理) ,强调了由于旋转表机制的限制和硬件耦合,这种进展的必要性。另一篇文章讨论了 irq_work 通用中断回调机制及其第一个版本的功能。第三篇博文探讨了 Qualcomm 的 WALT(工作负载自适应实时调度程序)中的 RTG(相关线程组)功能。最后一篇文章是关于向 Linux 内核社区提交补丁的,并附有安装 git 和 git-send-email 以提交补丁的说明。此外,还有一些关于分析死锁问题、cgroup 冻结子系统和用于提高 Linux 内核内存稳定性的页表检查机制的文章。 | |
|
_2025-03-12_15:53:18_ | 2025-03-12 15:53:18 | ext4文件镜像扩容方法详解 - DeepSeek - 探索未至之境 | 原文链接失效了?试试备份 | TAGs:操作系统 linux 文件系统 | Summary: The user is asking for methods to expand the size of an ext4 file system image. The process involves two main steps: increasing the size of the ext4 file system image itself, and then adjusting the internal ext4 file system to utilize the newly added space. | |
|
|
_2025-03-28_17:30:12_ | 2025-03-28 17:30:12 | Linux跟踪进程系统调用方法 - DeepSeek - 探索未至之境 | 原文链接失效了?试试备份 | TAGs:操作系统 linux 系统调用 | Summary: In Linux, tracking system calls for processes is commonly done using the tool strace. Strace is a widely-used utility for monitoring and recording the interactions between a process and the Linux kernel. It provides detailed information about system calls, signals, and other process activities.在 Linux 中,跟踪系统对进程的调用通常使用工具 strace 来完成。Strace 是一种广泛使用的实用程序,用于监控和记录进程与 Linux 内核之间的交互。它提供有关系统调用、信号和其他进程活动的详细信息。 | |
|
|
|
|
|
_2024_8_21_11_57_03_ | 2024_8_21 11_57_03 | 图解Linux网络包接收过程 | 原文链接失效了?试试备份 | TAGs:操作系统 linux 网络 | saved date: Wed Aug 21 2024 11:57:03 GMT+0800 (中国标准时间) | |
|
|
|
|
|
|
_2024_11_26_10:35:00_ | 2024_11_26 10:35:00 | ARINC 653 规范 | 原文链接失效了?试试备份 | TAGs:操作系统 其他 | saved date: Tue Nov 26 2024 10:35:00 GMT+0800 (中国标准时间) | |
|
|