![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
RobbyZha
这个作者很懒,什么都没留下…
展开
-
高字节序 & 地字节序
1. Little endian:将低序字节存储在起始地址 2. Big endian:将高序字节存储在起始地址 LElittle-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说 低位值小,就应该放在内存地址小的地方,也即内存地址低位 反之,高位值就应该放在内存地址大的地方,也即内存地址高位转载 2014-01-04 14:05:44 · 354 阅读 · 0 评论 -
多线程五共享数据
http://blog.sina.com.cn/s/blog_6572515e0100y4ll.html 进行多线程编程,最头疼的就是那些共享的数据。因为你无法知道哪个线程会在哪个时候对它进行操作,你也无法得知那个线程会先运行,哪个线程会后运行。下面介绍一些技术,通过他们,你会合理安排你的线程之间对资源的竞争。 1 互斥体Mutex 2 信号灯Semophor转载 2014-03-05 13:52:11 · 449 阅读 · 0 评论 -
多线程三pthread_self
http://blog.sina.com.cn/s/blog_6572515e0100y4l3.html 线程标识 函数原型: #include pthread_t pthread_self(void); pid_t getpid(void);getpid()用来取得目前进程的进程识别码 例程8 程序目的:实现在新建立的线程中打印该线程的id和进程i转载 2014-03-05 13:39:04 · 482 阅读 · 0 评论 -
多线程四pthread_cleanup_push和pop
http://blog.sina.com.cn/s/blog_6572515e0100y4l5.html #include void pthread_cleanup_push(void (*rtn)(void *),void *arg);rtn是清理函数,arg是调用参数 void pthread_cleanup_pop(int execute); 在前面讲过线程的终止方式,转载 2014-03-05 13:46:55 · 489 阅读 · 0 评论 -
线程的分离状态
http://blog.chinaunix.net/uid-26983585-id-3315953.html 其实在写上一篇日志的时候,由于我把创建线程的返回值的判断条件写错了,程序每次运行的时候都是显示创建线程失败,我就百度了一下,有人说是桟资源不足引起的,要调用一个pthread_attr_setdetachstate()函数,当时不明白为什么,其原理是什么,于是又搜了一下,下文是其原理转载 2014-03-06 00:55:15 · 381 阅读 · 0 评论 -
socket通信简介
“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型转载 2016-03-29 21:44:04 · 180 阅读 · 0 评论 -
Linux内核中偶尔出现的#define A A的目的是什么?
正在了解Linux的epoll机制,epoll.h 声明了如下的枚举: enum EPOLL_EVENTS { EPOLLIN = 0x001, #define EPOLLIN EPOLLIN EPOLLPRI = 0x002, #define EPOLLPRI EPOLLPRI EPOLLOUT = 0x004 #define EPO原创 2016-04-01 09:59:46 · 331 阅读 · 0 评论 -
shell、控制台、终端的区别
今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时间来解释一下这两个术语的区别。 终端,英文叫做terminal ,通常简称为term ,比如我们在X下的xterm. 控制台,英文叫做console。 要明白这两者的关系,还得从以前的多人使用的计算机开始。 大家都知道,最初的计算机由于价格昂贵,因此,一台计算机一般是由多个人同时使用的转载 2016-04-08 10:07:28 · 505 阅读 · 0 评论 -
pthread_cond_wait/pthread_cond_signal/pthread_cond_broadcast
pthread_cond_wait() 用于阻塞当前线程,等待别的线程使用pthread_cond_signal()或pthread_cond_broadcast来唤醒它。 pthread_cond_wait() 必须与pthread_mutex 配套使用。pthread_cond_wait()函数一进入wait状态就会自动release mutex。当其他线程通过pthread_cond_sig转载 2016-05-07 10:31:08 · 237 阅读 · 0 评论 -
pthread_cond_wait()的使用方法
pthread_cond_wait 编辑 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 中文名 多线程的条件变量 外文名 pthread_cond_wait 动作一 条件变量的条件成立转载 2016-05-07 07:36:58 · 280 阅读 · 0 评论 -
进程地址空间分布
http://blog.csdn.net/wangxiaolong_china/article/details/6844325#0-qzone-1-20215-d020d2d2a4e8d1a374a433f596ad1440 转载请注明出处:http://blog.csdn.net/wangxiaolong_china 对于一个进程,其空间分布如下图所示:转载 2016-08-02 14:07:58 · 215 阅读 · 0 评论 -
多线程二pthread_exit和join
http://blog.sina.com.cn/s/blog_6572515e0100y4kt.html 如果进程中任何一个线程中调用exit,_Exit,或者是_exit,那么整个进程就会终止,与此类似,如果信号的默认的动作是终止进程,那么,把该信号发送到线程会终止进程。线程的正常退出的方式: (1) 线程只是从启动例程中返回,返回值是线程中的退出(2) 线程可以被另一个进程转载 2014-03-05 13:35:59 · 443 阅读 · 0 评论 -
多线程一pthread_create
http://blog.sina.com.cn/s/blog_6572515e0100y4kj.html 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,转载 2014-03-05 13:34:19 · 459 阅读 · 0 评论 -
ARM Linux 交叉调试工具及方法
一、交叉调试工具 1、主机 : arm-linux-gdb 2、 arm: gdbserver 在开发主机上运行 arm-linux-gdb 程序,可以通过串口或网口与驻留在 ARM 开发板上的 gdbserver 程序进行通信,完成 ARM 开发板上应用程序的调试和跟踪。 二、交叉调试工具的生成 1、下载 gdb 源码 要完成交叉调试需要以上两个工具,在 http://转载 2014-01-04 14:11:34 · 646 阅读 · 0 评论 -
linux shell man命令详细介绍-快捷获得帮助信息(2)
http://www.cnblogs.com/chengmo/archive/2010/10/26/1861809.html 最近几天手头事情比较忙,这个接上一篇:linux shell命令快捷获得系统帮助(一)[man-pages定义规范] ,如果有朋友对于linux系统帮助文件结构与定义感兴趣看下刚才那篇文章。 知道linux帮助文件(man-pages,转载 2014-01-05 19:16:48 · 521 阅读 · 0 评论 -
linux man 命令 详解
刚接触linux的时候,都会使用man来查阅一些命令的帮助信息。但是也都只是使用"man 命令名称"这样简单的格式。其实,man还有不少其他小技巧,在这和大家分享一下。 1 当你列出write时,它可能代表了Linux里的用户命令或系统调用,如果我只是想了解write这个系统调用的作用,而对write命令的命令格式没有兴趣,那么我该如何告诉man呢? man命令后面可以加一个数转载 2014-01-05 19:07:30 · 374 阅读 · 0 评论 -
Linux man命令的使用方法
Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。 Linux的man手册共有以下几个章节: 代號 代表內容 1 使用者在shell中可以操作的指令或可执行档 2 系統核心可呼叫的函数与工具等 3 一些常用的函数(function)与函数库(librar转载 2014-01-05 19:02:30 · 311 阅读 · 0 评论 -
pthread_cond讲解及实例
http://baike.baidu.com/link?url=qFGdc42hXvT6uQMtmfIL4OFEEFbr2J3xAI8CWAo4L01_qmkUkcbTXvqzjtqJ7Os0EfvDFzXS2Q-GgsQ_Qwawka 1 简介 多线程的条件变量[1] 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另转载 2014-01-05 16:12:01 · 844 阅读 · 0 评论 -
Ubuntu利用Samba映射磁盘到Win7的方法
1、首先在Ubuntu安装好samba,具体步骤为: 安装samba:sudo apt-get install samba 安装smbclient:sudo apt-get install 安装smbfs:sudo apt-get smbfs 2、修改配置文件 sudo gedit /etc/samba/smb.conf 编辑smb.conf 文件 将;sec转载 2014-01-09 13:00:59 · 694 阅读 · 0 评论 -
消息队列
http://blog.csdn.net/wc7620awjh/article/details/7722296 定义 unix早期通信机制之一的信号能够传送的信息量有限,管道则只能传送无格式的字节流,这无疑会给应用程序开发带来不便。消息队列(报文队列)则克服了这些缺点。 消息队列发展 消息队列就是一个消息的链表。可以把消息看做一个记录,具转载 2014-01-11 12:17:35 · 450 阅读 · 0 评论 -
信号量
信号量 信号量(又名:信号灯)与其他进程间通信方式不大相同,主要用途是保护临界资源。进程可以根据它判断是否能够访问某些共享资源。除了用于访问控制外,还可用于进程同步。 当进程A要获取临界资源S时,首先要获取临界资源的信号量M,M的初始值为1,当获取到M并发现M的值大于1时,可以反问转载 2014-01-11 15:31:05 · 471 阅读 · 0 评论 -
共享内存
http://blog.csdn.net/wc7620awjh/article/details/7721331 共享内存 共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。原理图如下: 共享内存的实现分为两个步骤: 一、 创转载 2014-01-11 10:44:38 · 425 阅读 · 0 评论 -
多线程
http://blog.csdn.net/wc7620awjh/article/details/7722955 多线程 为什么有了进程,还要引入线程呢? 使用多线程到底有哪些好处? 多线程优点: 使用线程的理由之一是:和进程相比,它是一种“节俭”的多任务操作方式。在linux系统下,启动一个新的进程必须分配给他独立的地址空间,建立众多的数据表来维护转载 2014-01-11 15:32:46 · 413 阅读 · 0 评论 -
shmctl函数
1简介 用于Linux进程通信共享内存。共享内存函数由shmget、shmat、shmdt、shmctl四个函数组成。 2shmctl函数原型 shmctl(共享内存管理) 所需头文件 #include #include 函数说明 完成对共享内存的控制 函数原型转载 2014-01-11 15:34:08 · 1533 阅读 · 0 评论 -
GDB用法及常用命令列表
http://blog.chinaunix.net/uid-20901038-id-1832064.html 1)使用GCC编译时加参数 –g 例:gcc tmp01.c –o tmp01 -g 2)gdb tmp01 3)(gdb) l : 查看载入的文件(list) 4)(gdb) b 6 : 在第6行处转载 2014-01-16 11:12:33 · 463 阅读 · 0 评论 -
gdb调试时设置断点和观察点及其区别
设置断点可以是程序到一定位置暂停它的运行,程序员在该位置处可以方便的查看变量的值、堆栈情况,从而 找出代码的症结所在。 在gdb中设置断点非常简单,只需“b”后加入对应的行号即可(这是最常用的方式,另外还有其他方式设置断 点),其命令如下所示:b 6,表示在第六行代码处设置断点。在设置完断点后,用户可以键入“info b”来 查看设置断点的情况,在gdb中可以设置多个断点。接下转载 2014-01-16 11:14:47 · 1861 阅读 · 0 评论 -
关于问题vxworks与linux区别
接触过vxworks与linux,也有人问起我两者的区别,其实这个问题真的比较大,查资料做了些总结,但也只是冰山一角,不过以后有了心得再添加进来也不迟。 vxworks linux 内核结构 微内核,内核只提供了基本的服务,如:任务管理,内存管理,中断处理等 宏内核,除了基本的服务,内核还包括文件系统,网络协议等 运行模式 应用程序运行在转载 2014-02-24 12:32:13 · 450 阅读 · 0 评论