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,软件对硬件的抽象

    参考资料:

  • 相关阅读:
    idea拉取git项目并创建为maven项目(新创建github项目)
    寒假学习进度-4
    寒假学习进度-3
    寒假学习进度-2
    寒假学习进度-1
    面向对象设计原则
    Servlet中生成json文件,echarts模板调用
    Mapreduce--数据清洗
    Tutorial 06_MapReduce实例WordCount
    爬虫学习-入门
  • 原文地址:https://www.cnblogs.com/linkworld/p/15459698.html
Copyright © 2011-2022 走看看