linux
文章平均质量分 81
水无声风无痕
这个作者很懒,什么都没留下…
展开
-
virtualbox中调整虚拟机的硬盘大小
virtualbox中调整虚拟机的硬盘大小转载 2023-02-10 14:57:44 · 2256 阅读 · 1 评论 -
gitlab 安装,libc.so.6: version `GLIBC_2.25‘ not found
gitlab 安装错误处理,glibc 编译错误处理原创 2022-09-19 18:10:45 · 21753 阅读 · 7 评论 -
select、poll、epoll之间的区别
本文转载自:select、poll、epoll之间的区别(搜狗面试) - aspirant - 博客园侵删!谢谢!(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区转载 2022-04-27 22:14:18 · 150 阅读 · 0 评论 -
Linux面试题大全
faint,在csdn上花了20积分下了10多套题,居然都是同一套。。。。) 一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 。 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3. Linux文件系统中每个文件用 i节点 来标识。 4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。 5转载 2014-01-02 11:22:48 · 791 阅读 · 0 评论 -
标记化结构初始化语法(C语言)
以前在看Linux代码时,就对它的结构体初始化写法感到奇怪,所有的初始化代码都写清了变量名,并且变量名前面还有一个诡异的点。最近学习Linux设备驱动,又遇到了,就查了一下,发现自己的知识果然纰漏不少,此种初始化写法并不是什么特殊的代码风格,而是所谓的C语言标记化结构初始化语法(designated initializer),而且还是一个ISO标准。 [cpp] v转载 2013-12-09 19:44:18 · 654 阅读 · 0 评论 -
IPC操作时IPC_CREAT和IPC_EXCL选项的说明
IPC操作时IPC_CREAT和IPC_EXCL选项的说明 IPC(包括消息队列,共享内存,信号量)的xxxget()创建操作时,可以指定IPC_CREAT和IPC_EXCL选项。以共享内存为例:当只有IPC_CREAT选项打开时,不管是否已存在该块共享内存,则都返回该共享内存的ID,若不存在则创建共享内存当只有IPC_EXC转载 2013-11-27 08:50:45 · 13606 阅读 · 0 评论 -
arm-linux-系列工具,ld,ar,as,objcopy
一些编译器相关知识学习。GNU GCC简介:GNU GCC是一套面向嵌入式领域的交叉编译工具,支持多种编程语言、多种优化选项并且能够支持分步编译、支持多种反汇编方式、支持多种调试信息格式,目前支持X86、ARM7、StrongARM、PPC4XX、MPC8XX、MIPS R3000等多种CPU。GNU GCC的基本功能包括:输出预处理后的C/C++源程序(展开头文件和替换宏转载 2013-10-28 11:40:00 · 825 阅读 · 0 评论 -
深入理解linux网络技术内幕笔记
Linux中skbuff的实现本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析LINUX网络协议栈中SKBUFF的实现。分析以LINUX2.2.x为基础,同时也包括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别是:LINUX2.2.25,LINUX2.4.20. 1 简介了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,转载 2013-10-03 17:44:46 · 1649 阅读 · 0 评论 -
typedef int Myfunc(const char*, const struct stat *, int)问题的思考
typedef int Myfunc(const char*, const struct stat *, int)问题的思考[原创]APUE.2e程序清单4-7举例分析分析apue2e上的程序清单4-7 递归降序遍历目录层次结构,并按文件类型计数 。分析环境:FreeBSD 6.2-RELEAS转载 2013-07-03 14:06:38 · 1762 阅读 · 0 评论 -
你应该知道的Linux技巧
这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解。首先,我想告诉大家,在Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着转载 2013-12-21 19:25:17 · 708 阅读 · 0 评论 -
Linux/Unix下Shell快捷键操作大集合
有时候,我们需要在 Bash 中重复执行先前的命令。你当然可以使用上方向键来查看之前曾经运行过的命令,但本文介绍了一些更好的方式,如!!,!a,!number,!-number,!$,Ctrl+r等快捷键。本文还提供了一些例子介绍如何正确的使用这些快捷键。有时候,我们需要在 Bash 中重复执行先前的命令。你当然可以使用上方向键来查看之前曾经运行过的命令。但这里有一转载 2013-12-21 20:18:48 · 796 阅读 · 0 评论 -
简明Vim练级攻略
摘要:你想以最快的速度学习人类史上最好的文本编辑器VIM吗?这是一篇给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。导读:本文来自《Learn Vim Progressively》,译文来自酷壳网陈皓整理编译的《简明Vim练级攻略》。这是一篇给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。文章内转载 2013-12-21 21:34:32 · 679 阅读 · 0 评论 -
Linux内核中kzalloc函数详解
***************************************************************************************************************************作者:EasyWave转载 2014-02-13 23:25:19 · 784 阅读 · 0 评论 -
.bash_profile和.bashrc的区别(如何设置生效)
.bash_profile和.bashrc的区别(如何设置生效) /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash转载 2014-06-20 11:12:53 · 731 阅读 · 0 评论 -
bash: ifconfig: command not found 解决办法
原本使用ifconfig 可以使用,今天是怎么了,可能安装软件修改了,百度~~ [oracle@localhost /]$ ifconfig 提示:“bash: ifconfig: command not found” 于是我切换到root用户下 [root@localhost /]$ ifconfig 依然提示:“bash: ifconfig: command not f转载 2014-06-21 13:53:49 · 837 阅读 · 0 评论 -
Linux C 计算文件夹大小、数目(包括子目录、文件)
Linux C 计算文件夹大小数目(包括子目录、文件)自己手工码的,并测测试可以通过。#include #include #include #include #include #include /*dirname: 要统计的文件夹路径返回组: 计算的所有文件的数目(包括文件合目录)*/long get_file原创 2015-09-18 20:29:52 · 4158 阅读 · 0 评论 -
UEFI Framework - 1 [ EFI Architecture Overview ]
文章转自:http://william30101.blogspot.hk/2012/04/uefi-framework.html這是Intel 設計出來的一個完整的EFI BIOS 示意圖,其中綠色的部份是Framework1.Hardware 這指得就是 Platform or Motherboard2.Framework,這是一個大的 “H ”型結構转载 2018-01-30 16:26:49 · 730 阅读 · 0 评论 -
UEFI Boot Flow
文章转自: http://william30101.blogspot.hk/2012/04/uefi-boot-flow.html1. SEC Phase (Security)在開機後,系統執行第一個指令的時後,就代表已經進入SEC Phase。這時 Memory還沒有被 Initialize,還不能被使用,所以在SEC Phase 主要的工作就是建立暫時的Memory转载 2018-01-30 16:30:33 · 809 阅读 · 0 评论 -
Linux I/O调度
Linux I/O调度一) I/O调度程序的总结 1) 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 2) 每个块设备都有它自己的队列. 3) I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O调度程序将无序的I/O操作变为有序的I/O操作. 4) 内核必须首先确定队列中一共有多少个请求,然后才开转载 2013-07-01 18:51:13 · 632 阅读 · 0 评论 -
Linux slab 分配器剖析
Linux slab 分配器剖析简介: 良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux® 内核使用了源自于 Solaris 的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab 分配器背后所采用的思想,并介绍这种方法提供的转载 2013-07-01 16:43:13 · 746 阅读 · 0 评论 -
关于__init、__initdata和__exit、__exitdata的学习笔记
分类: 原文地址:关于__init、__initdata和__exit、__exitdata的学习笔记 作者:tekkamanninja由于4年前对于C语言和Linux的知识贫乏,所以当时对于模块中的函数定义没有细看。这次在温习《LDD3》的时候,重新看了一下关于__init、__initdata和__exit、__exitdata的知识,记录如下:对于__init、_转载 2013-03-18 21:47:09 · 639 阅读 · 0 评论 -
Linux启动参数及实现 __setup与early_param .
__setup与early_param不同的是,early_param 宏注册的内核选项必须要在其他内核选项之前被处理。在函数start_kernel中,parse_early_param处理early_param定义的参数,parse_args处理__setup定义的参数。 parse_early_param(); parse_args("Booting kernel", sta转载 2013-03-21 18:59:59 · 673 阅读 · 0 评论 -
用GDB调试程序
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:转载 2013-05-15 14:55:52 · 473 阅读 · 0 评论 -
linux grep命令
linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数转载 2013-05-16 13:04:35 · 613 阅读 · 0 评论 -
Linux 文件打包压缩常用命令(笔记,搜录自网络和文档)
Linux 文件打包压缩常用命令zip 老了一些,但是所有系统都支持(.zip)。格式 zip 压缩后的文件名 要被压缩的文件 参数参数 -1 压缩比,1-9可选,9为最大压缩率。 -c 增加注释。 -d 解压出一个文件。 -D转载 2013-03-18 21:51:05 · 782 阅读 · 0 评论 -
Linux内核的同步机制
Linux内核的同步机制摘要:本文详细的介绍了Linux内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的API,使用要求以及一些典型示例。一、引言 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数转载 2013-05-06 22:45:42 · 622 阅读 · 0 评论 -
并发、竞态与解决方法
与IPC的信号量区别:这里为内核态的并发(执行单元),IPC为用户态的并发(进程)并发:多个执行单元同时被执行。竞态:并发的执行单元对共享资源(硬件资源和软件上的全局变量等)的访问导致的竞争状态例:if (copy_from_user(&(dev->data[pos]), buf, count))ret = -EFAULT;goto out;转载 2013-05-09 16:05:13 · 767 阅读 · 0 评论 -
attribute 用法 section 部分
attribute 用法 section 部分1. gcc的__attribute__编译属性要了解Linux Kernel代码的分段信息,需要了解一下gcc的__attribute__的编绎属性,__attribute__主要用于改变所声明或定义的函数或 数据的特性,它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn表示没有返回转载 2013-05-14 14:34:32 · 717 阅读 · 0 评论 -
Linux Shell编程入门
Linux Shell 编程入门从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必转载 2013-05-15 17:48:11 · 544 阅读 · 0 评论 -
GDB 进行调试 使用心得
GDB 进行调试 使用心得1: 对于在应用程序中加入参数进行调试的方法: 直接用 gdb app -p1 -p2 这样进行调试是不行的。 需要像以下这样使用: #gdb app (gdb) r -p1 -p2 或者在运行run命令前使用set args命令: (gdb) set args p1 p2 可以用show args转载 2013-05-15 17:41:37 · 572 阅读 · 0 评论 -
pid_t 类型
pid_t的类型定义创建进程时经常会用到进程号的类型定义:pid_t。我们都知道这个类型定义实际上就是int型。但是在linux下的c中的头文件中这个定义到底是怎么定义的呢?今天就把以前找这个定义的过程贴出来:1.首先在/usr/include/sys/types.h中有如下定义#include ......#ifndef __pid_t_definedtype转载 2013-06-01 16:47:53 · 872 阅读 · 0 评论 -
Kobject相关
Kobject相关kobjec是linux在2.6中新引进的统一的设备管理模型,他的主要目的就是对linux的2.6系统所有的设备进行统一的管理,在以前的内核中并没有独立的数据结构让内核对整体的系统做配置和管理。尽管缺乏此类的信息,但是很多时候系统还是能正常工作,然后随着设备越来越多,系统越来越复杂,以及需要支持更多诸如电源管理等新的特征需要,新的内核版本明确提出了需要统一管理设备的要转载 2013-07-06 18:13:38 · 628 阅读 · 0 评论 -
Linux内核的同步机制
Linux内核的同步机制 本文详细的介绍了Linux内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的API,使用要求以及一些典型示例 一、引言 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的转载 2013-06-26 17:08:21 · 782 阅读 · 0 评论 -
对container_of(ptr,type,member)分析
对container_of(ptr,type,member)#define container_of(ptr, type, member) ({ \const typeof(((type*)0)->member) *__mptr= (ptr); \(type *)((char*)__mptr- of转载 2013-06-26 20:44:06 · 707 阅读 · 0 评论 -
__builtin_offsetof()
-------------linuxcompiler-gcc4.h--------------#define __compiler_offsetof(a,b) __builtin_offsetof(a,b) 分析准备:__compiler_offsetof(),为gcc编译器中的编译方面的参数,查阅gcc方面的文档: --->gcc.pdf.Download from www.gn转载 2013-06-26 20:36:11 · 6152 阅读 · 2 评论 -
Filesystem check failed
Filesystem check failed今天开机突然出现下面这样的情况:仔细搜了搜找到了解决方案:LinuxMint是一份基于Ubuntu的发行,其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对DVD播放的支持、Java和其他组件.它与Ubuntu软件仓库兼容.新版本基于Ubuntu 9.10,修复大量bug并作出许多原创 2013-06-30 11:03:37 · 2300 阅读 · 0 评论 -
U-boot顶层Makefile的详细分析总结
VERSION = 1 PATCHLEVEL = 1SUBLEVEL = 6EXTRAVERSION =U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) # $(xxx)相当于c中的宏定义,$(VERSION)即为 1,因为 VERSION = 1 ,其他三个类似VERSION_F转载 2013-03-18 21:54:37 · 912 阅读 · 0 评论