计算机系统

虚拟存储器

虚拟存储器是一个抽象概念,它为进程提供了一种假象,每一个进程都象独占了占主存一样。

每个进程看到的是一致的存储器,称为虚拟地址空间。

程序代码和数据:

对于所有进程来说,代码是从同一固定地址开始,紧接着是和C全局变量相对应的数据位置。

堆:

运行时堆,可以收缩和扩张,如在使用malloc 和free时。

栈:

编译器用它来实现函数调用

来自为知笔记(Wiz)

时间: 2024-10-06 21:45:06

计算机系统的相关文章

计算机系统漫游

计算机系统由硬件系统和软件系统组成,它们共同协作来完成执行程序的任务.作为20世纪(世界上第一台计算机ENIAC与1946年诞生于美国的宾夕法尼亚大学)最伟大的发明之一,计算机系统可以说是人类迄今为止创造的最复杂最精密的工具.今天,借助计算机界的圣经教材<深入理解计算机系统>,我来带领大家探索一下计算机系统的秘密. 1 信息就是位 + 上下文 计算机是信息学科的产物,其主要左右就是帮助人们处理各种各样的信息.而信息本身是一个比较抽象的概念,从百度百科给出的定义中我们可以知道,信息是用来传输和处

计算机系统之汇编---IA32处理器数据格式及数据操作

计算机系统之汇编---IA32处理器数据格式及数据操作 IA32数据格式: Intel用术语"字"表示16位数据类型,因此,称32位数为"双字",称64位数为"四字". Char*这里指的是所有指针类型,注意:c语言新增加的long long是八字节,但是硬件IA32不支持这个类型. 寄存器(8个32位的寄存器,均以%e开头) %eax.%ecx.%edx:调用者保存(数据)寄存器,当过程p调用q,q可以覆盖这些寄存器,但是不会改变p中的数据.

深入理解计算机系统9个重点笔记

引言 深入理解计算机系统,对我来说是部大块头.说实话,我没有从头到尾完完整整的全部看完,而是选择性的看了一些我自认为重要的或感兴趣的章节,也从中获益良多,看清楚了计算机系统的一些本质东西或原理性的内容,这对每个想要深入学习编程的程序员来说都是至关重要的.只有很好的理解了系统到底是如何运行我们代码的,我们才能针对系统的特点写出高质量.高效率的代码来.这本书我以后还需要多研究几遍,今天就先总结下书中我已学到的几点知识. 重点笔记 编写高效的程序需要下面几类活动: 选择一组合适的算法和数据结构.这是很

读书笔记《深入理解计算机系统》(第三版) 概述

<深入理解计算机系统>第三版刚出来不到一周,便买下了这本书:之所以阅读本书,一方面源于网友推荐以及豆瓣不错的评分.评价:另一方面是针对本人非科班出身,计算机系统相关的知识相对比较薄弱,很多情况下此类知识需要工作之外的时间自学.补涨此类知识,而该书从程序员的角度进行阐述.展示了计算机系统的各个层面的知识以及其影响程序的正确性.性能.实用性,更容易引起某些上层和下层的知识接轨理解,以期望可以融汇各方面的知识. 明白程序的运作过程,编写更好的软件程序,对底层过程了解以完善自己知识体系和提高信心.接下

《深入理解计算机系统》 Chapter 7 读书笔记

<深入理解计算机系统>Chapter 7 读书笔记 链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(货被拷贝)到存储器并执行. 链接的时机 编译时,也就是在源代码被翻译成机器代码时 加载时,也就是在程序被加载器加载到存储器并执行时 运行时,由应用程序执行 链接器使分离编译称为可能. 一.编译器驱动程序 大部分编译系统提供编译驱动程序:代表用户在需要时调用语言预处理器.编译器.汇编器和链接器. 1.将示例程序从ASCⅡ码源文件翻译成可执行目标文件的步骤 (1)运

深入理解计算机系统,第一章:漫游

计算机系统漫游 1.1 信息就是位+上下文 先看一个简单的Hello World C程序. 1 #include <stdio.h> 2 3 void main() 4 { 5 printf("Hello World!\n"); 6 } 这个程序的源文件是文本格式,以字节序列的方式存储在文件中,由一种叫ASCII码的方式编码.除了文本文件之外的其它文件都是二进制文件. 由HelloWorld程序的存储方式可以猜测,信息,包括磁盘文件.内存中运行的程序.内存中储存的用户数据以

《深入理解计算机系统》第一章计算机系统漫游

信息就是位+上下文 系统中所有信息都是由一串位表示的.区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文. 程序被其他程序翻译成不同的格式     范例代码 1 #include <stdio.h> 2 3 4 5 int main() 6 7 { 8 9 printf("hello world\n"); 10 11 } 每条C语言都必须被其他程序转化为机器指令,以可执行目标程序的格式打包好,以二进制文件形式存放 转化过程分为: 预处理阶段:读取系统头文件stdio

计算机系统的多级层次结构

多级层次结构: 是从使用语言的角度,基于程序员与计算机系统对话中所采用的语言结构和语义划分. 现代计算机系统的层次结构分为六级: 多级层次结构中(机器-语言) M5: 应用语言机器 – 应用语言 M4: 高级语言机器 – 高级语言 M3: 操作系统机器 – 作业控制语言 M2: 汇编语言机器 – 汇编语言 M1: 传统机器 – 机器指令系统 M0: 微程序机器 – 微指令系统 编译与解释的区别: 编译(compile):全部N+1级指令–>N级指令 解释(translation):一条N+1级指

计算机系统的分类

1.按处理机性能分类2.佛林分类法3.库克分类法4.冯泽云分类法5.汉德勒分类法 按处理机性能分类1.按大小划分种类:巨型.大型.中型.小型.微型机划分原则:以性能为特征,按价格来划分存在问题:划分的标准是随着时间而变化的,没5年左右降低一个等级.设计方法:最高性能 特殊用途 最佳性能价格比 一般商用计算机 最低价格 家用计算机等 2.按用途划分种类:科学计算.事务处理.实时控制.工作站.服务器.家用计算机等.划分原则:科学计算:浮点计算速度事务处理:字符处理.十进制运算实时控制:中断响应速度.

你真的深入理解计算机系统了吗之篇章一:程序与系统的交互

随着计算机的发展以及高级编程语言的出现,应用程序不仅仅要与硬件打交道,还要借助于一些系统的服务,这些系统不仅仅包括操作系统还有编译系统等,我们分别来介绍应用程序是如何与这些系统打交道的. 首先来看程序与编译系统的交互.如今的程序代码规模越来越大,将所有代码都写在一个文件中已经变得不切实际,因此通常将代码按照功能划分到不同的文件中.当一个高级语言写的程序要想能被处理器执行,那它首先要被编译系统的编译器编译为二进制形式的文件,即可重定位目标文件,其次编译系统的链接器还必须将这些可重定位目标文件链接成