Linux
文章平均质量分 82
禾夕
这个作者很懒,什么都没留下…
展开
-
select & epoll
同步、异步、阻塞和非阻塞区别 同步:发出一个功能调用时,在没有得到结果之前,该调用就不返回 异步:当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者 阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回 非阻塞:不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回原创 2016-04-18 17:12:14 · 2590 阅读 · 0 评论 -
redis服务器模型
redis作为一个数据库,其服务端必须支持海量客户并发,因此必须采用尽可能高效的服务器模型。 redis支持多种IO复用方式,如kqueue、evport、select、epoll。当运行在不同的操作系统上,会选择最合适的IO复用方式。 redis将这些IO复用的调用接口都封装成了统一的接口,当使用时,每次只需要调用统一的接口,程序会根据不同的运行环境选择最合适的底层复用方式。 下原创 2016-04-18 20:43:10 · 1610 阅读 · 0 评论 -
多进程&多线程
原文:http://blog.csdn.net/lishenglong666/article/details/8557215 最原始的博主我没有找到,只能把我从何处转的此篇博文的链接发出来。感觉这篇博文写的很棒,特此转载了 进程、线程有哪些区别1)进程是资源分配的最小单位,同一进程中的线程共享进程的资源,如全局变量 2)线程是调度的基本单位 3)一个进程可以有多个线程 4)进程之间是相互独立转载 2016-04-17 15:57:33 · 503 阅读 · 0 评论 -
gdb的工作原理
一、gdb简介 gdb:GNU debugger UNIX及UNIX-like下一个强大的命令行的调试工具 gdb调试的整体架构如下图所示: 可以发现gdb调试不管是本地调试还是远程调试,都是基于ptrace系统调用来实现的 ptrace系统调用的原型: 二、ptracelong ptrace(enum __ptrace_request request原创 2016-04-15 11:03:09 · 18937 阅读 · 1 评论 -
一道关于fork的笔试题
下面的这段代码所要我们求的是总共打印出多少个“-”。include <stdio.h>int main(int argc,char*argv[]){ int i; for(i =0; i<2 ;i++) { fork(); //printf("-"); printf("-\n"); } return 0;}转载 2016-04-12 11:12:42 · 1459 阅读 · 0 评论 -
linux进程基础
什么是进程 一个运行中的程序即为一个进程,是计算机程序关于某个数据集合的运行活动,是一个动态的概念。 进程可以申请和拥有系统资源,是资源分配的基本单位。查看进程 在linux中可以用ps命令查看当前系统中的所有进程 PID:进程ID PPID:父进程ID在linux中,每个进程都有一个唯一的非负整数作为进程ID,用于标志进程。进程ID的分配方法 在大多数Linux/原创 2016-04-04 15:57:31 · 1121 阅读 · 0 评论 -
linux一些常见命令总结
文档查看:cat、tac、more、less、head、tail、cut、od、nl文件权限:ls -l、chmod、chown、chgrp、umask文件查找:find、whereis、locate、which程序管理:jobs、bg、fg、kill、killall、ps、pstree、top、free、nice、renice开机、关机:sync、shutdown、halt、powerof原创 2016-03-30 20:22:30 · 3353 阅读 · 0 评论 -
DMA描述符及映射
转自:http://blog.csdn.net/phunxm/article/details/94525751.DMA通道DMA(Direct Memory Access)通道建立在设备和RAM之间,DMAC(DMA Controler)与设备I/O控制器相互作用共同实现数据传送。在PC中,DMA控制器位于主板上负责管理I/O总线的南桥上。典型的PC架构的数据通道示转载 2015-06-08 10:22:34 · 1532 阅读 · 0 评论 -
Linux最常用的20条命令
1、cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:[plain] view plaincopyprint?cd /root/Docements # 切换到目录/root/Docements cd ./path # 切换到当转载 2013-11-27 09:46:21 · 992 阅读 · 0 评论 -
常见锁的区别及适用场景
互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒自旋锁:spinlock,在任何时刻同样只能有一个线程访问对象。但是当获取锁操作失败时,不会进入睡眠,而是会在原地自旋,直到锁被释放。这样节省了线程从睡眠状态到被唤醒期间的消耗,在加锁时间短暂的环境下会极大的提高效率。但如果加锁时间过长,则会非常浪费CPU资源读写锁:rwlock原创 2016-04-19 10:31:00 · 8919 阅读 · 0 评论