随笔分类 -  Linux

1 2 3 下一页

os, linux, compile and link, etc.
[转载]容易被误读的IOSTAT
摘要:http://linuxperf.com/?p=156 容易被误读的IOSTAT 2016/11/29 VMUNIX iostat(1)是在Linux系统上查看I/O性能最基本的工具,然而对于那些熟悉其它UNIX系统的人来说它是很容易被误读的。比如在HP-UX上 avserv(相当于Linux上的 阅读全文

posted @ 2018-05-16 11:37 ym65536 阅读(182) 评论(0) 推荐(0)

【转载】Linux内存管理
摘要:一、前言二、简单的内存管理器示例三、GNU malloc算法四、Kernel Buddy伙伴系统算法五、Kernel Slab/Slub高速缓存算法 一、前言 这次课程最初的题目叫《linux内存管理》, 可是写着写着就感觉这个题目起的太大了, VM(virtul memory)是操作系统中最抽象最 阅读全文

posted @ 2018-04-06 09:48 ym65536 阅读(290) 评论(0) 推荐(0)

硬盘SMART检测参数详解[转]
摘要:一、SMART概述 要说Linux用户最不愿意看到的事情,莫过于在毫无警告的情况下发现硬盘崩溃了。诸如RAID的备份和存储技术可以在任何时候帮用户恢复数据,但为预防硬件崩溃造成数据丢失所花费的代价却是相当可观的,特别是在用户从来没有提前考虑过在这些情况下的应对措施时。 硬盘的故障一般分为两种:可预测 阅读全文

posted @ 2018-02-28 10:36 ym65536 阅读(2845) 评论(0) 推荐(0)

muduo日志库分析
摘要:一、前言 在服务端编程中,日志是必不可少的。 开发过程中,日志的存在能方便我们调试错误和更好地理解程序;运行过程中,日志能帮助我们诊断系统故障并处理、记录系统运行状态。 二、muduo日志类封装细节 (1)日志消息有多种级别(level),如TRACE、DEBUG、INFO、WARN、ERROR、F 阅读全文

posted @ 2018-01-16 00:38 ym65536 阅读(1195) 评论(0) 推荐(1)

[zz] Linux IO模式及 select、poll、epoll详解
摘要:https://segmentfault.com/a/1190000003063859 Linux IO模式及 select、poll、epoll详解 https://segmentfault.com/a/1190000003063859 Linux IO模式及 select、poll、epoll详 阅读全文

posted @ 2018-01-14 22:58 ym65536 阅读(224) 评论(0) 推荐(0)

[zz]muduo源码阅读之Thread和ThreadPool
摘要:[source_address] https://blog.dujiong.net/2016/07/17/muduo-6/ muduo源码阅读之Thread和ThreadPool 在muduo的one loop per thread + thread pool模型中,线程和线程池应该是其中最基础也是 阅读全文

posted @ 2018-01-14 20:24 ym65536 阅读(709) 评论(0) 推荐(2)

redis源码分析(2)-- 基本数据结构sds
摘要:一、sds格式 sds header定义: sizeof(struct sdshdr)= 2*sizeof(unsigned int), char buf[]等价于char buf[0], 仅对编译器有效,并不实际占用存储。 其中len是使用的长度,free是剩余的长度,再加上一个C语言中的'\0' 阅读全文

posted @ 2017-07-08 23:05 ym65536 阅读(872) 评论(0) 推荐(0)

网络编程/tcp协议分析
摘要:一、链接的建立 TCP Server和Client模型: 1、bind函数相关 作用是绑定addr中的<IP:PORT>, 对于tcp server一般port是固定的。当系统有多个IP(多网卡)时,把ip设置为INADDR_ANY, 内核会自动分配ip。如果只有单一的IP,选择 机器IP和INAD 阅读全文

posted @ 2017-04-21 12:38 ym65536 阅读(549) 评论(0) 推荐(0)

无锁编程
摘要:无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。 实现非阻塞同步的方案称为“无锁编程算法”( Non-blocking algorithm)。 多线程编程条件下,多个线 阅读全文

posted @ 2017-02-19 22:57 ym65536 阅读(791) 评论(0) 推荐(0)

Mit os Lab 3. User Environmen
摘要:Part A: User Environments and Exception Handling As you can see in kern/env.c, the kernel maintains three main global variables pertaining to environm 阅读全文

posted @ 2016-07-10 15:08 ym65536 阅读(943) 评论(0) 推荐(0)

Mit os Lab 2. Memory Management
摘要:Part 1: Physical Page Management 在lab1中,内存布局如下: kernel是0xF0100000 - end 部分, 剩下4K大小是页目录表: 需要由函数boot_alloc填补。 这部分的地址都是线性地址,即line_addr: 0xF0100000 ==> ph 阅读全文

posted @ 2016-06-26 16:29 ym65536 阅读(1064) 评论(0) 推荐(0)

[ZZ]实现c协程
摘要:http://www.cnblogs.com/sniperHW/archive/2012/06/19/2554574.html 协程的概念就不介绍了,不清楚的同学可以自己google,windows和unix like系统本身就提供了协程的支持,windows下叫fiber,unix like系统下 阅读全文

posted @ 2016-03-22 21:53 ym65536 阅读(290) 评论(0) 推荐(0)

Linux socket IO模型
摘要:网络应用需要处理的无非就是两大类问题,网络I/O,数据计算。相对于后者,网络I/O的延迟,给应用带来的性能瓶颈大于后者。网络I/O的模型大致有如下几种: 网络I/O的本质是socket的读取,socket在linux系统被抽象为流,I/O可以理解为对流的操作。这个操作又分为两个阶段: 对于socke 阅读全文

posted @ 2016-03-22 20:22 ym65536 阅读(623) 评论(0) 推荐(0)

emacs简单入门
摘要:一些默认快捷键C-代表按住Ctrl键M-代表按住Alt键,也可以用按一下ESC放开代替 最先要记住的M-x <cmd> 输入指令执行,在输入时用Tab可以自动补全或列出项目C-g 取消当前操作指令C-h k <key> 查看当前按键绑定的指令及介绍 移动插入点(光标)C-n/p/b/f 到 下一行、 阅读全文

posted @ 2016-03-18 00:08 ym65536 阅读(174) 评论(0) 推荐(0)

GNU Makefile tips
摘要:1、make 参数下面列举了所有GNU make 3.80版的参数定义。其它Linux版本和产商的make大同小异,不过其它产商的make的具体参数还是请参考各自的产品文档。“-b”“-m”这两个参数的作用是忽略和其它版本make的兼容性。“-B”“–always-make”认为所有的目标都需要更新... 阅读全文

posted @ 2016-01-03 17:03 ym65536 阅读(316) 评论(0) 推荐(0)

Linux atomic memory access
摘要:http://gcc.gnu.org/onlinedocs/gcc-4.4.5/gcc/Atomic-Builtins.html5.47 Built-in functions for atomic memory accessThe following builtins are intended to... 阅读全文

posted @ 2015-12-03 16:01 ym65536 阅读(223) 评论(0) 推荐(0)

[zz]Linux系统相关shell命令
摘要:1. Linux的实时监测命令(watch): watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行。该命令最为常用的两个选项是-d和-n,其中-n表示间隔多少秒执行一次"command",-d表示高亮发生变化的位置。下面列举几个在watch中常用的实时监视... 阅读全文

posted @ 2015-11-24 21:34 ym65536 阅读(285) 评论(0) 推荐(0)

state thread
摘要:State Thread 的官网地址:http://state-threads.sourceforge.netThe State Threads Library is a small application library which provides a foundation for writin... 阅读全文

posted @ 2015-11-22 17:50 ym65536 阅读(904) 评论(0) 推荐(0)

setjmp/longjmp原理分析
摘要:1、使用setjmp的man手册上可以看到使用方法:1 #include 2 3 int setjmp(jmp_buf env);setjmp() saves the stack context/environment in env forlater use by longjmp(3)RETURN ... 阅读全文

posted @ 2015-11-21 18:29 ym65536 阅读(1007) 评论(0) 推荐(0)

Libevent分析
摘要:一、使用举例一个简单的使用libevent创建的echosvr如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #... 阅读全文

posted @ 2015-10-18 16:57 ym65536 阅读(240) 评论(0) 推荐(0)

1 2 3 下一页