CSAPP

第一章 计算机系统漫游

1.1 信息就是位+上下文

  1. 系统中所有信息-----包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上上传的数据,都是由一串比特表示的。同时区分不同数据对象的唯一方法就是我们读到这些数据对象时的上下文。

1.2 程序被其他程序翻译成不同的格式

  1. 在Unix系统上,从源文件到目标文件的转化是由编译器驱动程序完成的。
  2. 预处理器、编译器、汇编器、链接器一起构成了编译系统(compilation system)。

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

linux> ./hello
hello world
linux>
  1. shell是一个命令行解释器,他输出一个提示符,等待输入一个命令行,然后执行这个命令。如果该命令行的第一个单词不是一个内置的shell命令,那么shell就会假设这是一个可执行文件的名字,它将加载并运行这个文件。
  2. 系统的硬件组成

    总线

    携带字节信息并负责在各个部件间传递。通常总线被设计成传送定长的字节块,也就是字。字中的字节数称为字长,现在大多数机器字长要么是4个字节(32位),要么是8个字节(64位)。

    I/O设备

    每一个I/O设备通过一个控制器或者适配器与I/O总线相连。控制器和适配器的区别在于它们的封装方式。

    主存

    处理器

    解释或执行储存在主存中的指令的引擎。处理器的核心是一个大小为一个字的寄存器。称为程序计数器

1.7 操作系统管理硬件

  1. 可以把操作系统看作应用程序和硬件之间插入的一层软件。
  2. 进程要交替切换执行,操作系统保持跟踪进程运行所需的所有状态信息,也就是上下文信息,比如寄存器文件的值、主存的内容。
  3. Linux中,地址空间最上面的区域是保留给操作系统中的代码和数据,这对所有进程来说都是一样的

[CSAPP]第一章 计算机系统漫游 学习笔记的更多相关文章

  1. CSAPP 第一章 计算机系统漫游

    第一章 计算机系统漫游 C语言的起源:(系统级编程的首选) C语言与Unix操作系统关系密切 C语言小而简单:其设计由一个人掌控 C语言是为实践目的设计的:其设计用来实现Unix操作系统 C语言程序编 ...

  2. [CSAPP笔记][第一章计算机系统漫游]

    计算机系统漫游 我们通过追踪hello程序的生命周期来开始对系统的学习—–从它被程序员创建,到系统上运行,输出简单的消息,然后终止.我们沿着这个程序的生命周期,简要介绍一些逐步出现的概念,专业术语和组 ...

  3. 《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游

    本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习.一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止.我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念 ...

  4. CSAPP:第一章计算机系统漫游

    CSAPP:计算机系统漫游 关键点:上下文.程序运行.计算机系统抽象. 信息就是位+上下文一个程序的运行过程系统的硬件组成编译系统是如何工作的?一个程序的运行过程(c语言举例)计算机系统中的抽象 信息 ...

  5. CSAPP学习笔记 第一章 计算机系统漫游

    Ch 1.0 1.计算机系统是由硬件和系统软件组成的 2.本书阐述了计算机组件是如何工作的以及执行组件是如何影响程序正确性和性能的. 3.通过跟踪hello程序的生命周期来开始对系统的学习. #inc ...

  6. ASP.NET本质论第一章网站应用程序学习笔记2

    1.初步走进ASP.NET 上篇笔记我们讲述了服务器监听问题,这篇我们就要讲述具体的请求处理了,ASP.NET所涉及的类大多数定义在System.Web程序集中. 在.NET中,程序集管理的最小逻辑单 ...

  7. 0001-20180421-自动化第一章-python基础学习笔记

    ======================学习python==================介绍: python种类: cpython(*),jpython,ironpython,rubypyth ...

  8. ASP.NET本质论第一章网站应用程序学习笔记3-对象化的Http

    在.NET环境下,万物皆对象,在HttpRuntime收到请求之后,立即将通过HttpWorkerRequest传递的参数进行分析和分解,创建方便用于网站应用程序处理用的对象,其中主要涉及到两个对象类 ...

  9. ASP.NET本质论第一章网站应用程序学习笔记1

    1.统一资源标示符 1) 格式:协议://主机[.端口号][绝对路径[?参数]],在Http://www.kencery.com/hyl/index/login中,http表示协议的名称,www.ke ...

  10. 01.第一章_C++ Primer学习笔记_开始

    1.2 初始输入输出 iostream库里面包含两个基础类型istream和ostream,分别表示输入流和输出流,一个流就是一个字符序列,从IO设备读出或者写入IO设备. 标准的输入输出对象 标准库 ...

随机推荐

  1. ColorFolder文件管理工具使用教程

    ColorFolder ColorFolder Mac中文版是Mac上的一款文件夹图标修改工具,可以帮助您一键改变文件夹的颜色.帮助你更好的保持良好排序和分类,让你的文件显得更有条理,并有效提高文件管 ...

  2. 罗姆BU32107EFV缩写词

    ADC Analog-to-Digital Converter Att Attenuation 衰减 AMix Analog Mixing AVol Analog Volume BPF Band-Pa ...

  3. Cesium viewer.extend 五个拓展(五)

    2023-01-09 1.viewerDragDropMixin 一个mixin,它为查看器小部件添加了对CZML文件的默认拖放支持. czml即为json,但json不一定为czml:如同geojs ...

  4. 集合类再探:不可变类的好处,Collector接口详解,使用内部迭代

    集合类再探 注:本文使用的pom依赖见文末. 集合类的基础 - Iterable.Iterator java语言层面支持对实现了Iterable接口的对象使用for-each语句.Iterator可以 ...

  5. Hexo系列(一):Hexo简介

    作者:独笔孤行 官网:​​ ​http://anyamaze.com​​ 公众号:云实战 前言 博客网站的实现方法有很多种,常用的博客框架主要有wordpress.Z-Blog.hexo.Typech ...

  6. ajax请求头添加参数

    在请求ajax时 ,有时后台要求在请求头里边上参数 ,这种情况下一般都是在原生APP项目当中,因为要在登录状态下才,所有要传token和登录id, var token = localStorage.g ...

  7. .NET周报 【2月第4期 2023-02-25】

    国内文章 .NET微服务系统迁移至.NET6.0的故事 https://www.cnblogs.com/InCerry/p/microservice-migration-net-6.html 本次迁移 ...

  8. sqlite3数据库Linux 系统移植和使用

    sqlite3数据库是一个小型的数据库,当数据量不大,要求不是特别高的时候,是个不错的选择. 在Linux上移植和使用也非常的方便. 本示例是在硬件全志r528 .linux5.4 上验证的. 移植操 ...

  9. 微软出品自动化神器【Playwright+Java】系列(十)元素定位详解

    一.写在前面 又有很久没更文了,真的是被催婚搞的整个人情绪特别不好,如果硬要形容的话,那就是没法跟人正常沟通,一点就着,做什么都没耐心,看什么都烦,简直没救了... 也是偶然发现的,自己居然没写关于P ...

  10. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 49; columnNumber: 17; 元素类型为 "configuration" 的内容必须匹配 "

    问题现象: Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: o ...