Coekjan's Blog

探索寰宇

『MOS』 Evolution

『MOS』 改革、演化

实验内容改革 MOS 实验是《操作系统》课程的课程设计,是一个综合性的实践性课程,其目的是让学生通过实践,理解一个小型操作系统的结构与实现方法。截止 2023 年春季为止,MOS 实验在 MIPS R3000 架构上设计与实现,使用 GXemul 模拟器(内置汇编级别调试器)来进行模拟测试。 这样的实验内容设置存在一些问题,下面简单列举几例。 代码实现方面 2022 年春季及之前的代...

『Manjaro Linux』 Docker Easyconnect

『Manjaro Linux』 在 docker 中运行 easyconnect

为什么不直接运行 Easyconnect? Easyconnect(内网 VPN)与 Clash(科学上网代理)同时运行时,浏览器访问(或 cURL、dig)内网网站(使用域名)时会出现 DNS 解析失败的问题,但是 nslookup 可以解析域名。根据抓包报文分析,初步判断是 Easyconnect 无法很好处理 DNS 请求报文中的 Additional Records。理由是:nsl...

『Computer Architecture』 LoongArch32 (Reduced) Note

『计算机体系结构』 龙架构 32 位精简体系的笔记

本博客主要是为了精确地整理出 LoongArch32 (Reduced) 体系下的知识 存取地址与相关例外 MMU 接受一个地址,将根据 CPU 的状态,直接使用该地址或转化为另一地址后访问物理地址(可能访问内存,也可能访问 MMIO 的外设)。其具体逻辑可由下述伪代码描述: \[\begin{aligned} \tt proc ~~& \tt access(t...

『Agile Software Engineering』 Review

『敏捷软件工程』 回顾

问题回顾 A/B 测试:A/B 测试只设置了一个变量。若为了同时测试多个变量,是否能做多变量的测试呢? 不应该对过多的变量进行测试: 过多的变量导致待测产物过多,不好收集反馈 假设有 $n$ 个变量,那么如果对一个用户而言只呈现一种产品,则他能看到的待测产物比例是 $\displaystyle\frac{1}{n!}...

『Agile Software Engineering』 OSome Beta

『敏捷软件工程』 新一代 OS 课程平台(Beta 版本)

本博客旨在总结个人在 Beta 阶段中的工作。 Beta 阶段的开发历时 3 周,前两周为主要开发期,最后一周为测试稳定期 概览 在 OSome 平台的 Beta 阶段开发中,我们对任务进行了划分。我主要负责: 评测端设计与实现 WEB 后端 API 与评测机对接 数据模型设计 运维学习,熟悉平台整体 主要涉及的技术栈有: 数据库:...

『Agile Software Engineering』 OSome Alpha

『敏捷软件工程』 新一代 OS 课程平台(Alpha 版本)

本博客旨在总结个人在 Alpha 阶段中的工作。 Alpha 阶段的开发历时 3 周,前两周为主要开发期,最后一周为测试稳定期 概览 在 OSome 平台的开发中,我们对任务进行了划分。根据划分,我主要负责的是: 数据模型的建立与维护 WEB 后端 API 的设计与实现 WEB 后端 API 的单元测试 评测端设计与实现 WEB 后端与评...

『Agile Software Engineering』 Pair Programming Project

『敏捷软件工程』 结对编程项目

项目基本信息 结对成员:@coekjan & @roife Github 仓库地址:https://github.com/Coekjan/Word-Chain.git 采用 CI 技术生成可执行文件与 DLL:最终一版的 CI 产物 项目估计 见文末。 信息隐藏、松耦合与接口设计 在结对编程的过程中,我们采用了信息隐藏、松耦合等方法来完成接口设计: 划...

『Agile Software Engineering』 Software Case Analysis

『敏捷软件工程』 软件案例分析

本文分析的是 CSDN 中的技能树版块。 调研与评测 功能性 Bug 以下 bug 均在下述测试环境中发生且稳定复现: 操作系统:Manjaro 21.2.5 Qonos x86_64 Linux 5.16.14-1-MANJARO 桌面环境: KDE 5.91.0 / Plasma 5.24.3 分辨率: 3072x1920 ...

『Agile Software Engineering』 Read And Research

『敏捷软件工程』 阅读与调研

读《构建之法》 阅读过程中有下述疑问: A/B 测试:A/B 测试只设置了一个变量。若为了同时测试多个变量,是否能做多变量的测试呢? 事实上确实有多元测试(Multivariate Test)。多元测试有一个致命缺陷,需要测试的组合数与变量数之间是存在阶乘关系的,变量增多时开销将急剧变大。因此在“同时测试多个变量”和“开销”之间需要做决策。那么,在做权衡时,“同...

『MOS』 Local Development

『MOS』 本地开发

本文给出了一种搭建 MOS 的本地开发环境的方法。 安装 Docker 首先安装 Docker,Linux 和 MacOS 下都很容易安装好,Windows 下估计问题挺多的。 所以建议这就逃离 Windows 使用 MOS 的开发环境 Dockerfile 参考环境仓库,将此仓库克隆到本地: 1 $ git clone git@github.com:Coekjan/BU...