• 第1章 计算机系统漫游


    1.编译系统

    程序示例

          #include<stdio.h>
          int main(){
                  printf("hello world");
                  return 0 ;
          }
    

    生成命令:

    gcc -o hello hello.c
    

    编译系统工作流程:
    1.预处理:读取头文件插入代码中
    2.编译:进行语法等等分析
    3.汇编:翻译成机器指令
    4.链接:合并代码,得到可执行目标文件

    2.硬件架构图

    程序执行流程:
    1.通过键盘输入内容,内容存入到寄存器,处理把内容放入内存中。
    2.加载可执行文件
    3.数据直接从磁盘到达内存
    4.处理器执行主函数的代码

    3.设备容量

    设备种类 存储容量
    寄存器文件 100~1000B
    内存 1~100GB
    磁盘 1~1000TB

    Cache一般有三级高速缓存,分别为L1,L2和L3,速度依次递减。

    4.操作系统

    软件:操作系统,应用程序
    硬件:处理器,内存和I/O设备

    进程:一个进程由多个线程组成,

    例子:一个微信程序就是一个进程,而我们在微信里一边文字聊天边视频聊天、边传输文件就是三个线程同时进行.

    虚拟内存:虚拟内存能够创建一个连续更大的空间给进程使用,出现的原因是由于主存的空间是有限,当运行多个进程或者一个进程需要更大的空间进行存储运行,主存显然是不够的,这个时候就需要更大更便宜的磁盘进行保存一部分数据

    三个定律

    1.Amdahl定律:当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度.

    2.Gustafson定律:系统优化某部件所获得的系统性能的改善程度,取决于该部件被使用的频率,或所占总执行时间的比例。

    3.Sun-Ni定律:记α是某任务无法并行处理部分所占的比例.假设该任务的可并行部分随着处理器个数n按照因子G(n)缩放,则对任意n,相比于1个处理器,能够取得的加速比S*(n)满足:

    并发与并行

    线程级并发:当多个线程在操作的时候,如果系统只有一个CPU,同一时刻就只有一条线程指令在执行,但是各个线程指令被快速的轮换执行,这就是的宏观上看起来是多个线程在同时执行

    指令级并行: 指令级并行是指存在于指令一级即指令间的并行性, 主要是指机器语言一级, 如存储器访问指令、整型指令、浮点指令之间的并行性等。

    单指令多数据并行:现代处理器拥有特殊的硬件部件,允许一条指令产生多个并行的操作

  • 相关阅读:
    AD域撤销域用户管理员权限方案
    域普通用户执行金蝶K/3权限不够解决方法
    redis安装windows+64位
    解决pycharm中no python interpreter configured问题
    python3报错---Error in sitecustomize; set PYTHONVERBOSE for traceback: NameError: name 'reload' is not defined
    python+robot+oracle:执行脚本时中文sql报错:UnicodeEncodeError: 'ascii' codec can't encode
    git-最简单的操作流程
    pycharm配置后执行RF脚本
    性能测试-jmeter基础5-设计数据自动递增
    性能测试-jmeter基础4-设置日期的递增参数demo
  • 原文地址:https://www.cnblogs.com/chenweibo/p/15690250.html
Copyright © 2020-2023  润新知