0%

一、总论

1.1 直观理解

Unit2 的问题以电梯作为题目背景出题,刚做题的时候很容易就把这个单元的任务当成了处理多线程,当我全部完成这些作业以后,发现仅仅将 U2 概括为多线程,是一个十分片面的直观理解。

我觉得应该这么理解,U2 要完成的东西有(当然可以不完成):

  • 多线程设计:这比原来的处理多线程要难一些,处理多线程类似于能跑就行了,但是多线程设计偏向于跑的好,除了比较基础的生产者消费者模型,如果能再次基础上应用 Furture 、Balk、Work-Thread 等模式,可以做到一个更好的优化,此外,限制线程的种类,优化资源管理,这些东西都要比“抄一个多线程模型”要难很多。
  • 面向对象设计:面向对象是一种管理代码的方式,只有代码量激增的时候,面向对象对代码的管理能力才能超越面向过程。因此这个其实是一个可选项,因为如果采用一些思路的话,代码量很少,只有采用及其牛逼的调度器策略的时候,才有代码量激增的情况。
  • 数据结构设计:这是这次新题目的新难题,因为虽然题还是那个题,但是原来只有一栋楼,现在是 15 栋楼或者是 50 个坐标,总之如何处理这些请求的位置,就成了一个难题。我个人做的就极其繁复,会把每一层每一个方向单独作为一个集合,但是其实把所有请求不加分类的放进一个一维的集合中,似乎可维护性和可拓展性都会强很多。
  • 运筹:这回的题目最大的特点就是优化是永无止境的,而且是没有方向的,我们只知道一件事:我们不知道怎么优化。电梯调度算法其实是一个研究很深的问题,在运筹学上专门有一章去讲这个,似乎叫“电梯群控理论”。我翻了一些论文,感觉不仅我不知道怎么优化,似乎写论文的人也不知道怎么优化。但是估计他们也有ddl,所以估计应付应付就交了。
Read more »

综述

之所以在介绍 C++ 的文章里 C 语言,是因为 C++ 确实脱胎于 C,所以很多语法现象都是和 C 保持一致的。


运算符优先级

虽然盲目的整理过会就忘,但是还是有很多可以记住的东西

Read more »

这是一次对于 MOS 内存管理的钻牛角尖梳理,在梳理过程中诞生了一些奇怪的东西。

kseg0 的第一性映射

操作系统的代码不是 C 就是汇编。所以我们从一开始就在使用虚拟空间了。但是很有意思的是,我们为什么可以?我们在一开始的时候没有内存控制块,也没有页表结构。所以我们到底是怎么完成映射的?

其实就是对于 kseg0,只要我们往里面写东西,那么内容就会直接写到高位抹零后对应的物理地址上。这种映射是第一性的,也就是说,即使我一直不建立内存控制块,一直不建立页表结构,只要我用链接器把代码放到了 kseg0,那么这种关系依然是成立的。我写的每一段代码,操作的每一个数据,都是直接写到物理内存中的,不走 MMU,不查页表。这是一切的本源。

关于 kseg1 的情况,其实应该是书里写错了,采用的映射关系其实不是抹掉高 3 位以后映射到物理地址,而是映射到了设备总线。只有这样,才可以避免 kseg0 和 kseg1 的不同的虚拟页面映射到同一个物理页框。不同的虚拟页面确实可以映射到同一个物理页框,但是这意味着这两个虚拟页面的内容应该是相同的,但是显然这两个段内容显然不是相同的,所以两个段必然不能遵守书中的规则。

Read more »

一、总论

1.1 软硬件分工

首先先明确,异常处理流是一个需要软硬件协作的流程。如果仅仅掌握了计组的知识,是没有办法对于异常处理流有一个很好的认识的。但是如果掌握了操作系统知识,而没有掌握计组知识,则不会有任何的实现负担。这是因为在 CPU 层面已经将异常处理流的硬件部分封装起来了(整个封装过程就是 P7,可以看到 P7 还是很难的),我们只要了解一下 CPU 提供给操作系统的接口,就可以利用这些接口提供的信息和功能完成异常处理流的软件部分。这是完全没有问题的。

我们有如下示意图:

异常处理总论.drawio

Read more »

image-20220424234051845

Just like the picture on this PowerPoint, today we are going to tell a romantic love story, the main characters of the story are Wallis (that is, the lady on the left side of the picture) and Edward (that is, the gentleman on the right side of the picture). Interestingly, even their initials together are the romantic “WE”. But believe me, their story is far more legendary than the coincidence of names.

image-20220424234122133

I believe that we have more or less seen Qiong Yao’s novels or idol dramas, in which the heroes are very outstanding, they can give more than 100,000 dollars of money to the girl of their choice.They often talk about sending the Eiffel Tower and large square feet of the building.

image-20220424234453549

Read more »

因为笔者鸽了,所以这里的代码就截止到 lab2 了,lab3 和 lab4 的代码在异常处理流那篇文章中有

MOS 源码解读

[TOC]

boot/

start.S

Read more »