Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux 之文件编程

Linux 之文件编程

以前看一个朋友的博客,其中有一句话很犀利:“Linux 下皆文件”,短短五个字就说出了文件系统在Linux下的重要性。在Linux操作系统中,它对一切资源的管理归根到底最后都是对文件的操作。 一.前言: 在原理课上,我们就知道操作系统的五大供能之一就是对文件的管理. 那么为什么要引入文件管理的功能呢,它的主要任务是什么呢? 我们先看看它出现的 背景吧 在现代操作系统中,要利用大量的程序和数据,由于内存容量有限,且不能长期保存,于是人们想出了把这些数据以文件...
Linux 内核编程之文件系统

Linux 内核编程之文件系统

当用户层程序员在编写文件函数时,常常会用到open(),read()和write()这类系统调用,而且用的也很爽,因为我们只需要知道这些函数如何调用就OK了,而不用深究具体文件系统和实际物理介质是如何实现的。而我们内核编程人员就要了解这些底层实现,给上层人员提供更多的方便。因此我们的任务就更复杂,佛家有一句名言:“我不入地狱,谁如地狱”因此我们就要有奉献精神编写出具有统一简单效率高的接口为用户层程序员提供方便。 如果你有这种奉献精神和喜爱Linux内核以及...
Linux 中断学习之前言篇 中断之原理篇

Linux 中断学习之前言篇 中断之原理篇

Linux中断本人使用的Ubuntu,使用的内核是2.6版本.时间:2010-12-10前言:中断是计算机发展中一个重要的技术,它的出现很大程度上解放了CPU,提高了CPU的执行效率。在中断出现之前,CPU对IO采用的是轮询的方式进行服务,这使的CPU纠结在某一个IO上,一直在等待它的响应,如果它不响应,CPU就在原地一直的等下去。这样就导致了其他IO口也在等待CPU的服务,如果某个IO出现了important or emergency affairs,C...
Linux之Git工具的使用

Linux之Git工具的使用

我相信做过项目的人,对软件版本管理的重要性是深有所知的。如果程序版本没有管理好,可能对整个项目来说就是致命的打击。所以希望大家在做项目时要注意对自己编写的程序进行一个良好的管理。前言:Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问 . 所谓版本控制系统 (VersionControl System) ,从狭义上来说,它是软件项目开发过程中用于储存我们所写的代码所有修订版本的软件,但事实上我们可以将...
Linux内核模块编程

Linux内核模块编程

Linux内核模块编程是一个很重要的知识点。尤其是编写底层驱动程序时,一定会涉及到它。内核模块编程也是Tiger哥学习Linux时第一节课所接触的知识。由此可以看出它的important,也可以看出其实它很easy。一前言: 1. 什么是内核模块 1> 内核模块是具有独立功能的程序。它可以被单独编译,但是不能单独运行,它的运行必须被链接到内核作为内核的一部分在内核空间中运行。 2> 模块编程和内核版本密切相连,因为不同的内核版本中某些函数的函数...
Linux下一些常见的Shell 命令

Linux下一些常见的Shell 命令

对于许多经常在XP下编程的同学,突然转到Linux下编程会很不习惯,因为以前能在XP下用鼠标完成的很多事情,现在我们都用命令来完成(虽然现在很多Linux操作系统都支持鼠标操作,但是既然学习Linux了,个人认为我们平时还时多用shell命令把,其中的原因。我想大家都会懂的) 为了方便大家,哥总结了一些在Linux下最常用的一些命令。一些其他命令,当我们以后用到的时候可以再查资料,我们完全没有必要去全部记住这些命令(个人觉的也没那个必要)。 一.常用的sh...
Linux之编写用户层程序

Linux之编写用户层程序

发现一些同学在学一门程序语言时,往往花很长的时间去学习如何使用一个编译工具。 实 在是令人很纠结呀 。殊不只编译工具何其多也,而且在不断的淘汰,就我们知道的c 编译工具就有(Turboc ,Vc ,Vim,ADS.......)如果我们花大量的时间用在如何去精通它们,那将是很大的一个悲剧。我们应该把大量的时间用在如何学会一个语言这才是至关重要的。希望大家只要对工具有个大概了解就行了。平时,用这些工具时如果有问题可以查查资料就行了。一.如何在Linux下编写...
编译和使用独立于Linux系统之外的Python

编译和使用独立于Linux系统之外的Python

为何有这样的要求,实在出于无奈。实在是无语于RPM的包依赖管理和“企业版”Linux老旧的基础软件版本——我的工作机是RHEL5.4,某台正在玩的机器是RHEL4.3改装版,所附Python分别是2.4.5和2.3.6。拜托,2.6已经出来很久了。新版的RPM包找不到,我确又不想伤筋动骨覆盖/usr/bin和/usr/lib。于是有了将Python源代码从头弄起的想法。既然不影响系统,使用普通帐户也就够了,无需root。首先下载python2.6.5的li...
Linux 模块编译步骤

Linux 模块编译步骤

本文将直接了当的带你进入linux的模块编译。当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者能够看懂。之所以要写这篇文章,主要是因为从书本上学的话,可能要花更长的时间才能学会整个过程,因为看书的话是一个学习过程,而我这篇文章更像是一个培训。所以实践性和总结性更强。通过本文你将会学到编译一个模块和模块makefile的基本知识。以及加载(卸载)模块,查看系统消息的一些知识;声明:本文为初学者所写,如果你已经是一个linux模块编译高手,还请指正我...
Android 下使用 JSON 实现 HTTP 请求

Android 下使用 JSON 实现 HTTP 请求

最近在用Android调用Web服务,开始准备用WebService来调用,用jws的WebService方式写好后发现Android调用的时候很多问题不知道咋解决了,后来发现有一个更好的办法,就是采用HttpPost来与后台交互。下面就说一下相关的JSON的操作:不得不说,JSON 格式的确是非常美妙的,速度快而且简化了很多操作在 Android 下,Android SDK 已经为我们封装好了整个与 JSON 有关的操作,使用非常方便以下就是一个标准的 ...
Linux Shell脚本获得当前文件路径

Linux Shell脚本获得当前文件路径

在php当中获得当前文件路径用: dirname(__FILE__)在shell当中没有直接的变量和函数,$(cd "$(dirname "$0")"; pwd) 但是把他用在嵌套脚本时就会发生问题。例如我在脚本a里面调用脚本b。 脚本b: selfpath=$(cd "$(dirname "$0")"; pwd) echo $selfpath 脚本a: . b.sh 最后输出的结果是脚本a的绝对路径,而不是脚本b的绝对路径。我发现问题出在$0这个地方。这...
./configure,make,make install的作用

./configure,make,make install的作用

这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make是用来编译的,它从Makefile中读取指令,然后编译。make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。-----1、c...
Linux Kernel网络部分代码剖析

Linux Kernel网络部分代码剖析

在这个系列文章中,我自己将尝试着分析Linux kernel2.6下面的中的网络部分的源代码,主要是TCP/IP部分,只是记录自己的学习经历,如果你感兴趣,不妨说出你的理解。这是第一部分,主要分析一下TCP/IP相关协议以及实现网络协议时kennel常用的数据结构,提供一些基础知识。注意,虽然分析的主要是TCP/IP族,但不可避免提及其它的一些协议,因为TCP/IP族只是网络协议的一个组成。TCP/IP协议的分层 在TCP/IP协议的学习中,很多人对TC...
编译Qt4.5 Embedded for Arm Linux

编译Qt4.5 Embedded for Arm Linux

安装开发环境就不多说了,装好Linux虚拟机后。先安装QtX11,主要是可以看Demo和帮助文档,最重要的是可以生成QVFB,不过郁闷的是这个烂东西编译好居然不能自动生成,要自己去文件夹下生成。再安装Qt-Emebedded for X86,这个比较正常,然后就可以在X86下进行编译,在QVFB模拟器上查看。可参考下面的文章:http://www.linuxidc.com/Linux/2011-02/32220.htm下面说说编译Qt4.5 Embedde...
qt-embedded-linux-opensource-src-4.5.1移植到QQ2440开发板

qt-embedded-linux-opensource-src-4.5.1移植到QQ2440开发板

前言:非常漫长的过程,可以说,移植qte4.5.1是我移植qte以来最难的一次,前面几次都非常顺利的完成了,这次却花了很大的力气,期间得到了阿乐的大力帮助,可以说移植完成,是我们两个人的汗血啊。摘要:在友善之臂QQ2440 ARM9开发版上移植了最新的qt-embedded-linux-opensource-src-4.5.1,并且使用了tslib1.4,总结下移植过程和出现的问题。正文:为了参加博创的比赛,决定移植Qte4.5.1,Qt的嵌入式版本名字变...
<< 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 >>