《深入理解计算机系统》- 学习笔记 - 第一章

     说起来半年没写什么东西也该清清灰了,这个学期真忙,去年买了这本书就一直在吃灰,这个寒假要对得起自己一点吧,把这些摘要和笔记放出来,也算是巩固一下。


----------分割线----------


第一章  计算机系统漫游

1.文件:

    由ASCII字符构成的文件称为文本文件,其他的文件称为二进制文件。

2.应用程序生命周期:

1.  预处理:预处理器(cpp)修改.c原始程序,读取并插入.h,形成.i文件。

2.  编译:编译器(ccl)将高级语言翻译为汇编语言文本文件.s,统一解释。

3.  汇编:汇编器(as)将.s解释为机器语言生成.o可重定位的(二进制)目标程序。

4.  链接:链接器(ld)合并库函数.o与hello.o,生成可执行文件,由系统执行。

3.了解编译系统关注的问题:

1.  优化程序性能:swich-if/else开销对比,指针引用与数组索引的效率对比,函数调用开销,全局变量与本地变量开销对比。

2.  理解链接错误,避免漏洞:动态连接与静态链接库的区别,静态变量和全局变量的区别,重名变量和函数的排列对作用的影响,避免缓冲区等溢出错误。

4.系统的硬件组成:

1. 总线:贯穿系统的电子管道,设计传送定长的字(4字节,8字节)

2. I/O设备:通过控制器或者适配器与总线相连的设备(略)

3. 主存:一组动态随机存储器(DRAM)芯片组成,每个字节都有唯一地址索引。

4. 处理器:CPU(中央处理单元)解释并执行主存中的指令,核心设备称为寄存器,或称为程序计数器(PC),其始终指向主存中的某条指令,并执行(加载、存储、操作、跳转)

5.高速缓存的重要性:

    通过高速缓存作为暂时集结区域,用来存放处理器近期可能需要的信息。

6.操作系统的重要抽象模型:

1. 进程:处理器、主存、I/O设备的抽象,也是对正在运行的程序的一种抽象(简介)

2. 线程:每一个进程可由多个线程单元组成,共享同样的代码和数据(简介)、

3. 虚拟存储器:是主存和I/O设备的抽象,提供每个进程独自占用主存的假象,并提供虚拟地址空间由以下层次(只读的代码数据,堆,共享库,栈,内核虚拟存储器)

4. 文件:字节序列,是对I/O设备的抽象,包括磁盘,键盘,显示器,甚至网络都可以视为文件。,为应用程序提供统一视角。

7.重要主题:

    1.线程级并发:超线程,允许一个CPU执行多个控制流的技术。

    2.指令级并行:现代处理器可以同时执行多条指令的属性。

    3.单指令、多数据并行:一条指令执行并行多对操作,如4对浮点型同时做加法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值