上一页 1 2 3 4 5 6 7 8 9 10 ··· 19 下一页
摘要: Linux进程、线程、协程的区别 进程 进程是操作系统中的一个独立执行单元。 每个进程都有自己的独立内存空间,包括代码段、数据段、堆栈等。 进程之间通常需要通过进程间通信(IPC)来交换数据和信息。 进程启动和销毁开销较大,因为需要分配和释放独立的内存空间。 进程之间隔离度高,一个进程的崩溃不会直接 阅读全文
posted @ 2023-09-25 22:20 不会笑的孩子 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 在Linux操作系统中,任务调度涉及多个层次和组件,这些层次和组件共同协作以实现任务的分配和执行。以下是Linux中的任务调度层次: 硬件调度 最底层的调度发生在处理器硬件层面。硬件调度器(通常由CPU或CPU内核管理)负责在不同任务之间切换,并根据硬件特性执行任务。这包括处理硬件中断、异常处理和上 阅读全文
posted @ 2023-09-25 21:14 不会笑的孩子 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 基本原则 公平性 Linux调度器追求公平性,即每个运行中的进程都有机会获得CPU时间。这通过使用时间片轮转算法和动态优先级调度来实现。Linux将进程分为实时(real-time)和普通(normal)进程,以确保实时任务不会被普通任务长时间阻塞。 优先级 Linux采用了静态优先级和动态优先级相 阅读全文
posted @ 2023-09-25 21:07 不会笑的孩子 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 内核初始化 引导加载程序(BootLoader) 计算机首先加载引导(GRUB)。引导加载程序的任务是从存储介质(硬盘、光盘等)加载操作系统内核到内存中,并跳转到内核的启动位置。 设置堆栈和切换到保护模式 内核初始开始时,计算机可能仍让处于实模式。内核会设置堆栈,切换到保护模式或长模式(64位系统) 阅读全文
posted @ 2023-09-25 20:53 不会笑的孩子 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 概念 设备控制器是计算机中的一个关键组件,它用于管理和控制与计算机相连的因该你设备。每个硬件设备通常都有一个相关联的设备控制器,设备控制器负责与操作系统进行通信,并执行各种操作,如数据传输、命令执行和错误处理。 设备控制器的类型 设备控制器的类型不同,包括磁盘控制器、网络控制器、图形控制器、USB控 阅读全文
posted @ 2023-09-25 20:20 不会笑的孩子 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 内核运行的过程 启动阶段: 当计算机启动时,通常从硬盘、固态硬盘或其他存储设备中加载引导加载程序(Boot Loader)的第一部分。这个引导加载程序负责加载操作系统内核。 加载内核: 引导加载程序会从存储设备中加载操作系统内核的镜像文件,通常是一个称为vmlinuxz或bzImage的文件。这个内 阅读全文
posted @ 2023-09-25 09:29 不会笑的孩子 阅读(11) 评论(0) 推荐(0) 编辑
摘要: A20 A20是计算机内存地址线的第20根地址线,通常称为A20线。它在x86架构的计算机中起着重要的作用,特别是在早期的计算机中。 历史背景 早期的8086和80286处理器以及相应的计算机主板仅支持1MB的物理内存寻址。这意味着计算机只能寻址1MB的内存,而无法访问更多的内存。这是由于A20线默 阅读全文
posted @ 2023-09-25 09:11 不会笑的孩子 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 阅读源码时注意的事项 在第一遍阅读源码时,已弄懂整体流程为主,至于具体的实现细节先简单的理清处过一遍,不用过于纠结。 当梳理清楚全部的框架逻辑后,第二遍再深入的学习研究各个模块的实现,此时应该解决第一遍中的疑惑。 第三遍可以跳出代码的实现,来看Linux的设计思路、编程艺术和演进之路。 重在实践。L 阅读全文
posted @ 2023-09-25 08:32 不会笑的孩子 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Makefile Linux内核的Makefile系统非常复杂,因为内核包含了许多不同的配置选项、架构和模块。以下是Linux内核Makefile系统中一些重要的文件和目录,以及它的作用。 顶层Makefile(Makefile) 顶层Makefile是整个内核编译过程的入口点 它包含了全局选置选项 阅读全文
posted @ 2023-09-24 22:16 不会笑的孩子 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 读源码时应该注意的事项 在第一遍阅读源码时,已弄懂整体流程为主,至于具体的实现细节先简单的理清处过一遍,不用过于纠结。 当梳理清楚全部的框架逻辑后,第二遍再深入的学习研究各个模块的实现,此时应该解决第一遍中的疑惑。 第三遍可以跳出代码的实现,来看Linux的设计思路、编程艺术和演进之路。 实模式 x 阅读全文
posted @ 2023-09-24 21:43 不会笑的孩子 阅读(55) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 19 下一页