0%

VGA 设定

首先简单看待调色板设定的相关程序,具体可以参考下面的链接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void set_palette(int start, int end, unsigned char *rgb) {
int eflags = io_load_eflags(); // 记录标志

io_cli(); // 禁止中断

io_out8(0x03c8, start); // vga 设定,参考:https://wiki.osdev.org/VGA_Hardware
for (int i = start; i <= end; i++) {
io_out8(0x03c9, rgb[0] / 4);
io_out8(0x03c9, rgb[1] / 4);
io_out8(0x03c9, rgb[2] / 4);
rgb += 3;
}

io_store_eflags(eflags);
}

GDT&IDT

GDT

“global segment descriptor table”,全局段号记录表。将段号记录在内存的某个地方,然后将内存的起始地址和有效设定个数放在CPU的GDTR的(global segment descriptor table register)特殊寄存器中。段寄存器是16位,但是由于cpu设定原因,低3位不可用,所以真正可以使用的位数为13位,即可以分为8192个段。

Read more »

工具介绍

Read more »

计算机体系结构背景

简单介绍一下,计算机体系结构狭义上是指关于指令集的设计(广义上的概念会在下一篇中定义),从我们学习的各种编程语言出发,向上是各种应用的编写,向下是程序语言如何编译成计算机所能执行的二进制文件,这里就需要和指令集打交道。高级语言一般不涉及到内存和硬件,在编译过程中指令集的体系结构会起到相当大的影响,比如调用指令集的ADD方法,在不同的指令集中有不同的实现,包括是否使用寄存器,使用多少寄存器,这会影响到程序执行速度以及程序的大小,体系结构也是主要是指令集的设计。

  • 桌面计算机强调涉及整数和浮点数类型的程序性能,很少考虑程序规模。

  • 服务器主要用于数据库、文件服务器和WEB应用,浮点性能的重要性远低于整数和字符串。

  • 个人移动设备和嵌入式应用看中成本和消耗。

Read more »

这才是心理学(11-12)How to think about psychology

 接近一周的对于这本心理学入门的书籍进行的笔记也结束了,后续会针对整本书进行一个总结和回顾吧。

第十一章 偶然性

 本章继续第10章介绍的概率,单独将概率中的偶然性拿出来进行讨论。

 首先,作者介绍了人们为什么对偶然性执迷不悟,同时指出偶然性的危害。

 人类大脑的进化方式,使得人类不懈地寻求世界中的各种模式,这也是人类智力的特征,促使了人类在信息处理和知识获取方面取得了辉煌的成就。但是,这种对于偶然性解释的进化,有时也会产生不好的效果。如一些金融分析师试图对每一次股市价格的微小波动做出解释,但是这种波动大部分情况下都是随机的,他们的执着于解释这些是为了让人们相信他们可以打败市场。同时即使有些人真的预测到一些变化,这种预测也是不可靠的。简单来说,假设将预测分为下跌和上涨两种情况,有1000人对第一次变化进行了预测,那么就会有500人可以对这次变化成功预测,这500人接着对第二次变化进行了预测,那么就会有250人对第二次变化成功预测,直到进行到第四次预测,那么仍然会有60人左右连着预测正确四次。因此,从概率上来说,总会有人在接下来的预测取得了成功,但是这些是不可靠的。

Read more »

这才是心理学(8-10)How to think about psychology

第八章 关联性和聚合性

 爱因斯坦综合征:认为所有科学的进步都符合“飞跃”模式,就像爱因斯坦对物理学做出的贡献一样。

 关联性原则:一个新的科学理论,必须与先前已经确定的实证事实所关联,即兼容旧的事实。即使是爱因斯坦理论中存在许多概念重构,其在低俗运动情况下的解释也和牛顿理论所做的预测基本相同。我们需要警惕一些伪科学中违反了关联性原则,即声称先前的数据结论不相关。很多科学领域的进步靠的不是单一的突破,而是一系列难以描述的时断时续的过程。

 聚合性原则:在没有一个单独的实验可以帮助一锤定音,而是每个实验都至少帮助排除一些替代解释。可以从实验局限性和理论检验的角度分别理解聚合性原则。

Read more »

这才是心理学(5-7)How to think about psychology

第五章 相关性与因果关系问题

 本章主要向读者解释两个变量具有相关性并不表示这两个变量存在因果关系。

 第三变量的存在会使两个变量之间产生误导性关联,这种第三变量有时候并不是很容易分辨。在“使用“烤箱法”避孕”这个案列中,可以很清楚的意识到由于经济水平的不同,导致了使用的避孕方法/工具的不同,从而影响到避孕效果,然而经济水平较高的家庭中往往会有一些高级家具如烤箱等,因此烤箱和避孕在调查中虽然显示了一定的联系,但是第三变量的存在(经济水平)才是正确的因果关系。当一些因果关系在常识看来是显而易见时,或者当我们带着强烈的预设偏见或者我们的理论取向支配了我们对现象的解释时,相关性很容易被视为因果关系的证据。

Read more »

这才是心理学(2-3)How to think about psychology

第三章 操作主义与本质主义

 操作主义是指科学理论的概念必须以某种方式建立在可观察事件的基础之上,或与之相关联,而这种可观察时间是可以被测量的。

 本质主义认为只有从内在本质或者本质的属性对现象做出终极的解释的理论,才是好的科学理论。

 科学家为操作主义者而不是本质主义者,因为他们并不尝试去回答任何关于“本质”的问题,同时这也不是科学本来面目,科学的独特优势提供一种消除错误的方法,这些错误是我们知识库中的一部分。如果将饥饿定义为“胃里的啃咬感”,这不是操作性的定义,因为其不可测量,而将其定义为可测量的食物消化时间或者一些血糖等生理指标,就是一种操作性的定义。科学中的概念是由一组操作定义的,这也促使我们更加全面地思考问题。我们需要培养对操作性定义的细节进行深究的习惯。

Read more »

这才是心理学(1-2)How to think about psychology

第一章 心理学介绍

 心理学作为一门科学,研究的是人类以及动物的行为,并且依据研究对行为做出预测。作者认为心理学和其他科学一样,是基于数据的科学的研究,但是心理学相对于其他科学如物理学、化学等,是一门较为“年轻”的学科。

 人们对于西格蒙德 佛洛伊德精神分析的“心理学理论”印象深刻,但是正如发展心理学家艾莉森 戈伯尼克所说佛罗伊徳理论是一种僵尸理论,它彻底误导了大众对于心理学徳印象。因为,其理论并不是建立在科学的研究之上得出的结论,而是依附于佛洛依德的个案研究以及自省。

Read more »