
linux
qq_41784469
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
负载均衡
这是1998年一个普通的上午。一上班,老板就把张大胖叫进了办公室,一边舒服地喝茶一边发难:“大胖啊,我们公司开发的这个网站,现在怎么越来越慢了? ”还好张大胖也注意到了这个问题,他早有准备,一脸无奈地说: “唉,我昨天检查了一下系统,现在的访问量已经越来越大了,无论是CPU,还是硬盘、内存都不堪重负了,高峰期的响应速度越来越慢。”顿了一下,他试探地问道:“老板,能不能买个好机器? 把现在的‘老破小...转载 2018-07-07 14:38:39 · 173 阅读 · 0 评论 -
数据链路介绍
数据链路介绍名词解释:LCP:一种物理层链接,我们上网拨号时候必须建立的链接。ISP:可以理解为一个网络运营商:移动,电信。********************************************(1)点对点协议PPP(1对1)*特点:1.简单:不要纠错,不要流量控制,不要序号。2.封装成帧:制定帧的定...原创 2018-07-12 14:18:55 · 1196 阅读 · 0 评论 -
CAS与无锁队列
CAS与无锁队列1.无锁同步CAS:当我们如果只是由于一条代码出现了线程安全问题,比如说多个线程都要往一个队列中的尾部插入一个元素,那么我们的tail->next=newnode;使我们一条必要的代码。但是当我们拿到tail的时候,在执行这条指令前,其他线程率先在原来的队列尾部插入元素,这就会引起tail的失效,因为ta...原创 2018-07-05 17:33:47 · 1280 阅读 · 0 评论 -
死锁预防与解决
死锁预防与解决*预防银行家算法:银行家算法是最著名的死锁避免算法。它提出的思想是:把操作系统看做是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最...原创 2018-07-04 18:16:33 · 220 阅读 · 0 评论 -
死锁与饥饿
死锁与饥饿死锁:死锁的产生一定是我们在为了确保同步多线程多进程的时候为临界资源加锁(互斥锁,信号量)造成的。因为一但加锁就会有不可剥夺的资源产生,这也是死锁产生的最重要的条件。*死锁产生的必要条件:互斥(临界资源):一个资源某一时刻只能一个进程占用不可抢占(锁的本质):别人用着没用完你不能抢占有与请求:占有一个资源时候...原创 2018-07-04 16:11:17 · 646 阅读 · 0 评论 -
生产者消费者问题
生产者消费者问题1.生产者消费者简单程序#include<stdio.h>#include<string.h>#include<stdlib.h>#include<unistd.h>#include<pthread.h>#define MAX_STOCK 20//仓库容量ch...原创 2018-07-04 15:40:53 · 247 阅读 · 0 评论 -
互斥量简介
互斥量简介Linux条件变量:(1)头文件和函数 #include <pthread.h> pthread_cond_t cond = PTHREAD_COND_INITIALIZER; int pthread_cond_init(pthread_cond_t ...原创 2018-07-04 14:27:38 · 202 阅读 · 0 评论 -
io复用
io复用五种io:io复用阻塞i/o非阻塞i/o信号驱动i/o异步i/o前4种是同步io最后一种才是真正的异步io同步IO和异步IO的区别就在于:数据访问的时候进程是否阻塞!阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!同步异步在于双方的配合消息的通信机制阻塞与非阻塞在于一端对待某个调用的态度,等待返回的状态。...原创 2018-06-24 12:07:01 · 219 阅读 · 0 评论 -
网络编程api简介
server:int main(){ int sockfd=socket(AF_INET,SOCK_STREAM,0);//(1)头文件sys/socket.h,建立套接字 assert(sockfd!=-1); struct sockaddr_in saddr,caddr;//(2)给建立的套接字设置属性用于绑定 memset(saddr,0,sizeof(saddr)); saddr.sin...原创 2018-06-24 11:35:52 · 298 阅读 · 0 评论 -
TCP协议
TCP协议TCP网络编程大纲: TCP面向连接 字节流 可靠传输 | 优化算法Nagle | 3次握手 无消息保护边界 确认应答 - TCP头部结构(头部的选项讲解一下扩大因子3和最大报文长度2)-PSH以及窗口大小-TCP数据(交互数据&成块数据)4次挥手 ...原创 2018-06-24 11:29:04 · 213 阅读 · 0 评论 -
网络层IP协议介绍
网络层协议介绍*******ip网络结构(历史)********网络层信息传输两种:电信电话:虚电路服务:电信网采用交换机,建立链接的,osi(七层)体系支持者曾经推行过。如今:数据报服务:无连接不可靠,减少了路由器成本(原因就是把报文乱序缺失流量控制交给了主机处理(电脑))*网络层协议(ICMP,IGMP) IP(ARP,RARP)...原创 2018-06-24 10:40:25 · 690 阅读 · 0 评论 -
静态库与共享库
静态库与共享库静态库与共享库的区别:1.静态库使用发生在静态链接共享库发生在动态链接。2.静态库.a在linux为后缀,静态库的代码是完全在静态链接的时候拷贝的,因此代码量比较大。动态库是在运行时候才加载到内存当中的,如果动态库创建时候使用-fPIC那么内存中只有一份代码。3.静态库不利于维护,而共享库利于维护,因为我们的共享...原创 2018-06-23 16:57:54 · 231 阅读 · 1 评论 -
linux各种命令归类简介
linux各种命令归类1.文件cp 拷贝命令 cp a.c b.crm 删除命令 -r删除目录mv 剪切命令 mv a.c b.cvi编辑命令cat打印命令tail查看文档尾部awk功能较为复杂后跟正则表达 awk -F":" '{print $1}' file(输出文件第一列(域),分割符是:,不加-F":"就是默认空格分隔。print...原创 2018-06-23 16:35:51 · 355 阅读 · 0 评论 -
网络编程api接口简介
客户端:int main(){ int sockfd=socket(AF_INET,SOCK_STREAM,0);//(1)头文件sys/socket.h,建立套接字 assert(sockfd!=-1); struct sockaddr_in saddr,caddr;//(2)给建立的套接字设置属性用于绑定 memset(saddr,0,sizeof(saddr)); saddr.sin_...原创 2018-03-05 14:59:50 · 1978 阅读 · 0 评论 -
memcached高性能分布式内存对象缓存系统(1)
memcached高性能分布式内存对象缓存系统(1) 相关安装博客:http://www.cnblogs.com/phpstudy2015-6/p/6683170.html 引言:首先我们要知道在linux x86等系统下,我们的服务器是一个硬件的概念,服务大多情况下 特别如数据库memcach等开源软件是以守护进程的形式在服务器上运行的。memcached是一个系统 的总称...原创 2018-07-25 17:13:36 · 589 阅读 · 0 评论