- 博客(7)
- 收藏
- 关注
原创 操作系统 之 ⑤ 内存管理
固定分配和动态分配是传统的内存分配方法。适用于不同的应用场景,但容易导致碎片。分页和分段是现代操作系统常用的内存分配机制,分页避免了外部碎片,分段则能更好地支持程序地逻辑划分。伙伴系统和Slab 分配器是对传统内存分配算法的优化,它们针对不同的应用场景,提供了高效的内存管理方案。在实际使用中,操作系统可能会结合多种内存分配策略,灵活应对不同的内存分配需求。内存保护是操作系统的一项关键功能,旨在防止进程或程序间的非法内存访问,确保内存安全,并避免进程间相互干扰。
2024-11-09 18:06:53
891
原创 操作系统 之 ④ 中断子系统
是操作系统中一个重要的数据结构,负责管理中断请求和对应的中断处理程序。它是中断处理机制的核心部分,确保在发生中断时,CPU 能够快速找到并执行相应的处理程序。它通常是一个数组,表中的每个元素都对应一个特定的中断源,包含了该中断源的处理程序的地址。(在 x86 架构的实模式下,中断向量表位于。
2024-10-29 18:17:32
1733
原创 操作系统 之 ③ 时钟子系统
是操作系统中调度机制的基础,它是一种由硬件定时器定期产生的中断信号,提供操作系统执行一系列时间相关的任务和操作。他是操作系统用于管理任务调度、系统时间和定时器服务的关键机制。它确保系统能够实时更新状态、精确控制任务的执行顺序,并维持系统的正常运行。通过定时产生中断信号,操作系统能有效管理多任务环境中的 CPU 资源,实现高效的调度和响应。
2024-10-25 17:55:41
2055
原创 操作系统 之 ② 任务调度
这些算法模拟了操作系统的任务管理,可以用来理解不同调度策略的工作方式及其对任务执行效率的影响。每种算法都有其有缺电,适用于不同场景和需求。
2024-10-24 18:04:28
894
原创 C语言 之 初学 ② .c文件的编译
笔者的老师告诉笔者程序员其实是一名翻译官,只是和平常的翻译人员不用的是平常的是将一类人的语言翻译成另一类人能明白的语言,而程序员的主要工作简单来说就是将人类能理解的语言翻译成计算机能够理解的语言即二进制,但翻译成二进制工作量太大,就有了我们的工具----编译器,编译器的作用就是将程序员的源代码逐步翻译成计算机能够理解的语言,所以程序员就是一种“另类”的翻译官。。每个阶段都有其特定的任务,下面将详细说明各个阶段的作用和功能。
2024-10-23 21:06:52
904
1
原创 操作系统 之 ① 启动流程
操作系统的启动流程从硬件初始化到内核加载,再到用户态进程启动,是一个精密且复杂的过程。每个过程都是关系紧密的,需要协调工作,以确保系统安全、稳定、高效的启动。
2024-10-23 17:53:19
1166
原创 C语言 之 初学 ① Dev-C++安装 以及 .c文件的编写
笔者这几天身体不适,白天猛猛睡觉,晚上辗转反侧,想了想得干点啥,就打开电脑开始写这篇文章了。。。。笔者从大一开始接触C语言,现在已经大四了,中途接触了Java,Python以及Cpp,但仍然“倔强”地浸淫在C中。在这过程中感受最直观的就是上述三种语言对于C来说就是有了大部分数据结构的实现已经和完善了,并且可以直接使用,十分方便(比如说树、字典、队列、栈、堆等等,一开始没有板子的时候一个个手搓真的难受死我了,不得不说:之后我也会分享我自己手搓的、我觉得有用的板子,大家有什么好的建议请在评论区探讨😀)
2024-10-23 01:24:20
1923
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人