操作系统
文章平均质量分 89
note
lvy-
专栏更新已迁至github:lvy010,文章.md可直接clone repo获取(该账号现主用于随手复习记录,随缘同步)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[#issues] SerenityOS IPC:如何优雅解决“令牌泄露“ | System V vs POSIX
本文探讨了SerenityOS中关于健壮信号量机制的提案。针对GNU Jobserver在进程崩溃时可能导致的令牌泄露问题,提案建议采用System V信号量的SEM_UNDO机制,并提出扩展POSIX信号量API的方案。通过新增sem_post_robust等接口,结合内核自动清理机制,实现进程异常退出时的资源自动回收。该方案避免了System V IPC的过时设计,为SerenityOS提供了现代化的进程间通信机制,特别适用于构建系统、分布式任务调度等场景。这一创新设计展示了SerenityOS作为现代原创 2025-12-13 16:28:00 · 1374 阅读 · 0 评论 -
computer operating system
多道程序运行时间:绘制时间关系图可知,总时间为 30 + 60 + 20 + 40 + 20 = 170\ \text{ms}(过程:A计算30ms→B计算60ms(同时A I/O 40ms)→C计算20ms(同时B I/O 30ms、A计算10ms)→B计算10ms→C I/O 40ms→C计算20ms)- (4)执行方案:让输入机、处理机、打印机并行工作(如输入机输入时,处理机可处理已输入的数据,打印机可打印已处理好的结果),减少空闲时间。- (1)输入机先输入数据,处理机处理,然后打印机打印;原创 2025-11-04 10:33:16 · 188 阅读 · 0 评论 -
[手机AI开发sdk] Aid_code IDE | PC浏览器同步访问
在本章中,我们探索了**Aid_code IDE**,这是我们在AidLearning中进行Python编程的主要工作区- 现在我们知道,它是一个集成开发环境,提供自动代码补全、直接在手机上运行Python 2和Python 3脚本的功能,以及通过PC浏览器访问和编辑代码的灵活性- 这使得Aid_code成为一个极其多功能且用户友好的工具,适合在路上或舒适的桌面上开发AI应用。原创 2025-11-03 21:53:57 · 949 阅读 · 0 评论 -
[手机AI开发sdk] 模型冻结&解冻.pb | `aidlite`加速AI模型
在本章中,我们学习了**AI模型部署与加速(aidlite)**是让AI应用在移动设备上高效运行的关键过程AidLearning的定制`aidlite`模块如同专业==性能调校师==,==利用手机的CPU、GPU和NPU/DSP,提供实时AI能力==。这意味着我们可以构建强大、智能的应用,而无需担心移动硬件上的性能问题。原创 2025-11-03 21:24:18 · 1191 阅读 · 0 评论 -
[手机AI开发sdk] docs | AidLearning平台(四合一环境)
在本章中,我们介绍了 **AidLearning 平台** 作为一个强大的“==四合一==环境”,将 Linux、AI 工具、Python 和 GUI 集成到安卓手机上这让我们能够直接在移动设备上开发和运行复杂的 AI 应用程序,将其转变为便携式 AI 工作站。原创 2025-11-03 21:11:19 · 1084 阅读 · 0 评论 -
[Upscayl图像增强] 应用程序状态管理 | 响应式状态Jotai | 持久化设置
应用程序状态管理是Upscayl无形但至关重要的支柱。它是应用程序的"记忆",仔细跟踪每一个细节,从我们在放大任务上的当前进度(由响应式Jotai原子管理)到我们长期偏好如最喜欢的AI模型或输出文件夹(使用`localStorage`和主进程变量持久化)。这种精细的管理确保Upscayl响应迅速,记住我们的选择,并在每次使用时提供流畅、个性化的体验。原创 2025-09-08 13:17:45 · 1078 阅读 · 0 评论 -
[bat-cli] 打印机 | `src/printer.rs`
本文介绍了bat文本显示工具中的Printer组件,它是实现语法高亮、行号显示等视觉效果的核心模块。文章首先阐述了Printer在bat中的定位和作用,然后详细介绍了其工具集和实现方式,包括基础Printer特质、SimplePrinter和功能完备的InteractivePrinter。通过Rust代码示例展示了如何通过PrettyPrinter配置来间接控制打印机的输出效果,如行号显示、非打印字符处理和长行换行等。最后图解了InteractivePrinter的内部工作流程,说明其如何从配置到最终渲染的原创 2025-09-06 14:53:40 · 1081 阅读 · 0 评论 -
[bat-cli] 行范围处理 | `LineRanges`对象
使用不同表示法指定各种行范围,要么过滤输出仅显示这些行(使用`line_ranges`),要么在显示整个文件时视觉上高亮它们(使用`highlight`/`highlight_range`)。- 内部通过`LineRange`和`LineRanges`对象,结合智能的`RangeBound`和`MaxBufferedLineNumber`处理,使bat能高效处理这些请求,即使对于大文件和复杂相对范围也是如此。原创 2025-09-06 14:15:48 · 1223 阅读 · 0 评论 -
[bat-cli] 语法映射 | SyntaxMapping
`bat` 如何使用 `SyntaxMapping` 作为规则手册,将通配符模式应用于文件路径和名称以确定正确的高亮显示原创 2025-09-05 18:52:21 · 967 阅读 · 0 评论 -
[bat-cli] 高亮资源 | ide是如何实现代码高亮的呢?
学习了 `HighlightingAssets` 如何高效地存储和检索这些资源,无论是从 `bat` 的内置二进制缓存还是用户定义的文件。通过理解 `HighlightingAssets` 的工作原理,我们可以欣赏 `bat` 如何一致地准确的实现语法高亮原创 2025-09-05 18:38:11 · 791 阅读 · 0 评论 -
[bat-cli] 配置Config | src/config.rs
`bat` 从多个来源(配置文件、环境变量和命令行参数)收集这些偏好,并应用明确的规则来优先处理它们。原创 2025-09-05 15:42:30 · 877 阅读 · 0 评论 -
[bat-cli] 输出处理 | `OutputType` 和 `OutputHandle`
智能地决定将其格式化文本发送到哪里——直接到终端或通过强大的分页程序如 `less`原创 2025-09-05 15:21:19 · 1098 阅读 · 0 评论 -
[bat-cli] 输入管理 | 自定义 `Input` 票据
bat工具的输入管理系统负责高效获取和处理不同来源的内容,包括文件、标准输入和嵌入文本。核心是Input结构体,它作为内容"票据",记录来源和元数据而不直接存储内容。系统通过InputKind枚举区分来源类型,并使用InputDescription管理显示信息。处理流程包括票据创建、来源打开、内容检查和逐行读取,确保灵活支持多样化输入方式。PrettyPrinter提供用户友好接口,支持自定义标题和类型描述,使内容呈现更加精确可控。原创 2025-09-05 11:20:04 · 766 阅读 · 0 评论 -
[bat-cli] docs | 控制器
控制器是 `bat` 项目的核心协调者。它像项目经理一样,==接收我们的配置和文件列表==,然后==指导==其他专业组件读取、处理、高亮并漂亮地显示代码。虽然它不直接执行细节工作,但其==协调角色==对 `bat` 的功能至关重要。原创 2025-09-04 16:13:37 · 951 阅读 · 0 评论 -
linux自动化运维|项目思考
清晰.解决复杂问题的能力。原创 2025-08-28 18:18:49 · 208 阅读 · 0 评论 -
多线程..
信号量机制是 Linux POSIX 中的标准内容,c++20 加入了对于 信号量的支持,位于<semaphore>C++11 提供互斥锁、条件变量、异步、原子锁等基础多线程同步语句。c++20 加入了对于 信号量的支持,位于<semaphore>lc1114.按序打印。原创 2025-08-28 14:56:58 · 174 阅读 · 0 评论 -
[pilot智驾系统] 自动驾驶守护进程(selfdrived)
摘要 selfdrived是sunnypilot自动驾驶系统的核心决策模块,充当中央大脑角色。它持续收集车辆状态、传感器数据和驾驶模型预测等信息,通过状态机评估当前驾驶条件,决定系统应处于激活、禁用还是警告状态。该模块每秒运行100次,实时响应驾驶员操作和道路情况,管理安全警报并协调系统行为,确保自动驾驶的安全性和连贯性。其他组件通过读取selfdrived发布的selfdriveState消息来获取当前系统状态和警报信息。原创 2025-08-25 18:42:45 · 1103 阅读 · 0 评论 -
[蓝牙通信] 事件管理 | 生产者-消费者模型 | weak_ptr.lock()
` std::shared_ptr<Event> event = std::make_shared<Event>();` `// <Event> event 离开作用域时,引用计数归零,内存自动释放`原创 2025-07-29 15:08:15 · 836 阅读 · 0 评论 -
[蓝牙通信] 临界区管理 | volatile | 同步(互斥锁与信号量) | handle
临界区的核心价值**:建立原子操作保护域==,确保共享资源(如白板数值)在操作期间免受中断服务程序(ISR)或其他任务干扰。同步:1. **锁粒度控制**:保持==临界区代码最小化==2. **死锁预防**:采用`固定顺序`获取多个锁3. **优先级继承**:利用`FreeRTOS优先级`继承协议原创 2025-07-28 20:39:49 · 1271 阅读 · 0 评论 -
[Ninja] 快速构建系统 | 字符串处理 | 0拷贝
字符串工具作为Ninja的基石,解决了软件开发中的基础难题:* **性能优化**:`StringPiece`实现==零复制==字符串操作,保障构建速度(记录页码和行号)* **格式统一**:路径规范化消除平台差异,确保路径解析一致性(借助双指针)* **执行可靠**:转义机制防范命令注入风险原创 2025-07-21 20:21:48 · 1358 阅读 · 0 评论 -
[minilibc] 库文件的调用放置
find note原创 2025-04-28 20:29:07 · 387 阅读 · 0 评论 -
[OS] POSIX C库介绍
note原创 2025-04-28 20:16:01 · 590 阅读 · 0 评论 -
[进程通信] 管道 vs 共享内存 vs 网络
linux下一切皆文件原创 2025-04-22 15:59:20 · 1508 阅读 · 2 评论 -
[solution] 解决终端进程启动失败 | linux内存清理
note原创 2025-04-20 09:50:32 · 249 阅读 · 0 评论 -
[OS] mmap | fd是什么 | inode机制 | vfs封装
学的越多就越感觉和跳表的设计相类似,一层存储不行,我们就再加一层目录,来进行 指针偏移量的访问原创 2025-04-15 22:19:01 · 781 阅读 · 1 评论 -
[OS] vDSO + vvar(频繁调用的处理) | 存储:寄存器(高效)和栈(空间大)| ELF标准包装规范(加速程序加载)
note原创 2025-04-14 21:07:07 · 1034 阅读 · 3 评论 -
[Linux_OS] core dump | session | 守护进程daemon
setsid的用法还是有点复杂了,在setsid 生成新会话后还要close,open,为此Linux提供了另一个系统调用daemon原创 2025-04-01 14:41:00 · 1164 阅读 · 0 评论 -
[OS with AI_2] 硬件视角 | OS是如何启动的 | 借助firmware
note原创 2025-03-21 10:40:36 · 898 阅读 · 0 评论 -
[OS] BIOS-MBR启动 | BIOS为什么选择0x55和0xAA作为引导扇区签名标志
note原创 2025-03-21 10:17:57 · 1695 阅读 · 0 评论 -
[OS] 基于RR(Round Robin)算法的CPU调度
代码验证原创 2025-02-25 20:37:29 · 684 阅读 · 0 评论 -
【Linux详解】冯诺依曼架构 | 操作系统设计 | 斯坦福经典项目Pintos
本文概述了冯诺依曼体系结构、操作系统概念及系统调用实现,通过Pintos项目实践,学习系统调用的开发流程。原创 2024-06-23 20:26:40 · 4731 阅读 · 97 评论
分享