计算机数据存储

应用程序一般在计算机的内存中运行,对各种数据进行操作。

数据的存储

计算机的存储空间可以分为内存和外存两部分。

对于计算机的存储单元,无论是内存还是外存,都是由无数个电子开关组成的。这些电子开关有打开和关闭两个状态,打开时状态为1,关闭时状态为0。

一个位(bit)代表了二进制的一个基本单元,也是计算机存储的基本单元。

内存单元

日常的文件一般都存储在硬盘等外存中。当文件或应用程序执行时,将被加载到计算机内存中。因此,内存是计算机最重要的组成部分。没有内存,任何程序和文件都不能执行。

在计算机的内存中,每个字节类型的存储单元都有一个地址,通过这个地址可对内存中的数据进行保存和读取操作。

在计算机中,内存地址是按照字节顺序依次编码的。这样便于程序的寻址和数据的读写。对于计算机的外存,也是按照相同的方法来存储的。

在程序中,一般不需要也不推荐直接对内存地址进行操作,而是由编译器自动分配。

数据的存储

在计算机内部,位(bit)是最基本的存储单元。不同类型的数据都需要转换成二进制后,再存放到内存中。

字符数据的存储

每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。

数值数据的存储

一般,计算机中,用2个字节来存放整数,4个字节来存放实数

程序在内存中的映射

对于计算机而言,一切都是数据。程序也是一种数据,一个程序体内,往往也包括大量的普通数据及指令数据。计算机运行时,普通数据是通过程序加载到计算机内存中的,而程序则是由操作系统来加载到内存中的。

一个应用程序在计算机中的映射,应该包括如下几个方面:

  内存为应用程序的指令分配的空间

  内存为应用程序的静态数据分配的空间

  内存为应用程序的动态数据预留的空间---动态数据堆栈

动态数据分“自动回收”和“手动回收”两种。存放自动回收的动态数据的内存空间,成为栈空间,存放手动回收的内存空间,称为堆空间。

时间: 2024-08-03 05:32:56

计算机数据存储的相关文章

计算机数据存储模型

数据存储模型 当今社会,计算机无处不在,我们知道在计算机CPU用来计算数据,内存和Flash用来存储数据.计算机中的数据是现实社会中的内容在计算机中以另外一种方式来存储.我们的图片.文字.视频等资料都可以保存到计算机中.那么计算机又是如何保存这些数据的呢?在计算机中的这些数据到底是以什么方式存在?本节课将会为大家解答这些疑问,让大家从底层理解什么是计算机中的数据. 计算机电路模型 当我们拆开计算机,可以看到里面是一块电路板,上面有各种各位的元器件,有很多绕老绕去的线路,看起来很复杂.所有的计算都

存储基础知识1

--------------------------------------------------------------------------------------------------- 1.网络存储主要技术 2.主要协议和相关技术 3.文件系统 4.RAID技术 5.数据复制与容灾 6.备份技术 7.windows相关 8.linux相关 9.存储网络知识 10.存储I/O 11.云存储 12.其他存储 13.资料 ---------------------------------

机器字长 存储字长 指令字长 数据字长

机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关.存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数.指令字长:计算机指令字的位数.数据字长:计算机数据存储所占用的位数. 注:冯诺依曼机中,指令和数据同等重要,都存放在存储器中,并可按地址寻访. 通常早期计算机:存储字长 = 指令字长 = 数据字长.故访问一次便可取一条指令或一个数据,随着计算机应用范围的不断扩大,三者可能各不相同,但它们必须是字节的整数倍. 计算机中信息存储单位 计算机

一种软件定义的固态盘融合存储方法

本发明公开了一种软件定义的固态盘融合存储方法,在主机端增加主机端融合存储层HFSL(Host?Fusion?Storage?Layer),直接获取固态盘的物理块特性以及使用过程中的统计信息,结合上层数据访问特点进行固态盘的复杂IO调度及管理,以及分配粒度可变的地址映射方法实现固态盘持久化的高性能.本发明在主机端实现对NAND?FLASH的性能优化以及PCM与NAND?FLASH融合的存储管理,利用PCM优秀的性能弥补NAND?FLASH的性能缺点,可提高固态盘读写性能以及使用寿命. 技术领域 [

现代C语言程序设计之数据存储

现代C语言程序设计之数据存储 C语言 2.1 计算机数据存储 2.1.1 磁盘 计算机中负责大容量数据存储的组件主要是由硬盘(SSD,STAT)来完成的,它们的容量通常是以TB或者GB为单位,那么1GB究竟有多大呢? 如下所示列出了1GB的换算公式 1GB=1024MB 1MB=1024KB 1KB=1024B 1B=8bit 其中位(bit)是计算机存储的最小单位,用于存储计算机最底层的二进制数据,而字节(Byte)是计算机最常用的基本存储单位. 而日常使用的移动硬盘(以500G为例),通常实

网络存储主要技术

NAS概念NAS(Network-Attached Storage,网络附加存储)是指连接到计算机网络的文件级别计算机数据存储,可以为不同客户端提供数据存取. NAS被定义为一种特殊的专用数据存储服务器,包括存储器件(一个或多个硬盘驱动器的网络设备,这些硬盘驱动器通常安排为逻辑的.冗余的存储容器或者RAID阵列)和内嵌系统软件,可提供跨平台文件共享功能.NAS通常在一个LAN上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据,在这种配置中,NAS集中管理和处理网络上的所有数据,将负

C/C++数据在内存中的存储方式

目录 1 内存地址 2 内存空间 ??在学习C/C++编程语言时,免不了和内存打交道,在计算机中,我们存储有电影,文档,音乐等数据,这些数据在内存中是以什么形式存储的呢?下面做一下简单介绍. 本文是学习VIPler的博文关于内存地址和内存空间的理解之后整理的,感谢VIPler提供学习资源. 1 内存地址 ??我们经常在书上或者网络上看到4位和8位的内存地址表示方法,比如0x0001或者0x00000001,为什么会有这两种区别呢? ??其实,这两种表示方法都是表示的编号为1的内存地址,都只是一个

linux下socket编程-进程间通信

一.什么是Socket Socket接口是TCP/IP网络通信的API,Socket接口定义了许多函数或例程,可以用它们来开发TCP/IP网络上的应用程序. Socket类型有两种:流式Socket (SOCK_STREAM)和数据报式Socket(SOCK_DGRAM).流式是一种面向连接针对于面向连接的TCP服务应用:数据报式Socket是一种无连接针对无连接的UDP服务应用.sock通信的基本过程如下: 二.Socket建立 程序可以调用Socket函数建立socket,该函数返回一个类似

很全的linux网络编程技巧

注:作者王晓,本人认为总结得很好,故记之,绝无侵权之意. 1. LINUX网络编程基础知识 1 1.1. TCP/IP协议概述 1 1.2. OSI参考模型及TCP/IP参考模型 1 1.3. TCP协议 3 1.4. UDP协议 5 1.5. 协议的选择 6 2. 网络相关概念 6 2.1. socket概念 7 2.2. socket类型 8 2.3. socket信息数据结构 8 2.4. 数据存储优先顺序的转换 8 2.5. 地址格式转化 9 2.6. 名字地址转化 10 3. sock