- 博客(115)
- 收藏
- 关注
原创 408计算机考研操作系统进程/线程的状态与切换
摘要:进程状态主要包括就绪态(已分配除CPU外的资源)、运行态(占用CPU执行)、阻塞态(等待资源)、创建态(初始化中)和终止态(执行结束)。状态转换取决于资源获取情况:缺少CPU转为就绪态,缺少其他资源则转为阻塞态。各状态组成进程生命周期,通过资源分配实现状态切换。(98字)
2025-11-18 21:06:43
147
3
原创 408计算机考研操作系统进程
摘要:程序执行方式分为顺序执行(具有顺序性、封闭性和可再现性)和并发执行(具有间断性、失去封闭性和不可再现性)。进程是实现程序并发执行的核心机制,通过隔离资源确保独立性,每个进程拥有独立的地址空间和PCB(进程控制块)。PCB包含进程标识符、处理机状态、调度信息和组织信息,是操作系统管理进程的基本数据结构。进程具有动态性、并发性、独立性(作为资源分配和调度的基本单位)和异步性等特征。通过建立父子进程关系链表,实现进程间的层次化管理。
2025-11-18 20:51:50
625
1
原创 408考研操作系统虚拟机
摘要:虚拟机是通过软件模拟的完整计算机系统。虚拟机监控器(VMM)负责资源分配和执行调度,分为两类:第1类(裸机型)VMM直接运行在硬件上,性能高但配置复杂,如VMware ESXi;第2类(托管型)VMM作为应用程序运行在主机操作系统上,性能较低但部署简单。宿主机提供物理资源,客户机使用这些资源运行。两类VMM各具特点,适用于不同应用场景。(148字)
2025-11-18 13:48:02
153
原创 408考研操作系统引导
操作系统引导(Booting)是计算机从加电到完整加载系统的过程。该过程分为三个阶段:1)BIOS/UEFI固件执行硬件自检并查找启动设备;2)读取磁盘主引导记录(MBR)验证有效性;3)通过引导程序逐步加载操作系统。这一多阶段流程确保计算机顺利从初始状态过渡到可操作环境。
2025-11-17 21:24:58
211
2
原创 408操作系统结构
这篇文章从五个方面分析了操作系统设计中的关键问题。首先指出无结构设计在可读性、可维护性方面的缺陷;其次说明分层结构的单向调用特征;第三强调了模块化设计的内聚与耦合原则;第四对比了宏内核的效率优势与维护挑战;最后阐述了微内核在进程管理、安全性等方面的特点,及其在可扩展性、分布式系统中的应用优势。全文系统性地比较了不同操作系统架构的设计理念与实现特点。
2025-11-17 15:30:58
220
原创 408计算机考研操作系统程序运行环境
本文摘要:CPU运行模式分为用户模式(受限执行环境)和内核模式(完全控制系统资源)。指令集分为特权指令(仅内核态执行)和非特权指令。中断处理分为同步(异常)和异步(硬件触发)两类。程序链接方式包括静态链接(独立加载)和动态链接(共享库),装入方式分为绝对、可重定位和动态运行时三种。运行时内存映像包含代码段(只读)、初始化数据段(可读写/只读)、未初始化数据段(BSS)、堆(动态内存)和栈(局部变量)。系统调用是用户程序访问内核服务的主要接口。
2025-11-17 13:11:28
491
原创 408考研操作系统发展历程
计算机操作系统发展经历了多个阶段:从早期人工操作(1946年第一台计算机)到脱机I/O阶段;随后出现单道批处理系统以提高效率,发展为多道批处理系统以提升资源利用率;分时操作系统实现了快速响应和交互性;实时操作系统确保及时响应请求;网络和分布式系统实现了透明性、并发处理等特性;最终发展为个人计算机操作系统。每个阶段都针对特定需求优化系统性能,反映了计算机技术从简单到复杂、从单一到分布式的演进过程。(149字)
2025-11-16 21:20:50
342
原创 408计算机考研操作系统操作系统的基本概念
摘要:操作系统是管理计算机硬件和软件资源的系统软件,为用户和应用程序提供交互接口。其主要功能包括进程管理、存储器管理、设备管理、文件管理和用户接口管理。操作系统具有并发性、共享性、虚拟性和异步性等特征,通过资源分配和进程调度实现高效运行。
2025-11-16 16:08:26
203
原创 Rust API 设计的零成本抽象原则:从语言基石到工程实践
真正的零成本 API 设计,并不是“用最花哨的高级抽象去遮蔽细节”,而是把影响性能与资源使用的关键选择显式化:分配与否、静态还是动态、多态还是单态、并发还是串行、标量还是 SIMD。这些选择在 Rust 中都可以被类型与编译期机制精确表达,并经由基准与审计不断回归到“与手写等价”的基线。做到这一点,你的抽象就既优雅又诚实——既有工程可维护性,也不背叛性能。
2025-10-31 09:12:26
811
原创 Rust 中的 SIMD 指令优化:高效并行计算的深度探索
通过 SIMD 指令优化,Rust 程序可以在高性能计算中充分利用硬件资源,提高计算密集型任务的处理速度。然而,SIMD 的使用也需要权衡平台兼容性、内存对齐等问题。在 Rust 中,使用std::arch或第三方库(如)可以较为简便地进行 SIMD 编程,但要注意避免过度复杂的低级优化影响代码的可维护性和可读性。随着硬件发展,越来越多的处理器支持更加高效的 SIMD 指令(如 AVX-512、SVE 等),因此,未来的 SIMD 优化可能会更加重要。
2025-10-31 09:06:58
545
原创 Rust 中的 impl 块组织方式:从语义到结构的设计艺术
良好的impl块组织,是 Rust 工程化质量的直接体现。它既关乎语法层次的清晰,也关乎系统结构的可演化性。一个成熟的 Rust 模块往往不止有多个impl,更有明确的语义分层与接口边界。最终,impl让 Rust 的抽象能力不仅安全,而且优雅——在强类型与零成本抽象的世界里,它是连接语义与工程之间的桥梁。
2025-10-31 09:01:53
414
原创 深入 Tokio:Rust 异步运行时的 I/O 事件循环实现机制
在真实 Tokio 中,这段逻辑会被扩展为:注册 socket、timer、signal 等资源;关联 Waker 唤醒逻辑;将事件转换为任务调度信号。这种机制让 Tokio 不仅是一个运行时,更是一个底层事件驱动内核(Event-Driven Kernel)。显式控制 + 零抽象开销:事件注册与唤醒过程全由编译期确定,无 GC 负担;跨平台统一性:通过mio抽象屏蔽底层差异;确定性并发:基于 Poll 的模型让每一步都可追踪、可优化;生态支撑。
2025-10-31 08:52:26
1022
原创 Rust 异步核心机制剖析:从 Poll 到状态机的底层演化
我们可以手动实现一个基于Polluse std::{pin::Pin,} else {// 注册唤醒这个例子中,Delay通过与唤醒机制(Waker)实现了非阻塞等待。当外部执行器检测到定时器到期时,会调用wake()重新调度任务。这正是“拉动式执行”(poll-based execution)的体现:执行器不断调用poll(),每次都只推进状态机的一小步,直到最终返回Ready。Rust 的Poll机制与状态机转换,本质上是编译器与运行时之间的契约。
2025-10-31 08:35:36
887
原创 Rust 中的惰性Rust 中的惰性求值机制:性能与控制的平衡艺术
Rust的惰性求值机制通过迭代器、闭包等实现局部惰性,在保证性能与控制的前提下支持延迟计算。文章剖析了其设计哲学,指出Rust采用"可选择性惰性"平衡函数式优势与系统编程需求。通过迭代器trait实现、编译优化等技术,Rust既支持流式组合计算,又能无开销地转换为高效机器码。高阶应用展示了与Rayon库结合实现并行惰性计算的案例。最终论证了Rust惰性机制在性能优化、语义表达和架构设计上的多重价值。
2025-10-31 08:12:53
1079
原创 Java 小案例:一个能识别方向的简易程序
这篇Java代码示例展示了一个简易的方向识别程序。程序通过Scanner接收用户输入的单个字符(N/E/S/W),并输出对应的英文方向(North/East/South/West),其他字符则输出"Unknown"。文章详细解析了代码结构,包括Scanner的导入使用、字符输入处理、if-else条件判断以及结果输出等基本Java语法。该程序虽然简单,但涵盖了输入输出和条件判断等编程基础,适合初学者理解Java的基本工作流程和逻辑结构。
2025-07-29 21:05:01
546
原创 用Java打印北京欢迎你:零基础也能看懂的编程入门课
几行Java代码不仅能打印文字,更能连接技术与文化。下次当你看到"Welcome to BeiJing!"时,或许会想起:编程不只是敲代码,更是一种表达世界的方式。现在,轮到你了——用代码向你喜欢的城市发送一封"欢迎函"吧!💻❤️#Java入门#编程学习#北京文化#零基础编程欢迎大家关注。
2025-07-28 10:15:18
339
原创 java小白闯关记第二天(交换两个数)
本文以Java实现整数交换的基础代码为例,剖析了编程中常见的值覆盖陷阱。通过引入temp中间变量这一经典方法,有效避免了直接交换导致的值丢失问题。文章还延伸讲解了Scanner类的使用和变量作用域等知识点,指出这段简单代码体现了"分步处理"和"状态保存"的编程核心思想。最后鼓励读者思考其他变量交换的实现方式,强调理解基础原理对掌握复杂逻辑的重要性。
2025-07-28 08:40:07
613
原创 3 行核心代码搞定温度转换?Java 入门级案例解析来了!
这篇教程介绍了用Java代码实现摄氏度和华氏度的温度转换。核心代码仅需几行,通过Scanner类获取输入,利用公式F=C×9.0/5+32进行计算,最后输出结果。文章特别提醒了新手容易忽略的两个细节:使用9.0避免整数除法错误,以及强制类型转换会丢失精度。还提供了进阶优化建议,如添加输入验证使程序更健壮。这个案例虽小,却涵盖了Java输入输出、数据类型和运算规则等基础知识点,是编程新手的实用入门练习。文末邀请读者尝试计算30℃对应的华氏度,互动性强。
2025-07-27 22:58:00
308
原创 java小白闯关记第一天(两个数相加)
这篇教程详细拆解了一个Java两数相加程序的代码逻辑。文章从导入Scanner工具类开始,分步讲解了程序入口类定义、主方法结构、输入工具创建、整数读取、求和运算和结果输出等核心环节。每个代码片段都配有通俗易懂的解释,例如将import比作"搬工具",把Scanner对象比作"输入接收器"。教程特别强调了初学者易错点,如类名与文件名必须一致、输入类型必须匹配等。最后还提供了配套视频链接,帮助读者更直观地理解Java基础输入输出操作。
2025-07-27 22:24:39
470
原创 vue3搭建后台管理系统
将el-menu的border设置为0,然后上方设置border-right设置边框。上部用height设置高度和背景颜色。可以创建带斑马纹的表格。英文的话就是需要配置国际化。加el-button查询。, 表格将会带有斑马纹。需要自己改左侧栏的边线。创建data.vue。一个template。el-table表单。
2025-05-06 23:02:19
871
原创 Vue3集成Element-Plus
其次就是需要在main.js中引入element-plus。Manage里边必须要RouterView/标签。redirect初始时的页面。创建manage.vue。输入错误统一返回404。
2025-05-06 06:00:00
313
2
原创 微信小程序调用扣子智能体
以上代码展示了如何构建一个简单的微信小程序端应用程序来调用微信扣子智能体服务。需要注意的是具体的URL路径以及可能存在的认证机制需参照官方文档说明调整。为了实现在微信小程序中调用扣子智能体的功能,可以按照以下方法操作。此过程涉及到利用HTTP请求接口与扣子智能体进行交互。接着可以在页面对应的JS文件里引入上述定义好的。
2025-02-26 15:55:59
1650
原创 对于Cursor试用到期后的解决方案
查看Cursor提供的不同付费计划,选择一个适合需求和个人预算的订阅套餐来正式激活软件使用权。确保理解各层级之间的差异以便做出明智的选择。访问Cursor官方网站的帮助中心或支持页面,通常会有针对试用版过期的相关说明以及如何继续使用服务的信息。加入相关的开发者论坛或社交媒体群组讨论区,其他用户或许分享了他们应对类似状况的经验和建议。留意Cursor是否有时限性的折扣优惠或者其他形式的推广活动,这些可能会降低续订的成本。回顾一下是否有来自Cursor的服务提醒邮件里包含了关于试用结束后续步骤的重要信息。
2025-02-26 15:54:23
1993
原创 优化微信小程序
网络请求优化,使用缓存策略减少重复请求,合并请求,压缩数据,比如用protobuf代替JSON。还要注意图片和资源的压缩,使用合适的格式,比如WebP,雪碧图,图标用字体图标,或者SVG。- 在 `app.json` 中配置 `"lazyCodeLoading": "requiredComponents"`,延迟加载未使用的页面代码。- 在 `app.json` 中配置 `"lazyCodeLoading": "requiredComponents"`,减少启动时加载的代码量。
2025-02-19 11:16:35
454
5
原创 JavaScript + HTML5 Canvas 实现互动爱心雨
【代码】JavaScript + HTML5 Canvas 实现互动爱心雨。
2025-02-14 16:05:12
2275
原创 零基础开发自己的微信小程序(工具箱之父)(二)
完整界面如下,以上线微信小程序,大家可以前往微信小程序搜索工具箱之父即可体验。我们可以选择我们的大模型deepseek-R1。它就会帮你打工了,然后有错误复制给它就行。在经过无数次提问后,我生成了。打开你创建的微信小程序界面。更多详情查看工具箱之父。按ctrl加i调出框。
2025-02-13 10:03:57
727
健康管家web网页,大作业
2024-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅