读《程序是怎样跑起来的》9-12
作者仔细讲解了源代码等知识 让我从断章取义理解的一个程序起始代码有了新的见解 有助于往后的学习 以往从未接触过此类书籍而有了新的视野 为了更好学习对重点内容进行摘抄
第九章
监控程序的主要功能是程序的加载和运行
在操作系统上运行的程序叫做应用或应用程序
操作系统的硬件控制功能通过一些小的函数集合体来提供 调用操作系统功能称为系统调用
在操作系统的运行环境下 应用需要通过操作系统来间接控制硬件
Windows是通过API的函数集来提供系统调用 API是联系做成应用的程序员和操作系统之间的接口 API的实体是用C语言编写的函数
GUI指的是通过点击显示器中显示的窗口及图标等可进行可视化操作的用户界面 GUI既难又简单
WYSIWYG指显示器上显示的内容可以直接通过打印机打印出来
Windows是通过时钟分割技术实现多任务功能 多任务值是同时运行多个程序的功能 时钟分割是·在短时间间隔内多个程序切换运行的方式 Windows中还具有以程序中的函数为单位来进行始终分割的多线程功能
网络功能和数据库功能与操作系统很接近 所以被统称为中间件 操作系统和中间件合在一起成为系统软件
第十章
本地代码的指令中表示其功能的英文缩写称为助记符
汇编语言的源代码转换成本地代码的方式称为汇编 负责转换工作的程序称为汇编器 本地代码转换成汇编语言的源代码的方式称为反汇编 汇编语言的原文件拓展名是.asm形式 汇编语言程序中的断定义指的是构成程序的命令和数据的集合组 汇编语言的跳转指令是在将程序流程跳转到其他地址时需要用到该指令
汇编语言的源代码是由转化成本地代码的指令和针对汇编器的伪指令构成的 伪指令负责把程序的构造及汇编的方法指示给汇编器
汇编语言指令的语法结构是操作码+操作数 操作码是表示的是指令动作 操作数表示的是指定对象
CPU的种类决定能够使用哪种类形式的操作码
内存中的储存区域使用地址编号来区分的
指令中最常使用的是对寄存器和内存进行数据存储的mov指令 Mov指令的两个操作数分别用来指定数据的存储地和读出源
在C语言中,在函数外部定义的变量称为全局变量 在函数内部定义的变量称为局部变量
汇编语言中有多个跳转指令 这些跳转指令会根据标志寄存器的值来判定是否需要跳转
第十一章
在汇编语言中 通过in指令和out指令来同外围设备进行输入输出操作
用来识别外围设备的编号称为I/O地址或者I/O端口号
用来识别具有DMA功能的外围设备的编号称为DMA通道
利用操作系统提供的系统调用功能 就可以实现对硬件的控制
Windows控制硬件是借助的是输入输出指令
In指令通过指定端口后的端口输入数据 并将其储存在CPU内部的寄存器中 Out指令是把CPU寄存器中储存的数据输出到指定端口号的端口
IRQ是用来暂停当前正在运行的程序并跳转到其他程序运行的必要机制 称为中断处理 中断编号是为了进行区分外围设备的终端请求使用 不同于 I/o端口的其他编号
按照顺序调查多个外围设备的状态称为轮询
DMA是指在不通过CPU的情况下 外围设备直接和主内存进行输出数据传送
显示器中显示的信息一直储存在VRAM内存中
第十二章
运用计算机进行的模拟实验叫做计算机模拟
伪随机数指的是通过公式产生的伪随机数 随机数的种子值指生成伪随机数的公式中使用的参数
控制是指CPU和各种设备之间配合进行数据的输入输出处理
随机数指的是随机出现没有规律的数值 通常所说的随机数指的是统一随机数 统一随机数值的是在一定数值范围内个数出现频率相同的随机数形式 借助公式产生的随机数具有一定的规律性 因此并不是真正的随机数 通常称之为伪随机数
大部分的C语言编译器都具有将C语言源代码转化成汇编语言的源代码的功能 以及可以在C语言源代码中嵌入汇编语言的特点
程序内容都是由数据和处理构成的 在C语言中,数据用变量来表示,处理用函数来表示
在C语言中 要从程序的角度来理解变量和函数
计算机中预先被定义过的位数和精度称为数据类型
系统提供的函数称为标准函数库 其可被各种程序使用的通用功能的函数
被作为函数的处理结果而返回的数值称为返回值
这本书结语有句非常好的话 “如果总是想一些令自己担心恐惧的事情 枯萎的花朵都能被看成幽灵”
浙公网安备 33010602011771号