zoukankan      html  css  js  c++  java
  • 十分钟了解计算机系统

    《深入理解计算机系统》笔记

    计算机系统是由硬件和软件相配合,运行应用程序的。

    通过hello.c程序的生命周期:创建编译运行,打印结果,结束,来了解计算机系统的内部工作机制。

    1,创建

    对于计算机来说,所有的信息均以 bit 来存储。

    1,创建hello.c文件

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

    2,以十进制ascii形式查看文件内容

    2,编译

    普通人比较容易理解hello.c的内容。这个程序,最终是要交给计算机去运行的。因此,运行之前,需要通过中间商,将我们编写的 hello.c 转换为低层次的机器语言。转换的结果就是可执行目标文件(executable object file)。简而言之,就是 C 文件通过编译器生成二进制可执行文件。

    # 编译命令
    gcc -o hello hello.c
    

    3,运行

    ./hello
    

    3.1 硬件结构

    3.2 运转流程:

    步骤一:读取./hello命令到内存

    步骤二:加载可执行文件hello到内存

    步骤三:显示执行结果

    4,优化

    程序运行时,存在多次复制信息的操作。首先,将 hello 可执行文件从硬盘加载到内存,然后 CPU 运行程序时,从内存中加载指令到 CPU。我们可以通过提高信息的加载速度来优化程序。

    一条物理定律:容量大的存储设备,价格便宜,但读取速度慢;硬盘比内存大 1000 倍,但是读取速度比内存慢 10,000,000 倍

    5,软件对硬件的抽象

    参考资料:

  • 相关阅读:
    Socket 通信
    一些 NuGet 程序包是使用不同于当前目标框架的目标框架安装的,可能需要重新安装
    设计模式之六大原则
    UML类图基本画法
    重写 覆盖 final override
    gaussian算子
    常量表达式: const constexpr
    const 限定符:const指针、const引用
    git命令
    vector&list 效率比较
  • 原文地址:https://www.cnblogs.com/linkworld/p/15459698.html
Copyright © 2011-2022 走看看