深入理解计算机系统笔记0 系统漫游

计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序。

系统中的所有信息都是由一串位表示的,区分不同对象的唯一方法就是读到这些数据时的上下文。例如同样的位序列可能是字符串、数值、机器指令等等。

什么是程序?

  1. 源程序就是一个文本文件
  2. 源程序被其他程序转化为一系列的低级机器语言指令,然后这些指令按照一种可执行目标程序的格式打包,并以二进制文件的形式存放起来,成为可执行目标文件。
  3. 所谓的其他程序就是编译器,可分为:预处理器、编译器、汇编器、链接器

程序运行时发生了什么?

Paste_Image.png

这是计算机系统的硬件结构

  1. 总线:贯穿整个系统的是一组电子管道,称做总线,它携带信息字节并负责在各个部件间传递。通常传输定长的字节块,就是字 word。
  2. IO设备
  3. 主存:临时存储设备,由一组动态随机存取存储器(DRAM)芯片组成的。
  4. 处理器:中央处理单元(CPU),简称处理器。是解释(或执行)存储在主存中指令的引擎。处理器 的核心是一个字长的存储设备(或寄存器),称为程序计数器(PC)。在任何时刻,PC 都指向主 存中的某条机器语言指令(即含有该条指令的地址)。处理器一直在不断地执行程序计数器指向的指令,再更新 程序计数器,使其指向下一条指令。
Paste_Image.png

当我们在键盘上敲回车键时,外壳程序就知道我们已经结束了命令的输入。然后外壳执行一 系列指令来加载可执行的 hello 文件,将 hello 目标文件中的代码和数据从磁盘复制到主存。 数据包括最终会被输出的字符串“hello, world\n”。
一旦目标文件 hello 中的代码和数据被加载到主存,处理器就开始执行 hello 程序的 main程序中的机器语言指令。这些指令将“hello, world\n”字符串中的字节从主存复制到 寄存器文件,再从寄存器文件中复制到显示设备,最终显示在屏幕上。

高速缓存的重要
从hello程序的运行过程我们可以看出,执行过程中程序文件从磁盘复制到CPU,再从复制到主存。处理器开始执行程序时,指令和数据(例如:“Hello world”字符串)再复制的CPU寄存器文件,然后再从寄存器文件复制到显示设备。
这个简单的示例揭示了一个重要的问题,即系统花费了大量的时间把信息从一个地方挪到另 一个地方。首先,DMA技术可以把从磁盘直接加载可执行文件到主存,这省去了经过CPU的步骤。
根据机械原理,容量越大的存储设备运行速度越慢,例如,一个典型系统上的磁盘驱动器可能比主存大 1000 倍,但是对处理器而言, 从磁盘驱动器上读取一个字的时间开销要比从主存中读取的开销大 1000 万倍。类似地,处理器从寄存器文件中读数据的速度比从主存中读取几乎要快 100 倍。
通过让高速缓存里存放可能经常访问的数据的方法,大部分的存储器操作都能在快速的高速缓存中完成。

操作系统管理硬件

所有应用程序对硬件的操作尝 试都必须通过操作系统。
操作系统有两个基本功能 :1)防止硬件被失控的应用程序滥用。2)向应用程序提供简单一致的机制来控制复杂而又通常大相径庭的低级硬件设备。

进程

像 hello 这样的程序在现代系统上运行时,操作系统会提供一种假象,就好像系统上只有这个程序在运行。进程是计算机科学中最重要和最成功的概念之一。进程是操作系统对一个正在运行的程序的一种抽象。一个 CPU 看上去都像是在并发地执行多个进程,这是通过处理器在进程间切 换来实现的。操作系统实现这种交错执行的机制称为上下文切换。当操作系统决定要把控制权从当前进程转移到某个新进程时,就会进行上 下文切换,即保存当前进程的上下文、恢复新进程的上下文,然后将控制权传递到新进程。

示例场景中有两个并发的进程 :外壳进程和 hello 进程。起初,只有外壳进程在运行,即 等待命令行上的输入。当我们让它运行 hello 程序时,外壳通过调用一个专门的函数,即系统 调用,来执行我们的请求,系统调用会将控制权传递给操作系统。操作系统保存外壳进程的上下 文,创建一个新的 hello 进程及其上下文,然后将控制权传递给新的 hello 进程。hello 进 程终止后,操作系统恢复外壳进程的上下文,并将控制权传回给它,外壳进程将继续等待下一个 命令行输入。

线程

现代系统中,一个进程实际上可以由多个称为线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。

虚拟存储器

虚拟存储器是一个抽象概念,它为每个进程提供了一个假象,即每个进程都在独占地使用主存。每个进程看到的是一致的存储器,称为虚拟地址空间。

Paste_Image.png

文件

文件就是字节序列,仅此而已。每个 I/O 设备,包括磁盘、键盘、显示器,甚至网络,都可以视为文件。

在学习操作系统时,我们介绍了三个抽象 :文件是对 I/O 的抽象,虚拟存储器是对程序存储 器的抽象,而进程是对一个正在运行的程序的抽象。我们再增加一个新的抽象 :虚拟机,它提供 对整个计算机(包括操作系统、处理器和程序)的抽象。

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

推荐阅读更多精彩内容

  • 汇编语言:一种用于电子计算机、微处理器、微控制器,或其他可编程器件的低级语言。在不同的设备中,汇编语言对应着不同的...
    9ba348473cee阅读 1,928评论 0 0
  • 计算机系统是由硬件和软件系统组成的,它们共同工作来运行应用程序。作为程序员,也需要了解这些组件是如何工作的,以及这...
    knightaoko阅读 675评论 0 2
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,774评论 0 27
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,590评论 18 139
  • 应老公之邀,昨天一起去看了电影《速度与激情8》。 其实不是很喜欢这样的好莱坞烧钱大片,除了场面和特技,就是暴力加色...
    锦瑟_db50阅读 505评论 0 1