2018-2019-1 20189221 《深入学习计算机系统》第 1 周学习总结

第 1 章 计算机系统漫游
这一章通过研究“hello,world”这个简单程序的生命周期,介绍计算机系统的主要概念和主题

  • 1.1 信息就是位+上下文
    计算机系统中的一切数据都是由一串比特表示的,区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文
    C语言与Unix操作系统关系密切,是为实践目的设计的
  • 1.2 程序被其他程序翻译成不同的格式
    如娄老师上课所讲(以Linux中gcc为例):
    hello.c—>hello.i—>hello.s—>hello.o—>hello

    gcc -E hello.c -o hello.i  /*预处理生成编译文件*/
    gcc -S hello.i -o hello.s  /*编译生成汇编语言程序*/
    gcc -C hello.s -o hello.o /*汇编生成可重定位目标程序*/
    gcc hello.o -o hello /*链接生成可执行目标文件*/
  • 1.3 了解编译系统如何工作是大有益处的
    优化程序性能
    理解链接时出现的错误
    避免安全漏洞

  • 1.4 处理器读并解释存储在存储器中的指令

    • 1.4.1 系统的硬件组成
      典型的硬件组织:总线、I/O设备、主存、处理器
    • 1.4.2 运行hello程序
  • 1.5 高速缓存至关重要
    cache及调页算法对程序性能有极大影响
  • 1.6 存储设备形成层次结构
    上一层的存储器作为低一层存储器的高速缓存
  • 1.7 操作系统管理硬件
    防止硬件被失控的应用程序滥用
    向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备

    • 1.7.1 进程
      进程是OS对正在运行的程序的抽象
      上下文切换是保存当前进程的上下文,恢复新进程的上下文
    • 1.7.2 线程
      进程可以由多个线程组成,线程不独自占有资源,更易被共享
    • 1.7.3 虚拟内存
      对每个进程都虚拟全部的内存资源,通过调页算法完成磁盘到主存的交换
    • 1.7.4 文件
      文件就是字节序列
  • 1.8 系统之间利用网络通信
    使用telnet服务器在远程主机上运行hello程序

    • 用户在键盘上输入hello

      • 客户端向telnet服务器发送字符串“hello”
      • 服务器向shell发送字符串“hello”,shell运行hello程序并将输出发送给telnet服务器
    • telnet服务器向客户端发送输出的字符串“hello world\n”
    • 客户端在显示器上打印字符串“hello world\n”

  • 1.9 重要主题

    • 1.9.1 Amdahl定律
      加速比为
      \[ S = 1/((1-a)+a/k) \]
    • 1.9.2 并发和并行
      并发指同一时刻:线程级并发指多处理器或超线程(同时多线程)
      并行指同时间段:指令级并行指流水线或超标量处理器
    • 1.9.3 计算机系统中抽象的重要性
      文件是对I/O设备的抽象
      虚拟内存是对程序存储器的抽象
      进程是对一个正在运行的程序的抽象
      虚拟机是对整个计算机系统的抽象- ...

转载于:https://www.cnblogs.com/gdman/p/9817592.html

2018-2019-1 20189221 《深入理解计算机系统》第 1 周学习总结相关推荐

  1. 美术鉴赏课的体会和深入理解计算机系统,中外美术鉴赏学习心得体会(选修课)-20210612092854.pdf-原创力文档...

    办公精品 欢迎下载 中外美术鉴赏学习心得体会 美术鉴赏课走进大学校园是为了更好的培养大学生, 提高大学生的素质, 最 根本的问题是要提升大学生的精神境界. 美术鉴赏的最终意义, 就在于使大学生 的情感 ...

  2. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第七周学习总结

    实验七 继承附加实验 实验时间 2018-10-11 1. 继承的概念: 继承在本职上是特殊--一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性 ...

  3. 201771010102 常惠琢 《2018面向对象程序设计(Java)》第9周学习总结

    实验九 异常.断言与日志 实验时间 2018-10-25 1.实验目的与要求 (1) 掌握java异常处理技术: (2) 了解断言的用法: (3) 了解日志的用途: (4) 掌握程序基础调试技巧: 2 ...

  4. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第十三周学习总结

    实验十三  图形界面事件处理技术 实验时间 2018-11-22 学习总结: Compoment类提供的功能: –基本的绘画支持. –外形控制. –大小和位置控制. –图像处理. –组件状态控制 每个 ...

  5. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第十周学习总结

    实验十  泛型程序设计技术 实验时间 2018-11-1 学习总结 泛型:也称参数化类型(parameterized type),就是在定义类.接口和方法时,通过类型参数指示将要处理的对象类型.(如A ...

  6. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第八周学习总结

    实验六 接口的定义与使用 实验时间 2018-10-18 1.实验目的与要求 (1) 掌握接口定义方法: (2) 掌握实现接口类的定义要求: (3) 掌握实现了接口类的使用要求: (4) 掌握程序回调 ...

  7. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第十七周学习总结

    实验十七  线程同步控制 实验时间 2018-12-10 1. 知识总结: 多线程并发运行不确定性问题解决方案:引入线程同步机制,使得另一线程要使用该方法,就只能等待. 在Java中解决多线程同步问题 ...

  8. 深入理解计算机系统(CSAPP)含lab详解 完结

    文章目录 深入理解计算机操作系统-第一章 1.1 信息就是位 + 上下文 1.2 程序被其他程序翻译成不同的格式 1.3 了解编译系统如何工作是大有益处的 1.4 处理器读并解释储存在内存中的指令 1 ...

  9. 2018/2019/2020/2021/2022/2023年度计划阅读书籍(持续更新)

    2018/2019/2020/2021/2022/2023年度计划阅读书籍 1. Java加密与解密的艺术(第二版) 作者:梁栋 在读 2. Spring源码深度解析 作者:郝佳 在读 3. 深入理解 ...

最新文章

  1. 通过尾递归避免栈溢出
  2. 2011年计算机一级考试题,2011年计算机一级考试试题及答案
  3. vant引入组件报错_强烈推荐优秀的Vue UI组件库
  4. memcached +mysql+php 测试例子
  5. CMM3 正式评估全过程
  6. 【LuoguP2466】[SDOI2008] Sue的小球
  7. SmartBi V9系统运维总结
  8. linux 百度云 备份软件下载,Linux 安装百度云,自动备份服务器资料
  9. 【kubernetes/k8s源码分析】calico node felix源码分析之一
  10. [OpenCV实战]39 在OpenCV中使用ArUco标记的增强现实
  11. Linux:系统安全及应用
  12. 《C++ Primer Plus》学习笔记-string类和标准模板库
  13. 通过sql给表添加字段
  14. 51nod1431 快乐排队
  15. RHCE-Day10-Apache
  16. mac OS 软件下载地址 (不断更新)
  17. 留良乡稳健投资理财的四大原则
  18. paypal ipn java_PayPal IPN验证
  19. 第一部分:基础知识(第一章)一个XNA 手机程序
  20. 不用重装系统 Windows 7下直接开启AHCI

热门文章

  1. 延迟放学,让“996父母”松了口气
  2. 荷花旁的浪漫,优雅了谁的光年,清纯少女芭蕾写真
  3. tensorflow使用tf.placeholder会报错
  4. 在php中单引号和双引号的区别错误的是___________,浅谈PHP中单引号和双引号到底有啥区别呢?...
  5. ajax 前端怎么处理数据,如何使用ajax异步处理JSon数据
  6. mysql 使用表 语句_【mysql】mysql 经常使用建表语句
  7. 013_JavaScript函数
  8. c语言 switch语句大小,C语言switch语句(板式整齐)
  9. HTTP代理神器Fidder
  10. python spider 安装_Python爬虫(11):Scrapy框架的安装和基本使用