自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 linux内存管理

linux内存管理linux系统的性能取决于如何有效的管理动态内存,因此现在所有的多任务操作系统都在尽力优化对动态内存的使用,也就是说尽可能做到当需要时分配,不需要时释放。内存寻址内存地址内存地址:作为访问内存单元内容的一种方式,主要有以下三种;逻辑地址(logic address):包含在机器语言指令中用来指定一个操作数或一条指令的地址;线性地址(linear address)(也称虚拟地址virtual address):是一个32位的无符号整数,可以用来标识高达4GB的地址;物理地址(

2021-04-28 20:54:18 536

原创 Linux中的分段和分页

Linux中的分段和分页在早期的计算机中,程序是直接运行在物理内存上,换言之就是直接操作物理地址。此时如果系统只有一个程序运行,那么只要这个程序所需的内存不超过物理内存就不会出现问题,也就不需要考虑内存管理。但是当前的计算机系统都是支持多任务、多进程的,这样CPU及其它硬件的利用率会更高,因此我们就需要考虑如何将有限的物理内存及时有效的分配给多个程序,这个过程就称为内存管理。早期计算机系统内存管理存在的问题1、进程地址空间不能隔离由于程序直接访问的是物理内存,这时程序所使用的内存空间不是隔离的(每

2021-04-28 20:45:59 741

原创 Linux--I/O介绍

Linux–I/O介绍I/O概述首先分析一下写操作,具体代码和数据流图如下所示:char *buf = malloc(MAX_BUF_SIZE);strncpy(buf, src, , MAX_BUF_SIZE);fwrite(buf, MAX_BUF_SIZE, 1, fp);fclose(fp);malloc的buf对应于图层中的application buffer,即应用程序的buffer;调用fwrite后,首先把数据从application buffer拷贝到CLib buffe

2021-04-28 20:27:19 188

原创 闪存文件系统垃圾回收总结

闪存文件系统垃圾回收闪存相关知识闪存闪存是一种非易失性存储器,即断电数据不会丢失。闪存编程只能从1写到0.因此,在Flash编程之前,必须先擦除相应的块。 擦除过程是将块中的所有位写入1的过程,块中的所有字节都变为0xFF。 因此,可以说编程是将相应位写入0的过程,而擦除是写入1的过程,两者的执行完全相反。闪存的特性快的擦除:必须先确保擦除闪存块,然后才能写入数据。 擦除块所花...

2020-11-11 10:29:17 1793

原创 Ubuntu16.04 安装OpenStack

Ubuntu16.04 安装OpenStack1、 更新资源包sudo apt-get update2、 时间同步(可选步骤)同步时区:sudo dpkg-reconfigure tzdata安装时间同步工具:sudo apt-get install ntpdatesudo ntpdate cn.pool.ntp.orgdate3、 devstack下载安装git:s...

2019-05-16 17:15:21 1236

原创 Python组合数据类型

Python组合数据类型Python组合数据类型元组元组的元素是固定的,一旦创建就不能修改,(用圆括号表示,tuple()函数创建);表达固定数据项,函数多返回值,多变量同步赋值,循环遍历等情况下十分有用,由于Python的实现,元组比列表的效率更高。序列类型的通用操作符和函数操作符描述s[i]索引,返回序列的第i个元素s[i: j]分片,返回包含序列s第...

2019-05-16 15:49:18 592

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除