ch1-计算机系统漫游

来源:互联网 发布:技术编程语言有哪些 编辑:程序博客网 时间:2024/05/18 03:48
  • 系统中的所有信息都是一串比特表示的,区分不同数据对象的唯一方法就是读取数据对象时候的上下文。

  • 从源文件到目标文件需要4个阶段:预处理,编译,汇编,链接,对应linux下四个参数,-E,-S,-c,-o。

  • 硬件组成:总线,通常被设计成传送定长的字;IO设备,包括键鼠,磁盘等,通过控制器或者适配器与io总线连接;主存,由一组DRAM芯片组成,每个字节都有唯一的地址;处理器,解释并执行指令,包括寄存器,PC等。计算机硬件组成

  • hello程序运行大概:首先键盘输入./hello,敲击enter键时,shell程序知道命令已经结束,然后shell程序将hello文件从磁盘复制到主存。接着处理器开始执行hello文件中的指令,将字符串复制到寄存器中,然后再复制到显示设备之中。
  • 为了减少数据传输带给程序的时间损耗,需要使用到高速缓存cache。存储器层次结构示例

  • 抽象概念:

  • 文件是对io设备的抽象表示:就是字节序列,包括所有io设备。

  • 虚拟内存是对主存和磁盘io设备的抽象表示:为每一个进程提供一个假象,即每个进程都独占主存。
    这里写图片描述
  • 进程是对处理器、主存和io设备的抽象表示:并发指的是一个进程的指令和另一个进程的指令时交错执行的,操作系统实现交错执行的机制称为上下文切换,操作系统跟踪进程运行需要的所有状态信息,也就是上下文,包括PC和寄存器文件的值,主存中的内容,上下文切换时会保存当前上下文,加载新进程的上下文,进程间的转换事由内核来管理的。
  • amdahl定律:想要显著加速整个系统必须提升大部分的速度。
  • 并发与并行的理解:并发,在一段时间内交替做不同的事情;并行,在同一时刻做不同的事情,这必须有多核硬件的支持才能同时做不同的事情。这里写图片描述
  • 超线程,也被称为同时多线程。
    指令级并行:早期处理器需要多个时钟周期执行一条指令,而现代处理器可以在一个周期内执行多条指令,尽管每条指令完成可能需要很多个周期,但是流水线将指令划分为多个步骤,因此可以并行的执行多个指令。
    还有单指令多数据并行,一条指令可以产生多个并行执行的操作。
原创粉丝点击