zoukankan      html  css  js  c++  java
  • 计算机系统漫游

    源程序在计算机中是以文本文件的形式保存的,源程序以字节的形式存储在文件中,字节由取值为0和1的位(bit)组成,8个位组成一个字节。

    一个c语言程序从文本文件变为可执行文件需要经历预处理、编译、汇编和链接4个阶段。
    预处理阶段:预处理器修改源程序中以#开头的代码,如将#include<stdio.h>替换为stdio.h文件的内容,预处理阶段完成后会生成“.i”文本文件。
    编译阶段:编译器将".i"文件翻译成汇编语言,生成“.s”文本文件。
    汇编阶段:汇编器将“.s”文件翻译成机器语言,生成“.o”二进制文件。
    链接阶段:连接器将“.o”文件和标准库“.o”文件(如printf.o)合并成可执行文件。

    系统的硬件组成
    总线:将信息字节在各个组件间传递的电子管道,总线上传递的数据单位是字,即字节个数,如32位系统一般为4个字节。
    I/O设备:输入输出设备,如鼠标、键盘、显示器和网络适配器等。
    主存:主存储器,也就是内存,在cpu执行程序时,用于存放程序和数据的地方。
    处理器:cpu,计算机的大脑,用于执行存储在主存中的指令,由控制器和运算器和寄存器组成,控制器负责从存储器中取出指令,确定指令类型及译码,按时间的先后顺序向其他部件发出控制信号,统一指挥和协调计算机各器件进行工作的部件;运算器是对数据进行加工处理的部件,可以实现基本的算术运算,还可以进行基本的逻辑运算,实现逻辑判断的比较及数据传递,移位等操作;寄存器是一个字长的存储单元,用于临时存储控制器和运算器需要使用的数据。

    高速缓存
            寄存器访问速度很快,但是仅能存储几百字节的信息,内存可以存储几十亿字节的信息,但是访问速度要比寄存器慢100倍。位于cpu芯片上的L1缓存可以存储几万字节的信息,访问速度接近寄存器,L2缓存通过一条特殊的总线连接到cpu,访问速度比L1慢5倍,比内存快5~10倍,L3缓存可以获得更大存储器,并且也能提供较高的访问速度。
            缓存利用了局部性原理,将程序最近需要访问的数据存放在缓存中,以提升效率。
            相对来说,寄存器的L1缓存的缓存,L2缓存是L2缓存的缓存,L3缓存是内存的缓存,内存是磁盘的缓存。

    操作系统的抽象
    进程是对处理器和虚拟存储器的抽象,是正在运行的程序。
    虚拟存储器是对主存和文件的抽象,虚拟存储器为每个进程提供了一个虚拟地址空间,映射到物理内存,使得每个进程看起来在独占内存空间。
    文件是对I/O设备的抽象,在linux中,一切皆为文件。

    并行和并发
    并发指的是同时有多个活动在运行。
    并行指的是用并发使一个系统运行得更快。
    线程级并发
            单处理器是不能做到对多个线程同时执行的,所以并发一般是是针对多核处理器,每个核都有独立的寄存器、L1/L2高速缓存,L3高速缓存和内存是多个核之间共享的。
    指令级并行
            处理器可以同时执行多条指令称为指令级并行。通过流水线(pipelining)将执行一个指令所需要的活动划分为不同的步骤,将处理器的硬件组织成一系列的阶段,每个阶段执行一个步骤,这些阶段可以并行地操作,用来处理不同指令的不同部分。
    单指令、多数据并行
            许多现代处理器拥有特殊的硬件,允许一条指令可以产生多个可以并行执行的操作,这种方式称为单指令、多数据,即SIMD并行。
            


  • 相关阅读:
    C标准中的一些预定义宏
    将智能设备连接到开发计算机上
    ATX电源短接哪两个引脚可以开机
    Visual C++ 编译器选项
    Visual C++ 链接器选项
    vs 2005 中的单元测试的生命周期
    .net study link
    C#的多线程机制探索(http://diy8.blog.sohu.com/741499.html)
    ![网页设计与编程] (小心眼花!)(http://www.fwcn.com/Bbs/viewthread.php?tid=10521)
    多个线程可能会试图同时访问某个对象。在多个线程同时争相访问某个对象的同时,如果一个线程修改了资源,有些线程可能会收到无效状态。例如,如果某个线程读取对象的字段,同时另一线程正在修改该字段,则第一个线程可能会收到无效的字段状态。这种情况称为竞用情况。
  • 原文地址:https://www.cnblogs.com/lolau/p/9783557.html
Copyright © 2011-2022 走看看