1、深入理解计算机系统 笔记,系统综述

简介: 1、系统的硬件组成 Figure1 Hardware organization of a typical system. CPU: Central Processing Unit, ALU: Arithmetic/Logic Unit, PC: Program counter, USB: Universal Serial Bus. 1)总线 贯穿整个系统的一组电子管道,它携带信息字节并负责在各个部件间传递。

1、系统的硬件组成

wps_clip_image-1862

Figure1 Hardware organization of a typical system. CPU: Central Processing Unit, ALU: Arithmetic/Logic Unit, PC: Program counter, USB: Universal Serial Bus.

1)总线

贯穿整个系统的一组电子管道,它携带信息字节并负责在各个部件间传递。通常总线被设计成传送定长的字节块,也就是字(word)。各个系统中字长不尽相同,intel pentium系统的字长为4字节。

2I/O设备

    I/O设备是系统与外界的联系通道。

    控制器是I/O设备本身中或是系统的主印刷电路板(主板)上的芯片组,而适配器则是一块插在主板插槽上的卡。

3)主存

    临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。物理上来说,主存是由一组DRAM芯片组成的;逻辑上来说,存储器由一个线性的字节数据组成,每个字节都有自己惟一的地址(数组索引),这些地址以0开始的。一般来说,组成程序的每条机器指令都由不定量的字节构成。

4)处理器

CPU,是解释(或执行)存储在主存中指令的引擎。处理器的核心是一个被称为程序计数器(PC)的字长大小的存储设备(或寄存器)。在任何一个时间点上,PC都指向主存中的某条机器语言指令。

从系统加电,到断电,CPU一直不加思索的重复执行相同的基本任务:从程序计数器(PC)指向的存储器读取指令,解释指令中的位,执行指令指示的简单操作,然后更新程序计数器指向下一条指令(不一定与刚刚执行的指令相邻)。

2、层次结构的存储设备

wps_clip_image-681

Figure 2: The memory hierarchy

    存储器分层结构的主要思想是:一个层次上的存储器作为下一层次上的存储器的高速缓冲。

3、操作系统提供的抽象表示

wps_clip_image-4928

Figure 3: Abstractions provided by an operating system

    操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象概念:文件是对I/O设备的抽象概念;虚拟存储器是对主存和磁盘的抽象概念;进程是处理器、主存和I/O设备的抽象概念。

1)进程是操作系统对运行程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程都好像独占地使用硬件,我们称之为并发运行。实际上,是一个进程的指令和另一个进程的指令交错执行的,操作系统实现这种交错执行的机制称为上下文切换(context switching)。操作系统保存进程运行所需的所有状态信息,这些状态称为上下文(context )。

2)一个进程可由多个线程组成。每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。

3)虚拟存储器

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

wps_clip_image-11496

Figure 4: Linux process virtual address space.

虚拟存储器,基本思想是把一个进程虚拟存储器的内容存储在磁盘上,然后用主存作为磁盘的高速缓冲。

4)文件

是字节序列。每个I/O设备,包括磁盘,键盘,显示器,网络,等可以看成是文件。

4、系统,是相互交织的硬件和系统软件的集合体。

<深入理解计算机系统(Computer Systems:A Programmer's Perspective)>

目录
相关文章
|
5月前
|
存储 编解码 并行计算
【软件设计师备考 专题 】计算机系统的组成、体系结构分类及特性
【软件设计师备考 专题 】计算机系统的组成、体系结构分类及特性
105 0
|
5月前
|
存储 C语言
深入理解计算机系统第七章知识点总结(上)
深入理解计算机系统第七章知识点总结
69 0
|
2月前
|
存储 算法 安全
【第一章】软件设计师 之 计算机组成与体系结构
这篇文章是软件设计师备考资料的第一章,涵盖了计算机组成与体系结构的基础知识,包括不同进制之间的转换方法、数据表示、计算机结构、流水线概念、存储系统、校验码等内容。
【第一章】软件设计师 之 计算机组成与体系结构
|
2月前
|
存储 算法 安全
【第二章】软件设计师 之 操作系统基本原理
这篇文章是软件设计师备考资料的第二章,讲解了操作系统的基本原理,包括操作系统概述、进程状态转换、同步与互斥问题、PV操作、死锁问题与银行家算法、存储管理、文件系统和设备管理等关键知识点。
【第二章】软件设计师 之 操作系统基本原理
|
2月前
|
存储 安全 编译器
计算机系统第三章程序的机械级表示笔记(1)
这篇文章是关于计算机系统第三章“程序的机械级表示”的笔记,解释了计算机如何执行机器代码,编译器如何生成机器代码,以及理解机器代码对于程序员在优化代码、分析程序运行时行为和安全性方面的重要意义。
|
5月前
|
存储 人工智能 分布式计算
计算机常用基础常识笔记分享
【4月更文挑战第11天】计算机常用基础常识笔记分享
398 2
|
5月前
|
算法 编译器 Linux
深入理解计算机系统第七章知识点总结(下)
深入理解计算机系统第七章知识点总结(下)
74 0
信息的表示与处理 (深入理解计算机系统第二章)(下)
信息的表示与处理 (深入理解计算机系统第二章)(下)
72 0
|
存储 Linux Windows
信息的表示与处理 (深入理解计算机系统第二章)(上)
信息的表示与处理 (深入理解计算机系统第二章)(上)
44 0
|
机器学习/深度学习 数据处理 vr&ar
【软考:软件设计师】1 计算机组成与体系结构(一)计算机系统基础知识
【软考:软件设计师】1 计算机组成与体系结构(一)计算机系统基础知识
278 0