zoukankan      html  css  js  c++  java
  • 计算机编程基础之深入理解计算机系统1

    计算机编程基础之深入理解计算机系统1

     

    目录

    • 概述——《深入理解计算机系统》
    • 计算机系统漫游
    • 信息的表示和处理

     

     

    概述——《深入理解计算机系统》

    Computer Systems A Programmers Perspective  英文名

     

    计算机系统漫游

    本章简介

    当系统上执行hello程序时,系统发生了什么以及为什么会这样

    信息就是位+上下文

    源程序(或者源文件) hello.c,实际上是由值0和1组成的位(bit)序列,8个位被组织成一组,成为字节。每个字节表示程序中某个文本字符,大部分的现代系统都使用ASCII标准来表示文本字符

    程序被其他程序翻译成不同的格式

    编译系统(compilation system)

    预处理器、编译器、汇编器和链接器

    翻译过程的四个阶段

    预处理阶段:hello.c(源程序) -> hello.i(被修改的源程序) PS:两者都是文本

    编译阶段:hello.i -> hello.s (汇编程序 文本)

    汇编阶段:hello.s -> hello.o(可重定位目标程序 二进制)

    链接阶段:hello.o -> hello(可执行目标程序 二进制)

    了解编译系统如何工作是大有益处的

    优化程序性能

    理解链接时出现的错误

    避免安全漏洞

    处理器读并解释存储在存储器中的指令

    外壳(shell)

    外壳是一个命令行解释器

    系统的硬件组成

    总线

    贯穿整个系统的一组电子管道,通常总线被设计成传送定长的字节块,也就是字(word)。字中的字节数(即字长)是一个基本的系统参数。有4个字节(32位)和8个字节(64位)

    I/O设备

    通过一个控制器或适配器与I/O总线相连。控制器是置于I/O设备本身的或者系统的主印制电路板(通常称为主板)上的芯片组,而适配器则是一块插在主板插槽上的卡

    主存

    处理器

    加载、存储、操作、跳转

    运行hello程序

    高速缓存至关重要

    存储设备形成层次结构

    操作系统管理硬件

    进程

    线程

    虚拟存储器

    程序代码和数据

    共享库

    内核虚拟存储器

    文件

    系统之间利用网络通信

    重要主题

    并发和并行

    线程级并发

    指令级并行

    单指令、多数据并行

    计算机系统中抽象的重要性

     

    信息的表示和处理

  • 相关阅读:
    解决Android Studio Gradle DSL method not found: 'android()'
    【转】关于ListView中notifyDataSetChanged()刷新数据不更新原因
    设计模式-单例模式
    IE浏览器让DIV居中
    Java通过DOM解析XML
    git 配置文件位置;git配置文件设置
    git config配置
    dos2unix
    文件的编码问题解决
    git diff old mode 100644 new mode 100755
  • 原文地址:https://www.cnblogs.com/IOS-Developer/p/4231607.html
Copyright © 2011-2022 走看看