摘要:Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:1. 与 Ext3 兼容。执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。2. 更大的文件系统和更大的文件。较之 Ext3 目前所支持的最大 16TB.
阅读全文
随笔分类 - linux系统知识
摘要:从 ARM VIVT 看 cache请访问google 文档. http://docs.google.com/Doc?id=dcbsxfpf_282csrs2pfndo_wp_page 的VIVT 考虑在下面的函数中(write protect detected), 为什么需要 flush_cache_page,和 update_mmu_cache? 原因在于在vivt 的情况下, 如果a 进程写入cache line 1, b进程试图读取自己的 cache line 2, 并且b进程是cow(一种情况), 那么在copy这个页面的时候就需要flush 用户a存在于cache line1 内的
阅读全文
摘要:转自:http://blog.csdn.net/zhang405744522/article/details/50048171. 概论2. 基本概念3. 脚本格式4. 简单例子5. 简单脚本命令6. 对符号的赋值7. SECTIONS命令8. MEMORY命令9. PHDRS命令10. VERSION命令11. 脚本内的表达式12. 暗含的连接脚本1. 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些
阅读全文
摘要:有好多朋友问到怎么制作rpm包,可不可把其它服务器上编译好的软件目录复杂到其它服务器上直接应用等等。。。这里做个简单的介绍,高级复杂的不会。此方法是通过编写spec文件,使用rpmbuild来完成一个rpm的打包。以nginx为例进行介绍制作平台:centos 5.x X86_64四步走:第一步:建立目录结构-mkdir /usr/src/RedHat/{SOURCES,SPECS,BUILD,RPMS,SRPMS} -p相关目录介绍:/usr/src/RedHat/SOURCES #存放源代码、补丁等文件 /usr/src/RedHat/SPECS #存放用于管理rpm制作进程的spec文件
阅读全文
摘要:当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法。那么我来谈谈这个问题。 一、通常情况 先来说说free命令: 引用 [root@server ~]# free -m total used free shared buffers cached Mem: 249 163 86 0 10 94 -/+ buffers/cache: 58 191 Swap: 511 0 511 其中: 引用 total 内存总数 used 已经使用的内存数 f...
阅读全文
摘要:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx异步通知fasync是应用于系统调用signal和sigaction函数,下面我会使用signal函数。简单的说,signal函数就是让一个信号与一个函数对应,每当接收到这个信号就会调用相应的函数。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一、什么是异步通知个人认为,异步通知类似于中断的机制,如下
阅读全文
摘要:find . -name *.png | xargs rm -fr
阅读全文
摘要:MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱 动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/drivers/mtd子目录下。我将CFI接口的MTD设备分为四层 (从设备节点直到底层硬件驱动),这四层从上到下依次是:设备节点、MTD设备层、MTD原始设备层和硬件驱动层。 一、Flash硬件驱动层:硬件驱动层负责在init时驱动Flash硬件,Linux MTD设备的NOR Flash芯片驱动遵循CFI接口标准,其驱动程..
阅读全文
摘要:BusyBox已带有一个简化板的udev - mdev,通过简单的mdev -s,就能自动装配/dev目录下的设备文件:# ls /devconsolenullptmxptsshm# mdev -s && ls /devapm_bios ptypd tty24 tty56console ptype tty25 tty57fb0 ptypf tty26 tty58full ram0 tty27 tty59kmem ram1 tty28 tty6kmsg ram2 tty29...
阅读全文
摘要:open和fopen的区别:1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速度就快、效率高。一般来说,文件“缓冲区”的大小随机器 而定。fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, fre
阅读全文
摘要:linux设置默认网关:route add default gw 192.168.3.1 eth0
阅读全文
摘要:Linux内部的时钟处理机制全面剖析在 Linux 操作系统中,很多活动都和时间有关,例如:进程调度和网络处理等等。所以说,了解 Linux 操作系统中的时钟处理机制有助于更好地了解 Linux 操作系统的运作方式。本文分析了 Linux 2.6.25 内核的时钟处理机制,首先介绍了在计算机系统中的一些硬件计时器,然后重点介绍了 Linux 操作系统中的硬件时钟和软件时钟的处理过程以及软件时钟的应用。最后对全文进行了总结。◆1、计算机系统中的计时器在计算机系统中存在着许多硬件计时器,例如 Real Timer Clock ( RTC )、Time Stamp Counter ( TSC ) 和
阅读全文
摘要:我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?umask是什么?当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。如何计算umask值?umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文
阅读全文
摘要:Ubuntu 默认采用UTF8编码,可以方便global。但对中文支持,还不细致,即便默认采用中文安装,也并不会自动添加GB*等支持,致使在Ubuntu下访问部分Win文本文件时,出现乱码。I. 配置系统环境执行 sudo vi /var/lib/locales/supported.d/zh加入以下配置参数zh_CN.GB18030 GB18030 (最新汉字编码字符集,向下兼容GBK,GB2312)zh_CN.GBK GBK (汉字扩展编码,向下兼容GB2312, 并包含BIG5全部汉字)zh_CN.GB2312 GB2312 (简化汉字编码字符集, 最近有客户要我们改进GB2312,太看得
阅读全文
摘要:1、使用命令:fdisk -l,查看系统硬盘和分区情况2、插入优盘,再次用fdisk -l命令查看 大家可以发现多了一个硬盘/dev/sdb和它的一个分区/dev/sdb13、使用命令:mkdir -p /mnt/usb,在mnt目录下创建目录usb来作挂接点4、进行挂载,使用命令:mount -o iocharset=cp936 /dev/sdb1 /mnt/usb 其中,-o iocharset是设定字符集,保证能够正常显示中文5、已成功挂载,可以使用命令:ls /mnt/usb进行查看。挂载移动硬盘和优盘完全一样6、解除挂载,目的是避免损坏或丢失数据,使用命令:umount /dev/s
阅读全文
摘要:linux是如何组成的?答:linux是由用户空间和内核空间组成的为什么要划分用户空间和内核空间?答:有关CPU体系结构,各处理器可以有多种模式,而LInux这样的划分是考虑到系统的安全性,比如X86可以有4种模式RING0~RING3 RING0特权模式给LINUX内核空间RING3给用户空间linux内核是如何组成的?答:linux内核由SCI(System Call Interface)系统调用接口、PM(Process Management)进程管理、MM(Memory Management)内存管理、Arch、VFS(Virtual File Systerm)虚拟文件系统、NS(Ne
阅读全文
摘要:Linux 3.0正式发布(7月21日)已经过去3~4天了,不见国人有什么反响,四处似乎很安静。何故哉? 去年这个时候,Linux打假;今年这个时候,Office打架,使人很心烦。如今这个时候,有谁还拿Linux来说事儿?近日,科研经费陷“无底黑洞”一文,似乎又唤起了人们的良知,看问题的视角变了。 记得,2003年11月18日,我正好在厦门软件园,Linux 2.6正式发布了。可以公正地说,一切现代的GNU/Linux成就是从个版本开始的。从此,Linux 2.6.1;Linux 2.6.2;Linux 2.6.3... ...直到Linux 2.6.39相继发布。实际上,Linux 3.0.
阅读全文
摘要:上周五,Linus Torvalds终于发布了备受瞩目的新一代Linux操作系统内核。Linux Kernel 3.0经过了七个RC候选版才推出正式版本,上一个版本是5月19日的2.6.39,也是2.6系列的第39次升级维护。八年来,Linux开发人员一直致力于2.6版本的改进工作,新版本提升到3.0是为了纪念Linux风雨走过的20年,同时也精简了越来越复杂的版本号。上周五,Linus Torvalds终于发布了备受瞩目的新一代Linux操作系统内核。Linux Kernel 3.0的发布,代表着Linux开源新时代的到来。之前曾有消息称,Linus Torvalds在其Google+帖子中
阅读全文
摘要:最近研究ubuntu,用apt-get命令安装一些软件包时,总报错:E:could not get lock /var/lib/dpkg/lock -open等出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况。解决方法:输入以下命令sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock之后再安装想装的包,即可解决。
阅读全文
摘要:我们编程时常常想统计一下自己写过多少行代码了,这时候该怎么办呢?虽然Vim等编辑器中有代码行数显示,但是不能一个个打开然后加起来吧?这个时候需要用到wc这个工具,呵呵,别看名字不怎么样,功能可是很强大的哦。用法:当前目录下:wc -l *.c *.h当前目录及子目录:find . -name *.c |xargs wc -lfind . -name *.cpp | xargs wc -lfind . -name *.h |xargs wc -l
阅读全文