Welcome 微信登录

首页 / 操作系统 / Linux

Linux系统下MTD/CFI驱动学习进阶

Linux系统下MTD/CFI驱动学习进阶

某些Intel的FLASH芯片(如StrataFlash系列)支持多分区,也就是各个分区可以同时进行操作。应该说这是不错的特性,但是也会带来些问题。记得当初移植Linux-2.4.21,挂JFFS2文件系统的时候,经常会报一些"Magic bitmask not found"之类的错误,跟进去发现FLASH读出来的都是些0x80之类的数据,查看资料发现该款FLASH有分区的特性,而Linux的FLASH驱动只用一个状态变量表示整个FLASH的状态,这就会造...
关于Linux下开发网络服务器poll与epol的相关问题

关于Linux下开发网络服务器poll与epol的相关问题

随着2.6内核对epoll的完全支持,网络上很多的文章和示例代码都提供了这样一个信息:使用epoll代替传统的poll能给网络服务应用带来性能上的提升。但大多文章里关于性能提升的原因解释的较少,这里我将试分析一下内核(2.6.21.1)代码中poll与epoll的工作原理,然后再通过一些测试数据来对比具体效果。POLL:先说poll,poll或select为大部分Unix/Linux程序员所熟悉,这俩个东西原理类似,性能上也不存在明显差异,但select对...
Linux 操作系统内核的特点

Linux 操作系统内核的特点

Linux是一种是实用性很强的现代操作系统,开发它的中坚力量是软件工程师,因此多以实用性和效率为出发点,很多地方还考虑了工业规范和兼容性等因素,因此不同于教学性操作系统追求理论上的最先进性,Linux系统内核最注重的问题是实用和效率。 下面我们简要归纳一下Linux内核的特色。 第一,Linux内核被设计成单巨内核(monolithic?)结构(相对微内核而言,微内核是一种功能更贴近硬件的核心软件,它一般仅仅包括初等内存管理、同步原语、程间通讯机制、I...
Linux下C++编程的探讨

Linux下C++编程的探讨

Linux下C++编程和在Windows下的没有什么两样,它同样需要编译、链接、调度、运行等步骤,只不过执行这些步骤在两种操作系统下所做的不是同样的事情。 在Windows下有TC, BC, VC等编译器,它们极大地方便了程序的编辑编译等,在Windows下你只需要看明白菜单就可以了。而在Linux下是Gcc, G++, Gdb等工具,刚开始时你可能甚至不知道如何下手去调试程序,你也可能甚至不知道程序在哪里编辑。不过这些都不是问题,慢慢来我们都能行! ...
给LINUX服务器和桌面分别配置内核

给LINUX服务器和桌面分别配置内核

服务器和桌面的应用环境是不同的,前者侧重于稳定性和可靠性,后者可能更加侧重于功能性和响应的及时性。所以在对Linux内核进行配置的时候,应该根据不同的应用环境做出适应此环境的选项调整。 进程的上下文切换需要消耗CPU周期,频繁的进程调度会降低系统的性能,但是这会在一定程度上提高系统的响应,如何在两者之间做出合理的选择,主要还是依据具体的应用环境。对于桌面用户而言,提高系统的交互体验更加重要,故可以适当提高系统的HZ值,并且打开内核抢占,内核抢占分为自愿抢...
关于Linux下的shell,sed,grep,正则表达式

关于Linux下的shell,sed,grep,正则表达式

如题目那句话,对于一个在Linux工作的人来说,shell,sed,grep,python等的东西是非学不可的,另外就是正则表达式,不说精通,了解很多基本用法后会使工作效率成倍的提高!~ 就比如今天的一个操作,对于一个文件夹下所生成的几个类别特征项文件,只需要在第一行末,接一个空格,加上该类特征词数,均为300,(原来程序没有写入,可以再改C++程序重写),这样意味着重新训练一边50W文件的库,时间约为1小时.如果直接用sed 来做会简单得多!~ se...
C++显示程序创建时间的方法

C++显示程序创建时间的方法

在开发C或C++程序时,我们经常看到别人写的程序中有程序的创建时间,有的显示在界面上,有的记录在文件中(如日志中)。有了这个时间,我们就很容易识别程序是否匹配。 其实,在程序中标识程序的创建时间很简单,只要在你程序的界面模块的代码中,添加如下的代码即可:char str[MAX_PATH];sprintf(str,"Build Time: %s %s",__DATE__,__TIME__);HWND hwnd = GetDlgItem(IDC_STATI...
学习Linux编程经验分享

学习Linux编程经验分享

如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。 然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。 建议学习路...
不同发行版本的Linux的系统管理和shell编程是否一样?

不同发行版本的Linux的系统管理和shell编程是否一样?

如RedHatlinux、红旗Linux、turbolinux、Fedora Linux等等 答案1 系统管理有所差别!redhatlinux 与 SUSE linux 差的就很大 SHELL 我不大清楚我想应该差不多 答案2 系统管理有一些区别 shell编程应该没什么区别,因为它们都用bash 不过bash , tcsh csh zsh 的编程会一些区别,不过差别好像也不是太大 答案3 系统管理差别大。不要说是不同的Vendo...
在Linux中安装ICE

在Linux中安装ICE

Ice的安装 从年初的一期《程序员》杂志上了解到ICE以后,因为其对比于 CORBA具有简单、高效、易用的特点,所以一直都有留意。之前也有一段时间下载了Ice 1.x版本和相应的文档来研究,但因工作忙,中断了一段时间。 Ice的主页: http://www.zeroc.com 这几天工作稍微轻松点,有点时间,就继续研究Ice 2.1.1版本。在学习的过程中,免不了要安装的。这篇文章就是想说说安装的问题。 其实Ice-2.1.1安装算是蛮简单的。因为像比较新...
session_start()和Linux下的编码问题

session_start()和Linux下的编码问题

今天把windows下的php放到linux终归还是逃脱不了操作系统不同的问题。老大又催得紧,只得硬着头皮解决了,首先遇到session_start()问题,这个问题在windows下解决了,可是linux又出现了,无论是哪个系统,session_start()最经常产生错误有两种: 提示基本一样 Warning: session_start() [function.session-start]: Cannot send session cache l...
编译生成运行SystemC库文件

编译生成运行SystemC库文件

编译生成SystemC库文件 详细的安装说明可以看SystemC目录下的INSTALL文件。简单地说,先运行./configure,然后运行gmake install就可以了。运行之后,会在SystemC目录下生成lib-linux目录(内有库文件libsystemc.a)和include目录(内有SystemC相关头文件)。(若在cygwin环境下,生成的目录为lib-cygwin) 编译运行SystemC程序 需要在编译器选项中加入-I、-L和...
<< 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 >>