Linux
文章平均质量分 84
biubiu_scut
这个作者很懒,什么都没留下…
展开
-
Linux——虚拟内存
问题的提出pro1.c#include #include main(){ int *a=malloc(4); *a=9999; //*(a+1)=1000; //*(a+1000)=10000; printf("%p\n",a); while(1);}gcc pro1.c -omain1 运行 main1 结果:0x8a01008原创 2014-09-01 22:19:10 · 949 阅读 · 2 评论 -
Linux——线程信号量 读写锁 线程的私有数据
回顾: 线程与进程 1.进程由于资源独立,进程的主要关注是解决资源共享 2.线程先天是数据共享,线程主要关注共享数据脏 1.互斥量(线程内) 读写锁 2.信号/条件量调度(线程之间)原创 2014-10-25 20:35:33 · 556 阅读 · 0 评论 -
c程序辨别系统是16位or32位and辨别系统是大端or小端字节序
#include union U{ short i; char a[2];};int main(){ int *p; printf("%d\n",sizeof(p));//4 printf("sizeof(short):%d\n",sizeof(short));//2 union U u; u.i=0x0102; printf("%d %d\n",u.a[0],u原创 2015-03-11 21:24:48 · 1049 阅读 · 0 评论 -
Linux——基于共享内存 消息队列和基于Socket的进程间的通信
一.基于内存的通信 0.一组内核内存的工具 ipcs ipcs -m 共享内存 ipcs -q 共享队列 ipcs -s 共享信号 ipcrm -q 编号ID 1.普通的父子进程之间的匿名内存共享映射 2.内核共享内存原创 2014-09-16 19:58:30 · 3196 阅读 · 0 评论 -
Linux——内存管理
今天开始学习Linux原创 2014-09-01 15:09:03 · 530 阅读 · 0 评论 -
Linux——映射虚拟内存(mmap/unmap)编程工具 静态库和动态库
回顾: brk/sbrk int brk(void *p); void *sbrk(int); 维护一个位置。brk/sbrk改变这个位置 brk改变绝对位置。 sbrk相对改变位置。原创 2014-09-05 21:35:25 · 9344 阅读 · 0 评论 -
core文件调试
#include char* str = "test";void core_test(){ str[1]='T';}int main(){ core_test(); return 0;}原创 2015-03-12 11:00:03 · 622 阅读 · 0 评论 -
Linux 文件系统
文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识。 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录、挂载基本原理、文件存储结构、软链接硬链接、和常见目录的介绍。相信有了这些知识对于深入的学习linux会有一定的帮助。文章例子主要是基于ubuntu发行版。 如有不对之处请大家多多指出。1.Linux磁盘分区和目转载 2015-07-12 20:59:43 · 381 阅读 · 0 评论 -
TCP和http的keepalive
最近工作中遇到一个问题,想把它记录下来,场景是这样的: 从上图可以看出,用户通过Client访问的是LVS的VIP, VIP后端挂载的RealServer是Nginx服务器。 Client可以是浏览器也可以是一个客户端程序。一般情况下,这种架构不会出现问题,但是如果Client端把请求发送给Nginx,Nginx的后端需要一段时间才能返回结果,超过1分30秒就会有转载 2015-07-12 11:41:04 · 1994 阅读 · 0 评论 -
vi及其常用命令
1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insertmode下,或者到 last line mode。转载 2015-02-08 00:34:18 · 613 阅读 · 0 评论 -
Linux——线程同步
一.多线程 1.了解多线程 解决多任务实现。 历史上Unix服务器不支持多线程 Unix/Linux上实现多线程有两种方式: 内核支持多线程 使用进程的编程技巧封装进程实现多线程:轻量级多线程 多线程的库: libpthread.so原创 2014-09-27 10:46:14 · 714 阅读 · 0 评论 -
Linux——IPC 基于文件的通信(普通文件 管道文件)
二.IPC 用信号来进行进程之间传递信号 不适合大量数据传递 1.基于文件 1.1.无序文件 1.1.有序文件 1.1.1.管道 1.1.1.1.有名原创 2014-09-16 08:50:56 · 1258 阅读 · 0 评论 -
Linux——makefile IO基础 文件描述符
一、make与makefile 1.回顾: 目标的语法 目标名:依赖目标 @命令 @命令 make的命令行使用原创 2014-09-06 16:33:10 · 742 阅读 · 0 评论 -
Linux——信号量(同步)
一.信号量(同步) 1.回顾: 一个进程控制另外一个进程. 逻辑变量+pause/sleep+信号(前面章节 键盘控制随机数的例子) 2.信号量(semaphore)信号灯 三个数据:红灯/绿灯/黄灯 60原创 2014-09-19 19:11:48 · 617 阅读 · 0 评论 -
Linux——网络编程基础 UDP对等模型编程
二.网络 1.基础(ip) 1.1.网络工具 ping ping ip地址 ping -b ip广播地址 ifconfig -a netstat -a ne原创 2014-09-21 15:12:27 · 642 阅读 · 0 评论 -
Linux——TCP编程通信及编程模型
一.TCP的编程模型 回顾: UDP模型的UML图 TCP模型的UML图 案例1: TCP的服务器(在案例中使用浏览器作为客户程序) socket建立服务器的文件描述符号缓冲 bind把IP地址与端口设置到文件描述符号中 listen负责根据客户连接的不同IP与端口,负责生成对应的文件描原创 2014-09-21 20:18:05 · 542 阅读 · 0 评论 -
Linux——IO与文件目录管理 进程 exec函数系列 fork 子进程
一.IO与文件目录管理 1.pread=lseek+read pread读取以后不改变读写位置 2.mmap映射: /proc/${pid}/mem 无法映射 3.IO的有效用户与实际用户 默认情况:实际用户与有效用户一直。 实际用户:执行用户 有原创 2014-09-11 11:55:54 · 843 阅读 · 0 评论 -
Linux——IO与文件映射 Curses
一.IO与文件映射 1.IO的共享与效率 read与write其中数据缓冲的大小 读取数据的缓冲:getpagesize。 2.定位与定位读取(随机读取) read与write在操作的时候,自动移动读取位置. lseek改变读取位置. pread/pwrite在原创 2014-09-09 17:07:17 · 630 阅读 · 0 评论 -
Linux——进程的控制 信号
问题解答: 1.exit(状态码)返回状态码有什么意义? 返回值被系统得到.系统根据状态码进行日志记录. 返回值被调用者得到:system/wait.程序会根据返回状态码进行对应处理。 exit(状态码)=main函数中的return 状态码; 2.状态码的第二个字节才是exi原创 2014-09-12 22:05:15 · 809 阅读 · 0 评论 -
Linux——socket高级通信 select socket选项 Http
回顾: 多进程的问题:数据共享。 多进程的问题:进程的上下文环境(context)不能共享 文件描述符号是整数以及对应上下文环境 多进程的问题:上下文环境共享一.SELECT TCP服务器编程模式 1.select函数 int select( int fds,//建议是监控的文件描述符号的最大值+原创 2014-09-25 19:21:53 · 847 阅读 · 0 评论 -
孤儿进程与僵尸进程[总结]
1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进转载 2015-07-15 00:09:47 · 381 阅读 · 0 评论