Task01:计算机系统漫游

第1章 计算机系统漫游

1 编译系统

计算机系统:由硬件和系统软件组成,共同工作来运行应用程序

编译系统:GCC编译器驱动程序读取源文件hello.c,翻译成一个可执行目标文件,执行4个阶段的程序(预处理器、编译器、汇编器和链接器)

预处理阶段:根据以字符#开头的命令,修改原始的C程序
编译阶段:编译器将文本文件hello.i翻译成文本文件hello.s
汇编阶段:汇编器将hello.s翻译成机器语言指令,并把这些指令打包成可重定向目标程序hello.o
链接阶段:链接器将标准库中的文件合并到hello.o程序中,得到hello文件,可以被加载到内存中,由系统执行
  • 编译系统的理解:
    优化程序性能
    理解链接过程中出现的错误
    避免安全漏洞

2 系统硬件架构图

系统硬件架构图
在这里插入图片描述

系统的硬件组成

总线:负责将信息字节在各个部件间传递
I/O设备:系统与外界的联系通道,图中主要有4个设备(键盘、鼠标、显示器和磁盘)
主存:临时存储设备,用于在处理器执行程序时,存放程序和数据
处理器:CPU,是执行存储在主存中指令的引擎

处理器的组成

PC(程序计数器):用于指向主存中的某条机器语言指令
寄存器文件:用于临时存放数据
算术/逻辑单元(ALU):负责指令的操作

3 hello程序的执行流程

通过键盘输入./hello,shell程序通过总线将字符串读入寄存器,CPU将字符串hello放入内存
通过键盘输入回车,shell程序执行一系列指令,加载可执行文件hello
利用DMA技术,不经过CPU,将hello的数据和代码直接从磁盘读取到内存中
CPU执行main函数中的机器语言指令,将hello, world\n,从主存中复制到寄存器文件中,再复制到显示器输出给用户

4 高速缓存(Cache)的作用

存储容量对比

在这里插入图片描述
高速缓存分类:主要分为三级高速缓存(L1、L2和L3),前两个属于静态随机访问存储器

高速缓存与其他存储器的对比:

速度上:寄存器 > L1高速缓存 > L2高速缓存 > L3高速缓存 > 主存 > 本地二级存储 > 远程二级存储
存储上:寄存器 < L1高速缓存 < L2高速缓存 < L3高速缓存 < 主存 < 本地二级存储 < 远程二级存储
价格上:寄存器 > L1高速缓存 > L2高速缓存 > L3高速缓存 > 主存 > 本地二级存储 > 远程二级存储

5 操作系统

计算机系统组成:

硬件:处理器、内存、I/O设备
软件:操作系统、应用程序

操作系统的基本功能:

防止硬件被失控的应用程序滥用
向应用程序提供简单一致的机制,控制这些复杂的底层硬件

操作系统的抽象:

文件:对I/O设备的抽象表示
虚拟内存:对主存和磁盘I/O设备的抽象表示
进程:对处理器、主存和I/O设备的抽象表示
上下文:操作系统保持跟踪进程运行所需的所有状态信息,包括PC和寄存器文件的当前值、主存的内容等
线程:一个进程由多个线程的执行单元组成,每个线程运行在进程的上下文中,共享同样的代码和全局数据
虚拟内存:主要包括程序代码和数据、堆、共享栈、内核虚拟内存
文件:所有的I/O设备都可以看成文件,系统中所有的输入和输出都是通过读写文件来完成
系统间的交互:通过网络连接,数据流经过网络适配器到达另一台机器

虚拟内存

在这里插入图片描述

文件

  • 所有的 IO 设备,包括键盘,磁盘,显示器,甚至网络,这些都可以看成文件, 系统中所有的输入和输出都可以通过读写文件来完成.
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值