数据管理

数据管理

数据管理涉及三个方面:

1:动态内存管理:linux程序决部允许直接访问物理内存

1.1:简单的内存分配

      #include<stdlib.h>

      void* malloc(size_t size);

#include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> using namespace std; #define A_MEGABYTE (1024*1024) int main() {     char* some_memory;     int megabyte=A_MEGABYTE;     int exit_code=EXIT_FAILURE;     some_memory=(char *)malloc(megabyte);     if(some_memory!=NULL)     {         strcpy(some_memory,"Hello world!\n");         cout<<some_memory<<endl;         exit_code=EXIT_SUCCESS;     }     exit(exit_code); }

1.2:malloc函数可以保证其返回的内存是地址对齐的,所以可以被转换成任意类型的指针。

1.3:linux内核使用空闲的物理内存满足应用程序的内存请求,当物理内存使用完后,它开始使用交换空间,相当于windous的交换文件。

1.4:释放内存

        #include<stdlib.h>

        void free(void *ptr_to memory);
1.5:其他内存分配函数

        void *calloc(size_t number_of_elements,size_t element_size);

        void *realloc(void *existing_memory,size_t new_size);

2:文件锁定:linux提供多种特性实现文件锁定,最简单的方式就是创建锁文件。锁文件仅仅是充当一个指示器的角色,程序间通过相互协作来使用他们。

2.1:创建锁文件

    #inclue<fcntl.h>

    open(“pathname”,O_RDWR|O_CREAT|O_EXCL,mode_t mode);

    以原子方式同时完成两个工作:确定文件不存在,然后创建它。

2.2:临界区:在进入临界区之前,使用open系统调用创建锁文件,然后在退出临界区时使用unlink系统调用删除锁文件

转载于:https://my.oschina.net/yulongjiang/blog/265045

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109829.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于insertBefore是怎么使用的

    关于insertBefore是怎么使用的insertBefore接收两个参数第一个参数是将要进行插前操作的对象第二个参数是被插前的对象也可以称为参考对象调用者为你要操作的元素的父级如下例:<!DOCTYPE ht

    2022年7月2日
    27
  • RT-Thread零基础快速入门第7讲——FinSH控制台「建议收藏」

    RT-Thread零基础快速入门第7讲——FinSH控制台「建议收藏」目录一、前言源码链接二、FinSH控制台使用方法第一步:配置FinSH第二步:烧录程序并把串口连接到PC端第三步:打开xshell或者串口助手第四步:测试FinSH命令三、自定义FinSH命令自定义msh命令自定义C-Style命令和变量自定义命令重命名四、项目实战五、结束语一、前言本来我是打算先讲完RT-thread的内核,再讲设备和组件,但是考虑到后面很多地方都会用到FinSH控制台…

    2022年5月21日
    38
  • springboot springcloud项目实战(阿里云如何搭建服务器)

    https://blog.csdn.net/u010938610/article/details/79282624

    2022年4月15日
    51
  • vs的安装包_vs2019制作安装包

    vs的安装包_vs2019制作安装包VS安装包注册com组件VS安装包注册com组件1.把你的com组件加入到打包程序。 2.在打包程序中找到该com组件,点击属性。在属性中有Register项,把值选择为vsdrfCOM即可。

    2022年8月22日
    6
  • 微型计算机的性能主要取决于什么,微型计算机的性能主要取决于什么?

    微型计算机的性能主要取决于什么,微型计算机的性能主要取决于什么?“微型计算机的性能主要取决于什么?”主要看三大件,CPU,主板,内存。1、CPU:其功能主要是解释计算机指令以及处理计算机软件中的数据,他的速度快慢可以代表计算机处理数据的能力的高低。2、内存:它是与CPU进行沟通的桥梁,计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。3、主板:主板在整个微机系统中扮演着举足轻重的角色。主板的类型和档次决定着整个微机系统的类型,主板的…

    2022年6月28日
    49
  • java-xml文件

    java-xml文件使用DOM思想,读取xml文件介绍dom4j核心类1。SAXReaderDOM解析思想的核心类方法:read(绑定了这个xml文件的输入流)读取xml文件返回文档对象,返回值是Doucment对象2.Doucment对象方法:getRootElement()获取文档的根标签返回值:返回的是标签对象Element3.Element标签对象方法获取子标签Listelements()返回所有子标签集合List方法:StringattributeValues(String属性

    2022年7月8日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号