《深入理解计算机系统》第一章:计算机系统漫游

1.1:信息就是位+上下文

  • 通过编辑器编辑源文件也叫文本文件(hello.c),该文本是由一系列ASCII码组成字节序列。
  • 系统中的所有信息——包括磁盘上的数据,内存中的数据,网络传输的数据,都是由0,1比特串组成。区别于不同的数据对象是由于所读取数据的上下文不同。不同的上下文中,数据可以是整数,浮点数,指令,程序等等。

1.2:程序被不同的程序翻译为不同的格式

  • 源文件hello.c想要被计算机执行,首先每条c语句都要被翻译成低级机器指令,按照可执行目标程序的格式打好包,并以2进制的形式存放起来,目标程序成为可执行目标程序。
  • linux> gcc -o hello hello:(gcc 编译器驱动程序)
    • hello.c->预处理(cpp)->hello.i(包含一些c程序头文件的内容)->编译器(ccl)->汇编程序(文件hello.s)->汇编器->hello.s(可重定位的目标程序,二进制文件)->连接器->hello(可执行目标程序,二进制文件)->存进磁盘

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

  • hello.c经过编译系统翻译成了可执行目标文件hello(磁盘),如何运行该文件?
    • linux> ./hello

      hello,world

  • shell是一个命令解释器
  • 运行hello程序的硬件组成:
    • 总线
    • I/O设备
    • 内存
    • 处理器
      • 加载
      • 存储
      • 操作
      • 跳转
    • 缓存

​​​​​​​1.4 操作系统管理计算机硬件

  • 管理对象:处理器,主存,I/O设备。
  • 如何去管理:用以下几种抽象概念
    • 进程:处理器,主存,I/O设备
    • 虚拟内存:主存,I/O设备
    • 文件:I/O设备
发布了13 篇原创文章 · 获赞 7 · 访问量 388

猜你喜欢

转载自blog.csdn.net/weixin_39966701/article/details/101307783