【Back to base】深入理解计算机系统 读书笔记 第一章 计算机系统漫游

计算机系统 是由 硬件 和 系统软件 组成的

只由ASCII字符组成的文件成为文本文件,所有其他文件都成为二进制文件。
(ASCII字符 可以转换成ASCII码 都是由一串位(bit) 组成的 )

编译系统

  1. 预处理阶段 .i
  2. 编译阶段 .s
  3. 汇编阶段 .o
  4. 链接阶段

一个典型系统的硬件组成

  • 总线
  • I/O设备,通过控制器或者适配器于总线相连
  • 主存,DRAM
  • 处理器,中央处理单元(CPU)

由于处理器和主存之间的速度差距,引入了告诉存储器的设计,L1和L2高度缓存是用静态随机访问存储器(SRAM) 实现的。

意识到高速缓存存在的应用程序员可以利用高速缓存将他们程序的性能提高一个数量级。

这里写图片描述
存储器层次结构

操作系统
* 进程,是对处理器、主存和I/O设备的抽象表示
* 虚拟存储器,是对主存和磁盘I/O设备的抽象表示
* 文件,是对I/O设备的抽象表示

进程,是操作系统对一个正在运行的程序的一种抽象。
操作系统保持跟踪进程运行所需的所有状态信息,这种状态也就是上下文。操作系统把控制权从当前进程转移到某个进程时,就会进行上下文切换。
一个进程可以有多个线程组成。多线程之间更容易共享数据。线程一般都比进程高效。

虚拟存储器是一个抽象的概念,它为每个进程提供了假象,即每个进程都在独占地使用主存。
每个进程看到的一致的存储器,称为虚拟地址空间。
* 程序代码和数据
* 堆
* 共享库
* 栈
* 内核虚拟存储器

文件就是字节序列,每个I/O设备,都可以视为文件。
网络也是一种I/O设备。

并发,一个同时具有多个活动的系统。
并行,用并发使一个系统运行得更快。
现代处理器可以同时执行多条指令的属性称为指令级并行。

抽象的使用是计算机科学中最重要的概念之一。
指令集结构提供了对实际处理器硬件的抽象。
虚拟机,对整个计算机的抽象。
计算机系统中的一个重大主题就是提供不同层次的抽象表示,来隐藏实际实现的复杂性。

你可能感兴趣的:(编程技术)