
《程序是怎样跑起来的》读书笔记
文章平均质量分 69
本文为《程序是怎样跑起来的》读书笔记。
杨金牛的技术笔记
编程是一门艺术,一门需要用心学习的艺术。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
应用程序怎么控制cpu和主内存以外的硬件?
应用程序怎么控制CPU和主内存以外的硬件?应用程序通过调用Windows提供的API间接控制硬件,而windows也是软件,所以windows应该向CPU传递了某些指令,从而通过软件控制了硬件!而Window控制硬件时借助的是输入输出指令。其中具有代表性的两个输入输出指令就是IN和OUT;IN指令: 将指定端口号的端口中的数据,输入到CPU内部的寄存器中。OUT指令: 把CPU寄存器中存储的数据,输出到指定端口号的端口中。1.什么是端口和端口号?由于计算机主机与外围设备电压不同,不能直接相连原创 2021-06-01 14:35:13 · 590 阅读 · 0 评论 -
CPU之寄存器机制
CPU之寄存器机制1.CPU结构CPU的内部由时钟、控制器、运算器、寄存器四个部分构成,各部分之间由电流信号相互连通。时钟: 发出CPU运行时所需的时钟信号。不过,也有些计算机的时钟位于CPU的外部。寄存器: 用来暂存指令、数据等处理对象。根据种类的不同,一个CPU内部会有20~100个寄存器。控制器: 把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机。运算器: 运算从内存读入寄存器的数据。程序启动后,根据时钟信号,控制器会从内存中读取指令和数据。通过对这些指令加以原创 2021-06-08 22:50:12 · 1161 阅读 · 1 评论 -
磁盘与内存的亲密关系 -磁盘缓存和虚拟内存
内存和磁盘的亲密关系1.前提内存与磁盘都是存储部件,内存利用电流来存储、磁盘利用磁效应来存储。内存高速高价,磁盘低速廉价。现在计算机最少配备512M内存和80G磁盘。存储在磁盘中的程序必须先加载到内存中才能运行。这是因为cpu需要程序计数器指定内存地址,然后才能读出程序来运行。即使可以从磁盘中读取,程序的运行速度还是会降低。2.磁盘缓存磁盘缓存指把磁盘中的数据读出并存储在内存中。这样下次再要读取相同的数据只需到磁盘缓存中读取,提升了磁盘数据的访问速度。windows操作系统中就提供了磁盘缓存原创 2021-06-02 16:52:12 · 1236 阅读 · 0 评论 -
二进制之补码与小数
牛逼的二进制1.前言计算机使用二进制来表示所有形式的数据:颜色、文字、图像等。当前辈们想方设法要造一台计算机时都会遇到一个问题:怎么用电来表示数? 显然他们发现开关的开和关正好对应二进制的0和1,然后计算机就使用二进制直到如今。那计算机怎么使用二进制表示负数呢?怎么表示小数?怎么进行运算呢?2.用二进制表示负数由于二进制不能表示负数,所以必须使用正数来表示负数,将最高位当符号位使用,0正1负,这样就可以使用加法来进行减法运算。而补数就是用正数表示负数,一个正数的补数就是它的负数,所以二进制数与它原创 2021-06-06 22:21:28 · 6401 阅读 · 4 评论 -
操作系统和应用的关系
操作系统和应用的关系1.什么是应用?实现某些功能的程序就是应用,想想微信、王者荣耀,这些都是应用;通常叫APP;2.什么是操作系统?基于计算机的硬件组成,刚开始时前辈们使用机器语言编写程序,再通过开关将程序输入到内存中;于是为了方便,有人编写了监控程序,只需事先启动,就可以将各种程序加载到内存中并运行;这就是操作系统的原型;在使用监控程序的过程中,前辈们发现很多程序都有共同的功能,比如键盘输入、显示器输出等,这一部分程序就被追加到监控程序中;随着时间的推移,更多功能被加入监控程序中(比如操作硬件原创 2021-05-31 15:26:12 · 1867 阅读 · 2 评论 -
程序编译与运行流程
程序编译与运行流程1.什么是编译为了方便人类理解和编程,前辈们发明了高级语言,但是计算机cpu只认识机器语言:将高级语言编写的文件经过加工变成机器语言的过程叫编译;而高级语言编写的文件叫源文件,加工后的cpu可以解释运行的叫可执行文件;负责实现该功能的是编译器。2.什么是编译器编译器也是程序的一种,所以也需要自己的运行环境(运行环境=操作系统+硬件);编译器是高级语言和机器语言的桥梁,所以它与编程语言的种类以及cpu的种类有关,因为不同类型的cpu有不同类型的机器语言;当我们要买一个编译器时,可原创 2021-05-31 15:33:56 · 1506 阅读 · 0 评论 -
文件压缩 之RLE算法和哈弗曼算法
文件压缩1.什么是文件?文件是存储在磁盘等媒介中的一种形式,磁盘是以字节为单位存储的,所以文件也是。存储文字的叫文本文件,存储图形的叫图像文件。2.压缩算法之RLE算法RLE算法是使用“数据 * 重复次数”来表示数据的一种方法。比如数据AAAAASSRRR,使用RLE算法表示为:A5S2R3,从10个字节压缩到6个字节。但这种算法只适用于有重复字节出现的文件,比如图像文件,但并不实用与于文本文件。3.压缩算法之哈弗曼算法哈弗曼算法是将出现频率高的字符用尽量少的位数来表示。比如一个文本文件中“I原创 2021-06-02 11:23:40 · 2824 阅读 · 0 评论