zoukankan      html  css  js  c++  java
  • 深入理解计算机系统 ——计算机系统漫游

    程序时从一个源程序开始的,通过编译器创建并保存的文本文件,源程序由0和1组成的位序列

    用ASCII来表示文本字符,用单一的单字节来表示每个字符
    每个文本行都有一个看不见的 ,对应整数值等于10

    高级语言->低级语言指令->按可执行时目标程序打包->以二进制形式存放

    预处理器:把头文件中.h读取插入文本文件中,新的文件以.i命名结束
    编译器:将文本文件.i翻译成.s
    汇编器:将.s翻译成机器语言,结果保存在.o中
    链接器:处理合并,将所调用的库进行链接

    从源文件到目标文件转化: gcc -o hello hello.c
    编译成可执行目录文件后运行

    shell是一个命令行解释器,命令行的第一个单词不是内置的shell命令,shell会假设这是一个可执行文件的名字,它将加载并运行这个文件

    系统花费大量时间把信息从一个地方挪到另一个地方,一个主要目标是使这些复制操作尽可能快地完成

    操作系统作用:防止硬件被应用程序滥用
    向应用程序提供统一的接口,来控制低级硬件设备

    Amdahl定律:要想显著加速整个许霆,需提升在这个系统中占据时间比重大的那部分的加速程度
    对占据时间比重大的进行加速,提升其加速程度,会明显
    对占据时间比重小的模块加速,对整个系统而言,不明显

    并发:同时具有多个活动的系统——同时有多个程序执行
    并行:用并发来使一个系统运行得更快

    传统意义上得并发:使模拟出来得,在执行得进程间快速切换

    文件:是对I/O设备得抽象
    虚拟内存:是对程序存储器的抽象
    进程:对正在运行的程序的抽象
    虚拟机:对整个计算机的抽象

    计算机内部的信息被表示成一组组的位,依据上下文有不同的解释

    整数表示使精确的,浮点数是近似的

    使用8位(一个字节)作为最小的可寻址内存单元
    内存的每个字节由一个唯一的数字来标识,称为地址
    字长决定虚拟地址空间的最大大小,字长位w位的机器,虚拟地址范围2的w次-1

    32位程序或64位程序,区别在于该程序如何编译,而不是其运行机器的类型

    int32_t 4字节 int64_t 8字节 这两个不随编译器和机器设置而变化

    typedef :是声明一个类型名
    typedef int* int_pointer ;//将int_point定义位一个指向int的指针
    int_pointer ip; 和int *ip;两者相等

    &x:创建一个指向保存变量x的位置的指针,指针类型取决于x的类型

    强制类型转换:不改变真实的指针,告诉编译器以新的数据类型看待被指向的数据

    程序仅仅知识字节序列,机器没用关于原始源程序的任何信息

  • 相关阅读:
    iOS开发——keychain的使用
    iOS开发——策略模式
    iOS开发——MVC模式
    iOS开发——代理模式
    ExtjsCode_Test02Panel.js
    网站收藏
    关于ExtJs Form表单的赋值、获取、重置
    ExtJS分页start,limit,pageSize的研究
    使Grid可编辑
    如何禁用Grid中的ToolBar中的Button
  • 原文地址:https://www.cnblogs.com/ymd12103410/p/9757351.html
Copyright © 2011-2022 走看看