程序计数器

1. 什么是程序计数器

程序计数器:Program Counter(PC),Instruction Pointer(IP),是一个特殊的寄存器(register),用来存放 CPU 下一个将要执行指令的内存地址(Memory Address),注意它的功能是用来取得程序执行指令内存地址,并不是数据内存地址。

一般情况下,当系统重启后,PC 置为0,然后随着系统进程的运行,不断的开始计数。具体的,以一个系统进程为例,PC 开始初始化为0,(我们知道一个指令如果太长的话就会将它切为几段来放置在内存中)。

阅读更多

Mac 常用命令收录

Rolling Updating Log

文件类

目录相关

$ tree

作用:输出目录树层结构

输出目录树 n 层

1
$ tree -L n

阅读更多

操作系统-3 | 4 章

操作系统的基本概念

“差不多”精神

操作系统是人造科学,其中蕴含着“差不多”的思想,学习操作系统不可吹毛求疵。

硬件知识

概念上的结构:

  • 一条总线,各种硬件挂在这根总线上;而每个硬件都是通过对应的控制器连接到总线与 CPU 通信。

阅读更多

Google Search Tricks

2018-05-12 09:58:35 Update:

采用多种搜索方式的组合,提高搜索效率。(面向 Google 编程?emmm…)

搜索遵照的原则

  • 搜索的”句法”范围从宽泛到具体
    这样往往会包含到你需要的所有信息, 一开始的具体搜索并不是个好习惯, 因为你想要的信息网页上的提供者可能不是按照你需要的那样描述的, 一开始键入 关键词 可以覆盖的更多的信息.
  • 尝试用另一种表述
    用一种单一的表述来搜索可能不能找到你需要的信息, 尝试换一种表述来表达同样的意思.

阅读更多

Vim 配置与使用

2018-05-11 23:38:33 Update:

Vim 安装时

Mac 环境下,Vim 在安装之前就应该想好要用到支持哪些语言的编译,否则在安装好后需要某个插件时但是之前没有支持编译再重新安装 Vim 会很麻烦。且对应的 python 的版本号要注意。

注意: Neocomplete 需要 lua , YouCompleteMe 需要 python

阅读更多

学习是过程而非目的

学习是手段

今天看到一篇文章,作者讲述了他研究生毕业后才发现之前对待学习的态度都是将学习作为任务、作为目标去完成,而今才发现学习本不是这样,它是一个过程。

我们有时会为自己学习而感动,把每天学习了多长时间、学习了多少知识作为一种衡量标准,这种想法的结果是我们有时甚至连 学习 这件事都做不到,因为各种事情没有去学习,没有去做到这个目标。

阅读更多

操作系统-1 | 2 章

1,2章

人造科学

学习一门学科要用对应的思维模式,也是一种哲学。
作者反复强调一种观点:计算机科学不同于自然科学的发现,它是本来不存在的,是人类的发明,是人造的科学,人造的科学带有一定的不确定性,这并不像自然科学那样有着严格的数学意义和严谨的数学推理。既然是人为的科学便有种“差不多”式的学问在里面。对这点的理解可以结合算法的分析来看,算法的复杂的往往只是用它的最高阶来表示,大O记号来表示,这就不考虑那些低阶表达式的影响。在人造科学的学习上,逻辑关系的理解比细节的具体的量化信息更为重要。我们不能说一个程序一定没有Bug,而这个Bug有可能是逻辑的错误,有可能是计算机本身的数据的不精确产生。
人造科学的特点:

阅读更多

初探前端编程的结构

在捣鼓博客主题源码中学习!

阅读更多

元启发式算法

i.什么是元启发式算法

启发式算法

  • 启发式算法(Heuristic Algorigthm)是一种基于 直观或经验 构造的算法, 并没有严格的数学证明过程,在可接受的花费(指计算时间、计算空间等)给出待解决优化问题的每一实例的一个可行解,该可行解与与最优解的偏离程度一般不可以事先预计。
  • 意味着启发式算法可以在可接受的计算费用内找到最好的解,但不一定能保证所得到解的可行性及最优性,甚至大多数情况下无法阐述所得解与最优解之间的近似程度。例如它常能发现很不错的解,但也没办法证明它不会得到较坏的解;它通常可在合理时间解出答案,但也没办法知道它是否每次都可以这样的速度求解。

阅读更多

Google收录博客

本博客基于 Hexo 框架,目前使用 Yelee 主题,现在基本可以使用了。这里记录一下如何将博客添加到 Google 索引。

Google Search Console

这里只是简单介绍一下 Search Console,并不做深入的了解。

什么是 Google Search Console

阅读更多