【第一章】 计算机系统漫游

1.1 信息就是位+上下文

系统中的所有信息——包括磁盘文件、内存中的程序、内存中存放的数据以及网络上传送的数据,都是由一串比特表示的。区分不同数据对象的唯一方法就是我们读到这些数据对象的上下文。


1.2 程序被其他程序翻译成不同的格式

  • 编译系统的四个阶段:预处理-编译-汇编-链接
    • 预处理阶段:源文件纯粹的替换与展开,没有任何计算功能,生成.i文件。有以下三类。
      • 文件包含: 可以把源程序中的#include 扩展为文件正文,即把包含的.h文件找到并展开到#include 所在处。
      • 条件编译 : 预处理器根据#if和#ifdef等编译命令及其后的条件,将源程序中的某部分包含进来或排除在外,通常把排除在外的语句转换成空行。
      • 宏展开 : 预处理器将源程序文件中出现的对宏的引用展开成相应的宏 定义,即本文所说的#define的功能,由预处理器来完成。
    • 编译阶段:生成汇编语言程序,扩展名为.s。
    • 汇编阶段:生成二进制文件,扩展名为.o。
    • 链接阶段:链接是将各种代码和数据部分收集起来并合并为一个单一文件的过程,该文件最后被加载到存储器中并运行

1.3 了解编译系统有助于

  • 优化程序性能
  • 理解链接时出现的错误
  • 避免安全漏洞

1.4 处理器读并解释存储在内存中的指令

  • 系统的硬件组成
    • (1)总线:贯穿整个系统的电子管道。携带信息字节并负责各个部件间传递。
    • (2)I/O设备:设备与外部世界的联系通道。,如鼠标、键盘、磁盘、显示器等。
    • (3)主存:临时存储设备,由一组动态随机存取存储器(DRAM)芯片组成。
    • (4)处理器:中央处理器CPU,是解释(或执行)存储在主存中指令的引擎。

1.5 高速缓存至关重要

  • 原因:处理器与寄存器、主存、磁盘之间的速度差异不匹配。
  • 解决办法:使用cache/高速缓存作为数据暂时集结区域,存放近期可能需求的信息。L1和L2级高速缓存是用一种叫做静态随机访问存储器(SRAM)。利用高速缓存的局部性原理(即数据具有访问局部区域里的数据和代码的趋势),系统可以获得一个很大存储器,同时访问速度也很快。

1.6 存储器体系层次结构

高速缓存.png

1.7 操作系统管理硬件

我们可以把操作系统看成是应用程序和硬件之间插入的一层软件,所有应用程序对硬件的操作尝试都需要通过硬件系统。

  • 操作系统两个功能:(1) 防止硬件被失控应用程序滥用;(2)面向应用程序提供简单一致的机制来控制通常大不相同的低级设备。
  • 如何实现:操作系统通过以下三个基本抽象概念来实现上述两个功能。
    • 进程:处理器、主存、I/O设备的抽象
    • 虚拟内存:主存和磁盘I/O设备的抽象
    • 文件:I/O设备的抽象
  • 进程: 操作系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程呢,而每个进程都好像在独占使用硬件。
  • 虚拟内存:一个抽象概念,他为每个进程提供一个假象,即每个进程都在独占地使用主存。每个进程看到的主存都是一致的,成为虚拟地址空间。
  • 文件: 文件就是字节序列,仅此而已。每一个I/O设备,都可以看成一个文件,如磁盘、键盘、显示器和网络。

1.9 重要主题

  • 三种并发

    • ->线程级并发:构建于进程这个抽象之上,有多个程序同时执行的系统。
    • ->指令级并发:在较低的抽象层次上,现代处理器可以同时执行多条指令的属性称为指令级并行。
    • ->单指令、多数据并行:在较低层次上,允许一条指令产生多个可以并发执行的操作。
  • 计算机抽象系统重要性
    计算机系统中的一个重要主题就是提供不同层次的抽象,来隐藏实际实现的复杂性。
    文件是对I/O设备的抽象;虚拟内存是对程序存储器的抽象;进程是对正在运行的程序的抽象;虚拟机是对整个计算机的抽象,包括操作系统、处理器和程序。

    不同层次的抽象.jpg


1.10 本章小结

  计算机系统是由硬件和系统软件组成的,它们共同协作以运行应用程序。计算机内部的信息被表示为一组组的位,它们依据上下文有不同的解释方式。程序被其他程序翻译成不同的形式,开始时是ASCII 文本,然后被编译器和链接器翻译成二进制可执行文件。
  处理器读取并解释存放在主存里的二进制指令。因为计算机花费了大量的时间在内存、I/O 设备和CPU 寄存器之间复制数据,所以将系统中的存储设备划分成层次结构——CPU 寄存器在顶部,接着是多层的硬件高速缓存存储器、DRAM 主存和磁盘存储器。在层次模型中,位于更高层的存储设备比低层的存储设备要更快,单位比特造价也更高。层次结构中较高层次的存储设备可以作为较低层次设备的高速缓存。通过理解和运用这种存储层次结构的知识,程序员可以优化 C程序的性能。
  操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象:1)文件是对 I/O 设备的抽象:2)虚拟内存是对主存和磁盘的抽象;3)进程是处理器、主存和 I/O设备的抽象。
  最后,网络提供了计算机系统之间通信的手段。从特殊系统的角度来看,网络就是一种 I/O 设备。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容