《程序是怎样跑起来的》笔记

备注:本文是《程序是怎样跑起来的》--矢泽久雄 读书笔记

章节摘要备注总结
对程序员来说 CPU 是什么CPU 内部由寄存器,控制器,运算器和时钟四个部分组成有些 CPU时钟部分在外部
程序启动后,控制器从内存读取指令和数据
程序存储在内存中,CPU来执行
对程序员来说 CPU 是什么CPU是寄存器的集合体程序是把CPU作为寄存器来描述的机器语言要靠操作寄存器实现功能
对程序员来说 CPU 是什么机器语言指令的主要类型和功能数据转送指令
运算指令
跳转指令
call/return指令
无论多复杂的程序,最终都要靠
这几类简单的指令来实现效果
数据是用二进制表示的所有位都是1的二进制数,十进制就是 -1知识点
数据是用二进制表示的字节是基本单位,位是最小单位八位一个字节
数据是用二进制表示的将二进制数的值取反后加1的结果,和原来的值相加等于01 =  0000 0001
-1 = 1111 1111   二者相加为0
补数 = 取反加1
计算机进行小数运算时出错的原因二进制0.1表示十进制的0.5小数点后一位的位权是 2-1 = 0.5
计算机进行小数运算时出错的原因浮点数是用符号,尾数,基数,指数四部分表示小数的double 双精度, float 单精度
熟练使用有棱有角的内存内存的物理机制很简单:电源,地址信号,数据信号,控制信号
熟练使用有棱有角的内存数据类型表示存储的是何种类型的数据存内存角度:数据类型就是占用的内存大小相同的内存数据 eg 00110011
具体表示的数据不一定相同
熟练使用有棱有角的内存数组是使用内存的基本因为数组和内存的物理结构是一样的栈,队列均是通过数组实现
熟练使用有棱有角的内存链表可以方便追加和删除元素
熟练使用有棱有角的内存二叉查找树是由链表构造发展而来的一个节点有两个指向即可
内存和磁盘的亲密关系内存:利用电流实现存储
磁盘:利用磁效应实现存储
内存高速高价,磁盘低速廉价磁盘分为两类,
一类是硬盘,一类是软盘。
内存和磁盘的亲密关系磁盘缓存时指把磁盘中读取的数据存储到内存空间中的方式实际上占用的是内存空间
内存和磁盘的亲密关系虚拟内存是把此磁盘的一部分当做内存使用实际上是磁盘
内存和磁盘的亲密关系DLL(Dynamic Link Library)文件实现函数共有可以提高内存效率
内存和磁盘的亲密关系Windows一个扇区是512字节,簇是扇区的整数倍不同的文件不能存储在同一簇中
文件不管多小,都会占用一簇的空间
亲自尝试压缩数据ELE(Run Length Encoding) 数据*重复次数 的压缩方法缺点是不适于重复度小的数据类型,例如文本
亲自尝试压缩数据哈弗曼算法能够大幅提升压缩比率
程序是在何种环境中运行的运行环境 = 操作系统 + 硬件
程序是在何种环境中运行的机器语言的程序成为本地代码
程序是在何种环境中运行的Windows克服了除 CPU 之外的硬件差异1 Windows 可以统一管理输入,输出,内从等
2 Windows 是有对应特定 CPU 要求的
程序是在何种环境中运行的应用程序向操作系统传递指令的途径成为API
从源文件到可执行文件把源代码转换为本地代码的程序称作编译器
从源文件到可执行文件编译器不仅和编程语言有关,和 CPU 的类型也是相关的
操作系统和应用的关系具有加载和运行功能的监控程序是操作系统的原型
操作系统和应用的关系最初的操作系统 = 监控程序 + 基本的输入输出程序
操作系统和应用的关系开发时类似 printf() 这些函数的运行结果,都不是
面向硬件而是面向操作系统的.
应用程序通过 OS 间接地控制硬件
操作系统和应用的关系文件是操作系统对磁盘媒介的抽象化
操作系统和应用的关系Windows 通过时钟分割技术来实现多任务
通过汇编语言了解程序的实际构成汇编的语法结构是 操作码 + 操作数
通过汇编语言了解程序的实际构成在汇编语言中,函数名表示的是函数所在的内存地址
通过汇编语言了解程序的实际构成函数的参数是通过栈来传递,返回值是通过寄存器来返回的局部变量也会利用空闲的寄存器
硬件控制方法以端口为桥梁来实现 CPU 和外围设备之间的数据传递
硬件控制方法DMA(Direct Memory Access),是指在不通过CPU的情况下
外围设备直接和主内存进行数据传送
硬件控制方法I/O端口号 IRQ  DMA 通道可以说是识别外围设备的3组合
让计算机"思考"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值