
Linux
习惯2021
这个作者很懒,什么都没留下…
展开
-
Linux是分时操作系统,不是实时的
linux是很典型的分时系统。 但是在一些特殊领域。 也可以把linux做成实时系统的 分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源分时操作系统具有以下几个优点: 同时性,独立性,及时性,交互性. 1.实时操作系统定义 实时操作系统(RTOS)是指当外界事件或数据产生转载 2012-09-06 09:43:00 · 2673 阅读 · 0 评论 -
linux timestamp
The existing interfaces for getting network packages time stamped are:* SO_TIMESTAMP Generate time stamp for each incoming packet using the (not necessarily monotonous!) system time. Result is r原创 2013-04-12 15:11:26 · 7365 阅读 · 0 评论 -
ubuntu上安装 ibus Google拼音输入法
首先我们要到ibus google拼音输入法的主页下载两个安装包,如下:http://libgooglepinyin.googlecode.com/files/libgooglepinyin-0.1.2.tar.bz2http://libgooglepinyin.googlecode.com/files/ibus-googlepinyin-0.1.2.tar.bz2切换当前路径转载 2013-04-23 22:08:20 · 1812 阅读 · 0 评论 -
Linux系统中的计时机制及相关时间函数
1. 时间相关硬件 计算机系统中的时间主要由三种时钟硬件提供的:实时时钟(Real Time Clock,RTC),可编程间隔定时器(Programmable Interval Timer,PIT),时间戳计数器(Time Stamp Counter,TSC)。这些时钟硬件都是基于固定频率的晶振来提供时钟方波信号输入。一般说来,Linux内核主要需要两种类型的时间: 一类是转载 2013-04-16 20:53:28 · 1077 阅读 · 0 评论 -
SO_TIMESTAMP 数据链路层的接收时间戳
网络设备在接收到来自网络中其它主机的数据报,或本地环回接口的数据报之后,交给协议栈的netif_rx函数,该函数首先要为收到的这个skb打上当前的时间戳(skb->tstamp成员),这个时间戳表示该数据到达的时间,它不是必选的,可以通过套接字选项SO_TIMESTAMP将其打开,该选项打开时间戳时,会将链路层的全局变量netstamp_needed加1,netif_rx在检查到这个变量不为零时,转载 2013-04-16 20:26:56 · 5093 阅读 · 0 评论 -
网络子系统在链路层的收发过程剖析
由于太长, 这只是一部分内容,完整的文档在附件中。有兴趣的请看看并帮忙指正,谢谢。1),Skb_buff/* To allow 64K frame to be packed as single skb without frag_list */#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)typedef struct skb_frag_s转载 2013-04-17 11:33:57 · 868 阅读 · 0 评论 -
linux网络报文接收发送浅析
对于linux内核来说,网络报文由网络设备来进行接收。设备驱动程序从网络设备中读取报文,通过内核提供的网络接口函数,将报文传递到内核中的网络协议栈。报文经过协议栈的处理,或转发、或丢弃、或被传送给某个进程。 网络报文的发送与之相反,进程通过系统调用将数据送入网络协议栈,或者由网络协议栈自己发起报文的发送,然后协议栈通过调用网络接口函数来调度驱动程序,使其将报文传送给网络设备,从而发送出去。转载 2013-04-18 15:51:48 · 859 阅读 · 0 评论 -
C++学习书籍推荐
混沌阶段 混沌是什么阶段,就是刚刚跨入软件开发这个领域。无论使用哪种语言,编过的程序都是寥寥,感觉什么东西都很新鲜,但是却也说不出来究竟有些什么东西可以学。 《C++程序设计》-- 钱能 如果你刚刚听说过世界上存在一门叫做C++的编程语言,而且由于种种原因需要尽快地了解C++语法知识的话,这是本教材恐怕是最合适的了。不要误解,我完全没有贬低这本书的意思,因为C++本身的复杂性,很少转载 2013-06-10 12:32:39 · 743 阅读 · 0 评论 -
Shell Perl Python 学习
shell+sed+awk三者中功能最弱,没有调试程序,大多数操作必须通过运行其他程序才能执行,所以需要更多时间、内存并在进程表中占有位置。内置的算术运算很有限,数组下标必须是数字等。但它对运行环境要求低,小巧便捷,是学习系统脚本编程的基础。Perl设计之初就是为了方便编写复杂高效的系统脚本,它也是应该最为广泛的脚本编程语言。它在编程方面相当于瑞士军刀,对字符、文本文件处理能力很强,以转载 2013-06-07 21:56:38 · 631 阅读 · 0 评论 -
ping DUP! 错误
[sangfor]# ping 192.168.252.130PING 192.168.252.130 (192.168.252.130) 56(84) bytes of data.64 bytes from 192.168.252.130: icmp_seq=1 ttl=127 time=0.296 ms64 bytes from 192.168.250.203: icmp_seq=转载 2013-04-05 15:49:59 · 60126 阅读 · 0 评论 -
永远不要在 Linux 执行的 10 个最危险的命令
Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正 在做什么时候。这篇文章并不打算引来你对Linux或linux 命令行的愤怒。我们只是想让你意识到在你运行某些命令时应该三思而后行。(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普 通用户身份下,破坏的只是自己的一亩三分地。)1. rm -rf 命令rm -rf转载 2013-12-08 10:32:45 · 1126 阅读 · 0 评论 -
Qt,Qt Creator,minGW,VS关系
Qt是 一个跨平台的C++图形用户界面应用程序框架, 它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。 Qt library为Qt程序提供头文件、静态链接库和动态链接库原创 2013-12-08 21:03:33 · 12432 阅读 · 3 评论 -
Linux下实现connect超时
项目需要写一个主动连接且定时发送数据的客户端程序,并保证传输数据的可靠性和稳定性。如果用阻塞方式,程序将阻塞在connect、send函数上;如果采用非阻塞方式,程序又会出现connect返回值判定、select超时设置问题、send/recv 返回值、close(socket)后send/recv数据等问题。【1】非阻塞socket编程问题小结里面有详细的介绍。其中关于非阻塞conn原创 2014-03-12 15:42:45 · 3179 阅读 · 0 评论 -
Msys/MinGW与Cygwin/gcc
一 MinGWMinGW,即 Minimalist GNU For Windows(GCC compiler suite)。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,在基本层原创 2013-12-08 22:44:00 · 935 阅读 · 0 评论 -
tcpdump/libpcap中捕获数据包的时间戳
tcpdump从libpcap获取time-stamp,libpcap从OS内核获取time stampQ: When is a packet time-stamped? Howaccurate are the time stamps?Tcpdump gets time stamps from libpcap, andlibpcap gets them from the OS kernel转载 2013-04-12 10:48:48 · 16928 阅读 · 1 评论 -
Linux系统时间偏差的纠正 adjtimex
实际上,linux系统有两个时钟:一个是由主板电池驱动的“Real Time Clock”也叫做RTC或者叫CMOS时钟,硬件时钟。当操作系统关机的时候,用这个来记录时间,但是对于运行的系统是不用这个时间的。另一个时间是 “System clock”也叫内核时钟或者软件时钟,是由软件根据时间中断来进行计数的,内核时钟在系统关机的情况下是不存在的,所以,当操作系统启动的时候,内核时 钟是要读取R转载 2013-04-05 16:32:04 · 9946 阅读 · 0 评论 -
【详解】回车 换行 0x0D 0x0A CR LF \r \n的来龙去脉
【回车和换行的历史】在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行,需要回车换行,此过程,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打原创 2012-10-25 10:38:58 · 1484 阅读 · 0 评论 -
Ubuntu 12.04 配置指南
一、系统设置工具Munitysudo apt-get install myunity相关文章@Unity 设置工具:MyUnityUbuntu tweak已经发布 0.7.0 正式版本,详情请阅读@IMTX.meConfity:http://sourceforge.net/projects/confity/Un转载 2013-01-10 22:02:51 · 466 阅读 · 0 评论 -
ubuntu下的wireshark手动编译安装
今天在ubuntu下进行安装wireshark,费了很多时间,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,供大家参考。安装编译工具: $sudo apt-get install build-essential 为了成功编译Wireshark,您需要安装GTK+的开发文件和GLib库(libraries)。 $sudo apt-get i转载 2013-01-11 22:36:43 · 750 阅读 · 0 评论 -
Linux进程学习总结
进程控制相关函数进程派生函数:pid_t fork(void); pid_t vfork(void);头文件:unistd.h作用:都是创建一个与当前进程相同的新进程。区别:fork函数:该函数产生的的新进程是父进程的一个拷贝,但是该进程同父进程使用不同的数据段和堆栈段;fork调用将执行2次返回,一次是父进程的返回,一次是子进程的返回。从父进程返回的是子进程的P转载 2013-01-11 22:37:37 · 471 阅读 · 0 评论 -
linux ps命令示范
来源《鸟哥的linux私房菜》 ps:将某个时间点的程序运作情况撷取下来[root@linux~]# ps aux [root@linux~]# ps -lA [root@linux~]# ps axjf 参数: -A:所有的 process 均显示出来,与 -e 具有同样的效用; -a :不与 terminal原创 2013-01-11 22:39:14 · 421 阅读 · 0 评论 -
linux命令之nice
【函 数 名】nice — 调整进程运行的优先级 【函数原型】int nice(int inc); 【相关头文件】unistd.h 【函数说明】 在Linux中,进程运行的优先级分为-20~19等40个级别,其中,数值越小运行优先级越高,数值越大运行优先级越低。显而易见,优先级 -20的运行优先级最高,优先级19的运行优先级最低。函数nice是将当前进程运行的优先级增加指定值,既用原创 2013-01-11 22:40:39 · 915 阅读 · 0 评论 -
linux windows socket通信
//linux下#include #include #include #include #include #include #include #include #define MYPORT 3333#define BACKLOG 10main(){ int sockfd, new_fd; struct sockaddr_in my_addr; struct socka转载 2013-01-13 21:07:45 · 481 阅读 · 0 评论 -
源代码级Unix/Linux 通用网卡IP地址获取方法
源代码级Unix/Linux 通用网卡IP地址获取方法在Unix和Linux系统下有两种方法可以获得系统IP地址(gethostbyname和ioctl)gethostbyname通过域名解析获取对应计算机的网络地址,ioctl是一系列的网络函数获得本机的IP(推荐使用ioctl方法,这个方法能给出的ip与ifconfig命令显示的ip一致,并且能不经修转载 2013-01-13 21:13:56 · 700 阅读 · 1 评论 -
Linux下GDB调试
本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。命令解释示例file原创 2013-01-13 20:32:40 · 447 阅读 · 0 评论 -
Linux下的socket文件传输
[代码] server.c001////////////////////////////////////002//服务器代码003///////////////////////////////////004//本文件转载 2013-01-13 20:57:31 · 1428 阅读 · 0 评论 -
Linux下的udp广播与接收程序 包含序列号
[代码] udp_send.c#include#include#include#include#include#include#include#include#include#include #include #include #define PORT 5555#define RECV_NO 250//#define RECV_TIMES 10typedef原创 2013-01-13 21:06:02 · 2406 阅读 · 0 评论 -
linux select()函数实现分析
linux select()函数实现分析 int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout);select()函数是linux下实现异步I/O的一种机制,最重要的使用场合是高效的网络编程。在这里不谈论select()的具体用法,而是看看sele原创 2013-01-14 22:45:34 · 1474 阅读 · 0 评论 -
linux Select()系统调用
在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。select()的调用形式为:#include#includeintselect(int maxfd, fd_set *readfds, fd_set *writefds,原创 2013-01-14 22:41:47 · 845 阅读 · 0 评论 -
VMware下linux磁盘空间扩展
VMware6.7安装目录下有一个命令行工具vmware-vdiskmanager.exe 程序,可用来修改虚拟机硬盘的大小。方法如下:方法一: 1. 关闭虚拟机;启动Windows下的命令提示符界面; 2. 命令进入VMware的安装目录(如:D:\VMware),输入“vmware-vdiskmanager”后按回车键,可显示关于该命令的说明。 3. 执行转载 2013-04-05 15:51:23 · 948 阅读 · 0 评论 -
一道google面试题--自然数e中出现的连续的第一个10个数字组成的质数
博客内容移到 http://www.linuxyu.com/此优快云博客将不再更新,欢迎大家访问新的网站~~Google早几年在美国很多地铁的出站口都有大幅招聘广告,它的第一题如下了:{first 10-digit prime found in consecutive digits e}.com,也就是自然数e中出现的连续的第一个10个数字组成的质数。据说当时只要正确原创 2014-09-09 14:12:26 · 13844 阅读 · 3 评论