© 2020 CHEN Yuhan

炸毛的秘密基地

「(o゜▽゜)o☆奇怪的知识增加了」

编写内核

中断处理函数和时钟中断的实现 / OS / asm

DCS218 - Operating Systems Lab 2021 Spring 前言 本文章介绍操作系统内核最重要的功能之一————时钟中断的实现。 编写内核 bootloader 中加载操作系统内核到地址 0x20000,然后跳转到 0x20000 。内核接管控制权后,输出...

C/C++/x86asm 混合编程

/ OS / C/C++ / asm /

DCS218 - Operating Systems Lab 2021 Spring 前言 本文章介绍了 C 代码调用汇编函数的语法和汇编代码调用 C 函数的语法,以及 C/C++ 混合编程。 混合编程 global 在汇编中告诉编译器后续跟的是一个全局可见的名字,可能是函数名也可能是变量名。 ...

加载 bootloader & 进入保护模式

/ OS / asm /

DCS218 - Operating Systems Lab 2021 Spring 前言 本文章介绍了 LBA 和 C/H/S 读取磁盘加载 bootloader,进入保护模式并执行自定义的汇编程序。 1. bootloader 的加载 1.1 LBA方式读取磁盘加载 bootloader ...

加载 MBR 运行 x86 汇编程序

用文本模式控制显存在屏幕上打印 / OS / asm

DCS218 - Operating Systems Lab 2021 Spring 前言 本文章介绍了 x86 汇编、计算机的启动过程、IA-32 处理器架构和字符显存原理。编写程序让计算机在启动后加载运行,使用 gdb 来调试程序,以此增进对计算机启动过程的理解。 1.1 输出 Hellowor...

浅谈左值和右值

lvalue & rvalue / C/C++

本文章主要介绍 C/C++ 编码中常见的左值 (lvalue)、右值 (rvalue) 的概念和左值引用 (lvalue reference) 、右值引用 (rvalue reference) 的概念。 左值与右值 首先,如果按照字面意义来理解,左值似乎就是指等号左边的值,右值就是指等号右边的值。当然,也有人...

编译并启动 Linux 内核

在 Linux 上构建 OS Kernel 开发环境 / OS / Linux

DCS218 - Operating Systems Lab 2021 Spring 前言 本文章介绍了在 Linux 虚拟机上搭建操作系统内核开发环境、编译 Linux 内核、使用 Qemu 启动内核并开启远程调试、制作Initramfs 并编译并启动 Busybox 的过程。 目的 熟悉...

Français Primaire Ⅰ

/ Notes /

FL2289 - Français Primaire Ⅰ 2020 Automne Prononciation L’alphabet français g [ʒe] j [ʒi] q [ky] r [εr] v [ve] w: « double v » x [iks] ...

尼采的权力意志和自我超越

Der Wille zur Macht & Übermensch / 漫谈

PHI146 - Nietzsche Study 尼采的哲学思想与叔本华的哲学思想一脉相承。尼采继承了叔本华使用意志这一人的非理性因素来构造人生哲学的思想,从非理性人的个体存在出发,来构造他的哲学体系。但其中也含有推翻叔本华的内容,比如尼采认为“凡有生命处,就有意志,但不是求生命的意志,而是——我要如是...