<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[UTF80的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/UTF80</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; UTF80]]></copyright><item><title><![CDATA[商业 v. s. 自由 ——W*ndows v. s. 现代UNIX]]></title><link>https://blog.csdn.net/UTF80/article/details/123547219</link><guid>https://blog.csdn.net/UTF80/article/details/123547219</guid><author>UTF80</author><pubDate>Thu, 17 Mar 2022 14:46:51 +0800</pubDate><description><![CDATA[导读
“天下没有免费的午餐。”
这句话只说对了一半。对于软件业，或者更准确一点，自由软件业，这并不一直是对的。
商业软件公司正在控制着我们——普通计算机用户甚至专业的程序员——的大脑，在我们的潜意识里面，似乎只有大公司的东西才质量好。下面是几个场景：

我倾向通过收费的网课、系列视频或者文章来学习技术，而不是阅读软件自带的免费文档或者是免费外语甚至中文标准，因为前者更容易。
免费的东西都是劣质的。只有收费的东西才可以保证质量高。
不会有人将优质资源公开免费，除非他们有着特殊目的。
大公司的软件比一群只因为兴]]></description><category></category></item><item><title><![CDATA[RISC-V 架构指令集手册 第一册 无特权指令集 中文翻译]]></title><link>https://blog.csdn.net/UTF80/article/details/122767024</link><guid>https://blog.csdn.net/UTF80/article/details/122767024</guid><author>UTF80</author><pubDate>Tue, 01 Feb 2022 23:17:23 +0800</pubDate><description><![CDATA[RISC-V 手册页，部分翻译]]></description><category></category></item><item><title><![CDATA[Huffman赫夫曼编码的工作原理]]></title><link>https://blog.csdn.net/UTF80/article/details/116334238</link><guid>https://blog.csdn.net/UTF80/article/details/116334238</guid><author>UTF80</author><pubDate>Sat, 01 May 2021 23:00:04 +0800</pubDate><description><![CDATA[谈到压缩这玩意儿，大家可能会想到忘记压缩密码将巨大文档变成一个神秘的小文件，而且你还通过这个小文件来恢复这个巨大文档。但是，大家一定都想过，为什么压缩能这么神奇呢？



首先抛开那些什么二叉树，二分查找的。假如让人帮忙复述这一段话：





中华人民共和国于公元2008年在北京举办了奥林匹克运动会。



他可能会说成：





中国2008年在北京举办了奥运会。



一下子短了将近一半！这是怎么回事儿啊？



我们都知道，中国就是指中华人民共和国，奥运会就是指奥林匹克运动会。...]]></description><category></category></item><item><title><![CDATA[空指针 - segmentation fault: 栈中的临时变量]]></title><link>https://blog.csdn.net/UTF80/article/details/115561694</link><guid>https://blog.csdn.net/UTF80/article/details/115561694</guid><author>UTF80</author><pubDate>Fri, 09 Apr 2021 23:34:16 +0800</pubDate><description><![CDATA[所谓 空指针，其实就是指内存地址0。这个地址操作系统保留，是不能够被访问的。所以，尝试访问一个空指针，程序就会崩溃。
而大家熟悉的 segmentation fault (段错误，段异常)，就是因为访问一个不存在的地址 (或尝试访问操作系统的地址)。
程序就会崩溃，不是说程序运行不下去了。我们常见的Intel x86系列处理器在遇到这类错误时候回产生一个中断，而操作系统收到这个中断以后，就知道，现在运行的程序出现了错误，把他kill (杀死，结束)掉吧。
Windows系列系统在遇到这类问题，会显示如下图的]]></description><category></category></item><item><title><![CDATA[32位有符号整形的溢出]]></title><link>https://blog.csdn.net/UTF80/article/details/115273582</link><guid>https://blog.csdn.net/UTF80/article/details/115273582</guid><author>UTF80</author><pubDate>Sat, 27 Mar 2021 23:15:27 +0800</pubDate><description><![CDATA[最近，笔者当然还是在努力写系统，并且在笔者的“滋润”下，我们的cunix系统已经有一个操作系统的样子了。大家可以看看https://github.com/pengruiyang-cpu/cunix.git，gitee上也有，https://gitee.com/pengruiyang-cpu/cunix.git，有兴趣的当然可以向上面提交代码啦，作为开源与GPL的狂热热爱者，笔者当然欢迎。
今天我们要聊的这个“诡异的数值”，几乎就是一本活生生的教科书，是笔者在编写cunix的文件系统时出现的一个问题。代码笔者]]></description><category></category></item><item><title><![CDATA[我的OS | 一个文件系统的设计与实现]]></title><link>https://blog.csdn.net/UTF80/article/details/112758379</link><guid>https://blog.csdn.net/UTF80/article/details/112758379</guid><author>UTF80</author><pubDate>Sun, 17 Jan 2021 21:40:33 +0800</pubDate><description><![CDATA[今天，笔者要设计一个类似ext2的文件系统CFS (cunix file-system)，在https://github.com/pengruiyang-cpu/rlib上的cfs.c和cfs.h。
设计
不管啥样的文件系统，他都是由这几个部分组成的：

启动区
超级块
根目录
数据区

(NTFS, FAT系列文件系统将超级块放到了启动区内)
所以，咱们就一个个的分析，一个个设计吧。
启动区 + 超级块
CFS的启动区就放在超级块的前512个字节里头，里面只放了代码，文件系统的全部信息都存储在超级块409]]></description><category></category></item><item><title><![CDATA[尝试使用Linux操作系统]]></title><link>https://blog.csdn.net/UTF80/article/details/112792180</link><guid>https://blog.csdn.net/UTF80/article/details/112792180</guid><author>UTF80</author><pubDate>Sun, 17 Jan 2021 21:37:38 +0800</pubDate><description><![CDATA[最近将近一个月，笔者都没有更新。主要是因为笔者卡在这里好久了，保护模式一直都没法切换成功，更不用说去使用C语言了。笔者的电脑在这几天也崩溃过好几次，Windows实在不稳定。笔者也想要换...]]></description><category></category></item><item><title><![CDATA[GitHub pages搭建个人博客]]></title><link>https://blog.csdn.net/UTF80/article/details/107380621</link><guid>https://blog.csdn.net/UTF80/article/details/107380621</guid><author>UTF80</author><pubDate>Fri, 11 Dec 2020 16:01:07 +0800</pubDate><description><![CDATA[很多人肯定都想做一个自己的网站，但是苦于没有经费（穷）。毕竟服务器和域名都是很贵的。但是，我们经常用的GitHub就可以给你一个免费搭建网站的机会。
起步
注册Github账号
首先当然是要注册一个GitHub的账号，如果你已经有了可以跳过这部分。不过要注意的是，你的用户名最终会作为你的网址，如果你的用户名是pengruiyang-cpu，最终的网址就会是http://pengruiyang-cpu.github.io/
首先打开GitHub主页

这里username可以任意填，如果有重名的GitHub会]]></description><category></category></item><item><title><![CDATA[一个64位操作系统的设计与实现源代码下载]]></title><link>https://blog.csdn.net/UTF80/article/details/108052137</link><guid>https://blog.csdn.net/UTF80/article/details/108052137</guid><author>UTF80</author><pubDate>Mon, 17 Aug 2020 11:22:54 +0800</pubDate><description><![CDATA[之前发布了一篇文章《一个64位操作系统的设计与实现的源代码下载地址》，里面有这本书的源代码和效果图下载地址，但由于是CSDN下载，很多小伙伴买不起。
有一位小伙伴就提醒笔者了，图灵这本书的主页是有下载链接的，还是免费的，大家可以从这里免费下载。
点我点我
啊对了，笔者的公众号“彭睿扬”正在做一个操作系统，欢迎关注阿！

...]]></description><category></category></item><item><title><![CDATA[Linux 0.0.1源代码下载]]></title><link>https://blog.csdn.net/UTF80/article/details/107488393</link><guid>https://blog.csdn.net/UTF80/article/details/107488393</guid><author>UTF80</author><pubDate>Tue, 21 Jul 2020 14:47:12 +0800</pubDate><description><![CDATA[欢迎关注个人公众号彭睿扬，专用于分享学习心得 啊呸，玩耍心得
很多人对Linux那是无比的着迷，但是这玩意儿动不动就200000000000000000000、300000000000000000000000行，（给我数清楚几个零！）太烦人了，而且不知道从哪里开始看。（到现在main函数都没找到）今天找到了一个Linux 0.0.1源代码的下载，放到了GitHub上。
不吝啬的话，欢迎点击(910, 210)处的那个点

...]]></description><category></category></item><item><title><![CDATA[你的代码被冰冻到北极了吗？]]></title><link>https://blog.csdn.net/UTF80/article/details/107488584</link><guid>https://blog.csdn.net/UTF80/article/details/107488584</guid><author>UTF80</author><pubDate>Tue, 21 Jul 2020 14:43:23 +0800</pubDate><description><![CDATA[最近真是被Github官方的一条消息给刷屏了呀：
近日，GitHub 官方推文宣布，代码永久保存计划顺利完成，代码已经于 7 月 8 日正式保存到 the Arctic Code Vault
存储的地点正是北极，并且至少保存1000年。保存的内容是截止今年2月2日GitHub上所有开源项目的代码快照备份
为什么要实施该永久保存计划？
想必大家都了解过一个叫做国际种子库的计划，就是把世界各地各种的植物种子保存在地下仓库里，以防因全球物种迅速缩减而造成物种灭绝，而那个种子库也正是在北极
同样，存储在现代设备平台]]></description><category></category></item><item><title><![CDATA[我的OS | 分段和分页]]></title><link>https://blog.csdn.net/UTF80/article/details/107455098</link><guid>https://blog.csdn.net/UTF80/article/details/107455098</guid><author>UTF80</author><pubDate>Sun, 19 Jul 2020 13:55:33 +0800</pubDate><description><![CDATA[今天这篇文章很长，但是如果静心读下来，一定会有所收获的。最近，笔者一直在忙着编写切换到保护模式的代码，但由于能力不足，一直没有编写出来。在上一篇文章中有这么一句：; 设置bits31为0...]]></description><category></category></item><item><title><![CDATA[几款超好看的英文字体]]></title><link>https://blog.csdn.net/UTF80/article/details/107454883</link><guid>https://blog.csdn.net/UTF80/article/details/107454883</guid><author>UTF80</author><pubDate>Sun, 19 Jul 2020 13:55:33 +0800</pubDate><description><![CDATA[对于笔者来说，有一款看着顺心的英文字体肯定是一件很重要的事情。今天这篇文章笔者就来推荐几款笔者很喜欢的英文字体(完全免费)。并且这些字体都可以在https://pengruiyang-c...]]></description><category></category></item><item><title><![CDATA[我的OS | 为切换到C语言做准备]]></title><link>https://blog.csdn.net/UTF80/article/details/106450112</link><guid>https://blog.csdn.net/UTF80/article/details/106450112</guid><author>UTF80</author><pubDate>Sat, 30 May 2020 21:27:11 +0800</pubDate><description><![CDATA[注意啊，没看下面的文章的要先看看下面的，再看这一篇啊。我们刚才成功从启动层跳转到了内核程序，现在就应该从内核程序执行C语言了。但是，由于现在的CPU处于实模式中，而我们计划使用保护模式，...]]></description><category></category></item><item><title><![CDATA[我的OS | 地图和航灯]]></title><link>https://blog.csdn.net/UTF80/article/details/106450111</link><guid>https://blog.csdn.net/UTF80/article/details/106450111</guid><author>UTF80</author><pubDate>Sat, 30 May 2020 21:27:11 +0800</pubDate><description><![CDATA[看到这个标题，大家可能会很奇怪“地图是什么高科技啊？”其实地图和航灯的意思是大家可以根据这篇文章来知道自己到底要干什么，不要干到一半之后忘记了自己到底要干什么了。我们叫这个操作系统叫做M...]]></description><category></category></item><item><title><![CDATA[我的OS | 不要欺负BIOS，好吗]]></title><link>https://blog.csdn.net/UTF80/article/details/106450110</link><guid>https://blog.csdn.net/UTF80/article/details/106450110</guid><author>UTF80</author><pubDate>Sat, 30 May 2020 21:27:11 +0800</pubDate><description><![CDATA[我们在第二篇文章中讲了如何制作一个启动层，但是，人家BIOS只读取一个扇区，我们也不能只做一个扇区啊？上次我们生成的文件是一个.img格式的文件，这是一个磁盘映像文件，磁盘映像文件是一个...]]></description><category></category></item><item><title><![CDATA[我的OS | 从启动层加载内核程序]]></title><link>https://blog.csdn.net/UTF80/article/details/106450109</link><guid>https://blog.csdn.net/UTF80/article/details/106450109</guid><author>UTF80</author><pubDate>Sat, 30 May 2020 21:27:11 +0800</pubDate><description><![CDATA[上一篇文章我们制作了一个启动层，它可以在屏幕上输出一条信息。但是，由于一个扇区只有512字节，而一个操作系统少说也有1MB左右，所以，我们需要从磁盘读取内核程序到内存，然后用汇编jmp指...]]></description><category></category></item><item><title><![CDATA[我的OS | 确认操作系统的执行状态]]></title><link>https://blog.csdn.net/UTF80/article/details/106294075</link><guid>https://blog.csdn.net/UTF80/article/details/106294075</guid><author>UTF80</author><pubDate>Fri, 22 May 2020 17:38:47 +0800</pubDate><description><![CDATA[为了方便管理，“我的OS”源代码已经上传到GitHub。网址：https://github.com/pengruiyang-cpu/My-OS/昨天，我们成功制作了一个启动层。但是，这玩...]]></description><category></category></item><item><title><![CDATA[什么是栈]]></title><link>https://blog.csdn.net/UTF80/article/details/106294073</link><guid>https://blog.csdn.net/UTF80/article/details/106294073</guid><author>UTF80</author><pubDate>Fri, 22 May 2020 17:38:47 +0800</pubDate><description><![CDATA[栈说白了就是内存中的一块地址，是用来存储类似于变量，函数之类的程序需要它，但放到内存地址中太不容易找的东西。你明白了吗？阅读 10万+...]]></description><category></category></item><item><title><![CDATA[文本编辑器，选什么好]]></title><link>https://blog.csdn.net/UTF80/article/details/106271359</link><guid>https://blog.csdn.net/UTF80/article/details/106271359</guid><author>UTF80</author><pubDate>Thu, 21 May 2020 14:15:20 +0800</pubDate><description><![CDATA[想要编程，必须要有一个顺手的文本编辑器。这篇文章列出了作者用过的一些文本编辑器，由时间排序。第一名：记事本这个是笔者用过的第一个文本编辑器，缺点很多，优点倒是“很多”。例如：简单（简陋）...]]></description><category></category></item></channel></rss>