《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)

前言

开始阅读《深入理解计算机系统》这本经典书籍
本节是第一章
计算机系统漫游
可以看做整本书的绪论
整本书有800多页

1、信息就是位+上下文

这本书致力于让读者了解在系统上执行hello程序时
系统发生了什么以及为什么会这样

hello程序的生命周期从一个源程序hello.c开始
当然,这个hello.c就是个由ASCII码构成的文本文件
以字节序列的方式储存在文件中

2、程序被其他程序翻译为不同格式

编译系统
《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第1张图片

  • 预处理:cpp读取hello.c里的系统头文件,得到hello.i源程序
  • 编译:ccl将hello.i翻译为汇编语言程序hello.s
  • 汇编:as将hello.s翻译为机器语言,打包成可重定位目标程序,保存在二进制文件hello.o
  • 链接:dl处理函数合并,如printf函数在printf.o中,得到可执行文件hello

3、了解编译系统如何工作大有益处

了解编译系统如何工作能

  • 优化程序性能,第3,5,6章
  • 理解链接时出现的错误,第7章
  • 避免安全漏洞,第3章

4、处理器读并解释内存中的指令

输入命令后,shell将字符读入寄存器,再放入内存
《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第2张图片
利用DMA(第6章)数据不通过处理器直接从磁盘到达主存
《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第3张图片
代码和数据加载到主存,处理器开始执行hello程序
将hello,world字符从主存复制到寄存器,再从寄存器复制到显示

《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第4张图片

5、高速缓存至关重要

处理器和主存的读取速度差距持续增大
cache(高速缓存存储器)作为暂时集结区

  • 处理器上的L1容量可以达到数万字节
  • 通过特殊总线连接到处理器的L2可达到数百万字节
  • 更厉害的系统有三级,即L3
    《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第5张图片

6、存储设备形成层次结构

《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第6张图片
主要思想:上一层作为下一层的高速缓存

7、操作系统管理硬件

进程

操作系统对一个正在运行的程序的抽象
并发使用的上下文切换,由内核管理
第8章详细阐述
《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第7张图片

线程

一个进程由多个线程组成
每个线程共享同样的代码和全局数据
多线程通常可以使得程序运行更快

虚拟内存

这是一个假象:每个进程都独占的使用主存
每个进程看到的内存都是一致的,称为虚拟地址空间
《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第8张图片

文件

文件就是字节序列

8、系统之间利用网络通信

从一个系统的角度来看
网络可视为一个I/O设备
系统读取从其他机器发来的数据,复制到主存
第11章详细阐述

9、几个重要概念

amdahl定律

《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第9张图片

并发和并行

并发:同时具有多个活动
并行:用并发来使系统运行更快

抽象

文件:对I/O的抽象
虚拟内存:对程序存储器的抽象
进程:对正在运行的程序的抽象
《深入理解计算机系统》读书笔记(一)计算机系统漫游(绪论)_第10张图片

结语

预计到月底读完

你可能感兴趣的:(system,操作系统,计算机系统)