1:文本文件指的是ASCII码文件,二进制文件指的是除文本文件以外,其他文件。

2:区分数据对象的唯一判别方法是数据的上下文。

3:描述一下一个hello.c文件的处理过程。首先hello.c文件我们叫做源代码,经过预处理 gcc -E hello.c -o hello.i 处理一些宏,#define的预定义等,我们可以在hello.i的最底部找到我们helloworld的简单几行代码,编译之后得到汇编,gcc -s hello.c -o hello.s ,然后我们的汇编指令经过汇编就对应一条条机器码了。链接阶段实际上会将我们的hello.o文件和printf.o文件等链接到一起去执行。

4:计算机的硬件可以分为4大部分:

(1):总线:贯穿与整个系统的一组电子管道,携带信息字节并且在各个部件之间传递。通常总线被设计成传输定长的字节块。即“字”。

(2):I/O设备:输入输出设备,例如鼠标键盘,显示器,磁盘等。

(3):主存:又叫做程序执行的舞台,在处理器执行程序时,用来存放程序和程序用到的数据,(DRAM)

(4):处理器:中央处理器,又称中央处理单元,处理器的核心是寄存器,在任何时刻,寄存器始终指向主存中某条机器语言指令。它的基本操作有以下4个,加载,存储,操作和跳转。

5:大多数计算机使用8位的块,或者字节,作为最小的可寻址的的存储器单位,而不是在存储器中访问单独的位,机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器,存储器的每个字节都由唯一的数字来标识,称为它的地址。所有可能的集合称为虚拟地址空间,这个虚拟存储空间只是一个展现给机器级程序的概念性映像,实际的实现是将随机存储器,磁盘存储器,特殊硬件和操作系统软件结合起来,为程序提供看上去统一的字节数组。

6:计算机在存储器中按照从低有效字节到最高有效字节存储,即最低有效字节在前面的方法称为小端法,反之最高有效字节在前面的方法称为大端法。

7:c语言中的移位操作。移位操作分为左移和右移,左移几位就将最高位几位移出去,后面补0,右移分为逻辑右移和算术右移,逻辑右移是指将低位移出去,然后高位补0,但是算术右移是将低位移出去,高位补最高位,举个例子:

x:10110001 x<<2 : 11000100 x>>2(逻辑):00101100 x>>2(算术):11101100

c语言并没有明确规定使用哪种右移符号,几乎所有的编译器/机器组合都采用的是算术右移,许多程序员也会使用算术右移。

但是java对如何右移进行了明确的定义,表达式x>>k会将x算术右移k个位置,x>>>k会将x做逻辑右移 。

版权声明:本文为博主原创文章,未经博主允许不得转载。

CSAPP学习笔记(第一,二章)的更多相关文章

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

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

  2. linux 第三周读书笔记-----第一二章 20135334赵阳林

    第一章 Linux内核简介 1.1 Unix的历史 由于Unix系统设计简洁并且在发布时提供源代码,所以许多其他组织和团体都对它进了进一步的开发. Unⅸ虽然已经使用了40年,但计算机科学家仍然认为它 ...

  3. [core Java学习笔记][第一二三章基本语法]

    基本语法 1 Java 简单的类型 1.1 一些常量 正无穷大 Double.POSITVE_INFINITY 负无穷大 Double.NEGATIVE_INFINITY 不存在 Double.NaN ...

  4. 《Linux内核设计与实现》 第一二章学习笔记

    <Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...

  5. C++Primer第5版学习笔记(二)

    C++Primer第5版学习笔记(二) 第三章的重难点内容         这篇笔记记录了我在学习C++常用基本语法的学习过程,基本只记录一些重难点,对概念的描述不是一开始就详尽和准确的,而是层层深入 ...

  6. 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承

    <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...

  7. 《Java编程思想》学习笔记(二)——类加载及执行顺序

    <Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfIniti ...

  8. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  9. C#可扩展编程之MEF学习笔记(二):MEF的导出(Export)和导入(Import)

    上一篇学习完了MEF的基础知识,编写了一个简单的DEMO,接下来接着上篇的内容继续学习,如果没有看过上一篇的内容, 请阅读:http://www.cnblogs.com/yunfeifei/p/392 ...

随机推荐

  1. List的FindIndex和ForEach

    FindIndex和ForEach能接受一个delegate,用来定义查找规则太好用. 匿名函数,萌萌哒:Conditional("DEBUG")也是极好的. 读<C#本质论 ...

  2. .NET(C#)中的DataSet、string、DataTable等对象转换成Json

    ConvertJson.cs类 using System; using System.Collections.Generic; using System.Text; using System.Data ...

  3. Inno Setup怎样创建一个自动申请管理员身份运行的快捷

    如果你使用的是 Unicode 版本的 Inno Setup,那么以下是更为专业的解决方法.    这是 mlaan 提及的再一种方法. QUOTE(     CodeAutomation3.iss) ...

  4. [delphi]向ImageList中加入png类型的资源图片

    向ImageList中动态加入Png图片有些失真,经过多方查询,发现需要将Bitmap的AlphaFormat指定一下. //向ImageList中加入png类型的资源图片 procedure Add ...

  5. _IntfClear报错问题

    delphi对象在释放时会清除对象相关接口.如果开发人员在这之前已经将接口对应的对象释放掉,那么当清除到该接口时经常会报访问内存错误,如下图

  6. [wxWidgets] 1. 安装及"hello world"程序

    关于wxWidgets的优越已经在它的官方网站有所阐述,本文不再赘述. 本系列主要记录学习这个软件包过程中遇到的问题以及心得. 1.  安装 从源码安装虽然大多时候不是一件轻松的过程,但是基于以下两个 ...

  7. oracle之synonym小结

    oracle中的同义词可以认为是对表.视图.序列.存储过程.函数.程序包或者其他同义词的一个别名,也就是用一个别名来映射的作用. oracle中的同义词可以分为私有和公有两种,私有同义词(privat ...

  8. python(30) 获取网页返回的状态码,状态码对应问题查询

    获取访问网页返回的状态码 html = requests.get(Url) respon = html.status_code 以下内容来自于维基百科:点击查看网页 1xx消息 这一类型的状态码,代表 ...

  9. shape--用代码修改shape的颜色属性

    Android里面经常会使用shape来定制一些View的背景,可以修改View的背景颜色,形状等属性 一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是 ...

  10. WKWebview 拼接tableview,获取web内容高度

    - (void)addWKWebView { _webView = [[WKWebView alloc] initWithFrame:CGRectMake(, , SCREEN_WIDTH, 0.1) ...