第1章计算机系统漫游
1.1 位(bit)、字节(8位)
文本文件:只由ASCII字符构成;
二进制文件:其他文件
1.2
Hello.c-----{预处理cpp}--->hello.i (修改文本,例如将头文件内容插入)-----{编译器ccl}-->hello.s(汇编程序)------{编译器as}--->hello.o(可重定位目标程序、二进制)+printf.o-----{链接器ld}--->hello(可执行目标程序、二进制);
GUN(GUN’s Not Unix);
1.3 IA32:32位机器语言、x86-64:64位机器语言;
1.4
总线:字长4个字节即32位(一般情况);
I/O设备:(包括磁盘驱动器);
主存:DRAM(动态随机存取存储器),用于存放程序和程序处理的数据;
处理器(CPU)分为:
①程序计数器(PC)
②寄存器文件
③算术/逻辑单元(ALU)
CPU在指令下可执行
①加载:从主存赋值到register上
②存储:从register复制到主存
③操作:两个寄存器的内容复制到ALU,运算后存放在寄存器
④跳转:从指令本身抽取一个字将其复制到PC中
指令集结构:描述每条机器代码指令效果;
微体系结构:描述处理器实际上如何实现
DMA(直接存储器存取):数据可以不容过处理器而直接从磁盘到达主存
1.5高速缓存L1,L2(SRAM)
1.6存储设备形成层次结构
1.7操作系统
基本功能: ①防止硬件被失控的应用程序滥用
②向应用程序提供简单一致的机制来控制复杂而又通常大相径庭的低级硬件设备
Unix和Posix标准;
抽象表示: ①文件(抽象表示):I/O设备
②虚拟存储器:主存、I/O设备
③进程:处理器、主存、I/O设备
④虚拟机:操作系统、处理器、主存、I/O设备
⑤指令集结构:处理器
进程的并发运行:进程指令与另一条进程指令交错运行;
进程的上下文切换及线程;
虚拟存储器:①程序代码和数据
②堆(运行时堆)
③共享库
④栈(用户栈)
⑤内核虚拟存储器
文件:包括磁盘、键盘、显示器、网络等;
Linux:类Unix的操作系统内核、Unix操作系统版本
1.8 系统之间利用网络通行
1.9 并发:同时具有多个活动的系统
并行:用并发使一个系统运行得更快
①线程级并发
②指令级并行
③单指令、多数据并行(SIMD)
Inter Core i7 一个核执行两个线程;
程序接口(API)