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

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux下FrameBuffer直接写屏

Linux下FrameBuffer直接写屏

Linux下FrameBuffer直接写屏,因为Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,故Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。 在继续下面的之前,先说明几个背景知识: FrameBuffer主要是根据VESA标准的实现的,所以只能实现最简单的功能。 由于涉及内核的问题,FrameBuffer是不允许在系统起来后修改显示模式等一系列操作。(好象很多人都...
初始Linux Iptables

初始Linux Iptables

Linux 的内置firewall机制,是通过kernel中的netfilter模块实现的(www.netfilter.ort)。Linux kernel使用netfilter对进出的数据包进行过滤,netfilter由三个规则表组成,每个表又有许多内建的链组成。通过使用iptables命令可以对这些表链进行操作,如添加、删除和列出规则等。一 . netfilter规则表—filter nat manglefilter,用于路由网络数据包。是默认的,也就是...
系统学习嵌入式Linux 几点非常实用的建议

系统学习嵌入式Linux 几点非常实用的建议

学习掌握嵌入 Linux 的开发与移植现在非常流行。各种学习文章与培训班,充斥书店街头。笔者也上了路,经历漫长的摸索,终于一日开窍,但的确糟蹋了很多金钱与时间。 作为穷人,现写下自己的感受,供好学寒士参考。 第一要点: 实验重于看书 (多编码,少翻书) 一定首先搭建x86实验环境。 用旧计算机(周末电脑城抛售存货,有新的),搭建一套 实验环境。 host主机: 一台PC机(能够跑RedHat linux,看问档就可以了,配网卡与软驱)。 target目标机...
嵌入式应用Linux裁减的初次尝试

嵌入式应用Linux裁减的初次尝试

前段时间因为嵌入式应用开发的需要,对Linux进行了一次大幅度的裁减。由于是初次接触Linux启动的核心部分,所以基本上还是对网上各种裁减方案的拼凑和整理,包含自己理解的部分实在很少。总的来说效果不算理想,后面还有很长的路要走。这里就大致说说目前这个Linux裁减方案的“雏形”吧。1. 内核裁减对Linux内核部分的裁减主要根据实际需求进行了重编译,去掉了大部分用不上的特性,以及实际硬件环境之外的设备驱动。这一过程没啥技术含量,就不细说了。2. initr...
通过Linux的内核观察/proc/pid/statm

通过Linux的内核观察/proc/pid/statm

输出解释 CPU 以及CPU0。的每行的每个参数意思(以第一行为例)为: 参数 解释 /proc//status Size (total pages) 任务虚拟地址空间的大小 VmSize/4 Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4 Shared(pages) 共享页数 0 Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4 Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib...
浅谈Linux 下的中文程序开发

浅谈Linux 下的中文程序开发

现在越来越多的华人开始用 Linux 了.也越来越多的华人开始写我门自己的 Linux 下面的应用程序了. 开发我门自己的程序,中文当然是一个必不可少的东西了. 这里就来说说 Linux 下面的中文程序的开发. 小弟才疏学浅,只是因为看到网络上面这方面的文章不是很多很全面.所以动手写了这些东西.如果有错误,还望大家多多包含,多多指正. QT QT 现在被越来越多的人所喜爱.也有了越来越多的人选择 QT 作为开发Xwindow 下面 GUI 环境的语言. 在...
用Python来kill掉Linux进程

用Python来kill掉Linux进程

Linux下面按进程的命令名字kill掉进程稍稍有点麻烦,就用python写了一个简单的小工具,不过目前这个工具还有点小问题,就是随便输入一个名字,执行ps aux|grep %name 命令,本身也产生一个进程,但是这个进程随即消失,以后kill的时候就找不到这个进程了。不过运行结果还是满意的。xkill#!/usr/bin/pythonimport os,re,sysdef kill_by_name(name):cmd="ps aux|grep %s"...
教你解读Linux内核源码的入门方法

教你解读Linux内核源码的入门方法

putpmsg 在内的好几个系统调用都是不进行任何操作的,即有待扩充的空调用;但它们却仍然占用着sys_call_table表项,估计这是设计者们为了方便扩充系统调用而安排的;所以只需增加相应服务例程(如增加服务例程getmsg或putpmsg),就可以达到增加系统调用的作用。结语:当然对于庞大复杂的 linux内核而言,一篇文章远远不够,而且与系统调用相关的代码也只是内核中极其微小的一部分;但重要的是方法、掌握好的分析方法;所以上的分析只是起个引导的作用...
aix c/c++ 编译器

aix c/c++ 编译器

一般情况下,我们习惯直接使用cc编译程序,实际上AIX的C/C++编译器还提供了其他的一些使用方法,如后缀为_r就有xlc_r、xlC_r,这里我们做一个完整的介绍。 AIX平台上缺省的C++编译器为xlC,而C的编译器有三个: cc: 这是最习惯用的,扩展模式的C编译器 xlc: ANSI C编译器,使用UNIX的头文件 c89: ANSI C编译器,使用ANSI头文件 具体选择何种编译器,需根据程序的情况来选择,一般我们可以使用cc。另外,还...
Linux信号处理机制

Linux信号处理机制

一、信号及信号来源 信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还可以传递附加信息。 信号来源 信号事件的发...
Linux调试BUG实例分析

Linux调试BUG实例分析

最近在开发LINUX下的工具,调试一个BUG时遇到很郁闷的情况: 某处有个segmentation fault。懒得用gdb,于是随便加了几条调试信息,编译,运行之。直接显示错误信息。 唔......BUG在最近一条信息之前,再细分,再加调试信息,编译,运行,嗯,还得再分。 3次之后偶郁闷鸟,真正的郁闷鸟......两条消息,一条能正常显示,紧接着的,中间没有任何语句--也不是多线程--的第二条信息就是显示不出来!我靠!我招惹谁了啊?没有任何干扰啊 ...
Ubuntu下练习C

Ubuntu下练习C

Ubuntu版的linux下是没有直接的编译工具的。C,java,c++等都需要自己下载包。虽说像gcc这个命令从头就有,但是真正可以编译还是要 编译工具下下阿安装了才行。 如何编译C 1.写源码,另存为想x.c 2.打开终端,切到文件的目录 3.输入命令 :gcc x.c 4.一般都生成a.out。 这时,输命令:./a.out 即可运行。 遇到的问题 不知怎么的,C语言的很重要的地址符号“&”编译的时候不认识,老报错说此变...
Linux中库认识

Linux中库认识

soname 形式一般为lib.so.,以symbol link的方式存在于文件系统中,version的不同反映了接口的改变,其指向的实际文件的名字通常是在soname后加上..。 ldd/ldconfig 一个程序/shared库一般都要依赖其他的一些库,这可以用ldd来查看,它列出了依赖的库的soname,因为实际依赖是库的接口,而soname正是反映了库的接口信息。linux使用ELF作为可执行程序和库的格式,这些依赖的库的soname保存在E...
<< 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 >>