系统知识
聪明的狐狸
北漂8年,来自河北,仍在一线编程。喜欢Coding,享受编程的乐趣,擅长C/C,Python,对Linux系统开发,网络编程,服务器开发有浓厚的兴趣
展开
-
【求助】linux不同进程使用共享内存及互斥锁
linux 系统中使用进程锁 和共享内存的例子。原创 2022-05-15 17:05:37 · 592 阅读 · 0 评论 -
Cache的设计和实现 LRU Cache
Cache的设计和实现 LRU CacheCache的应用非常广泛,其实Cache是一种思想,一个广义的词汇,一种在性能和金钱的权衡上的思想。Cache的思想用在很多地方,使用的载体也不同,都是位于相对高速设备和相对低速设备之间,起到缓存的作用。1、最常用处:用在内存和CPU之间,以SRAM作为Cache的载体。(内存是DRAM,CPU是寄存器)2、用在内存和硬转载 2014-04-20 22:22:34 · 1129 阅读 · 0 评论 -
Windows管道与StdIn、StdOut重定向
在Windows编程中,重定向需要用到管道(Pipe)的概念。管道是一种用于在进程间共享数据的机制。一个管道类似于一个管子的两端,一端是写入的,一端是读出的。由一个进程从写入端写入、另一个进程从读出端读出,从而实现通信,就向一个“管道”一样。重定向的原理是:如果要重定向stdout的话,先生成一个管道, 管道的写入端交给子进程去写,主程序从管道的读出端读数据,然后可以把数据写成文件、显示等等。重定向stderr和stdout是相同的。如果要重定向stdin的话,生成一个管道, 管道的写入端由主程序写,原创 2014-09-25 09:44:18 · 6720 阅读 · 0 评论 -
一些Windows API导致的Crash以及使用问题总结
RegQueryValueExgethostbyname/getaddrinfo_localtime64FindFirstFile/FindNextFileVerQueryValueCreateFileMapping相关SetDllDirectory Windows API就没有问题、没有BUG吗?答案是否定的!代码都是写出来,怎么可转载 2014-09-25 11:44:06 · 899 阅读 · 0 评论 -
log4cpp日志无法分卷的解决方案
我们的项目采用log4cpp作为日志输出模块,但在使用中发现,如果是一个Services,或者是在Windows Server版本上,会出现日志无法正常分割的现象。即日志一直往一个文件里持续写,即使超过规定的文件大小,也不会分卷。原创 2014-09-28 15:20:15 · 2338 阅读 · 1 评论 -
一次服务器CPU占用率高的定位分析
背景:通过性能监控发现上线服务器cpu某核占用率已经达到了100%,而且是由我们的某个核心服务导致的。幸亏由于我们的服务进程由多个相同worker(线程)调度承担的,所以除了CPU占用率高之外,并没有对服务造成影响。随着上次我们找到那个吃IO的罪犯,这次我们要追捕的是潜伏在团体中的特务,更加惊险刺激哟!转载 2014-10-12 22:02:39 · 979 阅读 · 0 评论 -
共享内存
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。转载 2015-08-12 10:45:22 · 494 阅读 · 0 评论 -
linux启动基本流程
linux启动基本流程。原创 2015-08-13 12:13:58 · 810 阅读 · 0 评论 -
linux文件流与文件描述符之间的转换
linux文件流与文件描述符之间的转换1、已知文件流指针,获取对应的文件描述符 int fileno(FILE *stream); 主要应用:如果程序先前用fopen打开了一个文件,但是又想对其进行锁定操作, 例如 int fcntl(int fildes, int command, struct flock *flock_structure)(注意:comman转载 2015-08-14 18:13:39 · 1908 阅读 · 0 评论 -
性能优化杂谈二
如何编写高性能的应用程序,优化程序性能的方法和策略原创 2014-03-02 18:00:33 · 1055 阅读 · 0 评论 -
两台电脑同时上网
这几天出去开会,两个人带了一台电脑可发愁了,这里给出用笔记本作为ap,实现多台电脑同时上网功能的方法。实现环境:两台win7旗舰版1. 选择一台笔记本做ap,用该电脑连接网线,能够成功上网2. cmd->以管理员身份运行3. 输入netsh wlan set hostednetwork mode=allow ssid=netname key=password,成功4.转载 2014-03-07 21:49:14 · 771 阅读 · 0 评论 -
性能优化杂谈
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈!但是在转载 2013-11-24 16:42:14 · 1130 阅读 · 0 评论 -
Windows 的GetLastError()函数返回值之含义
Windows 的GetLastError()函数返回值之含义〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存储控制块被损坏。 〖8〗-存储空间不足,无法处理此命令。 〖9〗-存储控制块地址无效。 〖10〗-环境错误。翻译 2013-11-24 13:01:52 · 2066 阅读 · 0 评论 -
分布式设计与开发(一) ------ 宏观概述
转自《江南烟雨居》的博客http://www.cnblogs.com/newstart//在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,转载 2013-12-07 20:48:14 · 742 阅读 · 0 评论 -
分布式设计与开发(四)------数据拆分
转自http://www.cnblogs.com/newstart// 一个大型系统里各个环节中最容易出性能和可用性问题的往往是数据库,因此分布式设计与开发的一个重要领域就是如何让数据层具有可扩展性,数据库的扩展分为Scale Up 和Scale Out,而Scale Up说白了是通过升级服务器配置来完成,因此不在分布式设计的考虑之内。Scale Out是通过增加机器的方式来提升处理能力,转载 2013-12-07 21:07:06 · 919 阅读 · 0 评论 -
分布式设计与开发(二)------几种必须了解的分布式算法
转自:http://www.cnblogs.com/newstart// 分布式设计与开发中有些疑难问题必须借助一些算法才能解决,比如分布式环境一致性问题,感觉以下分布式算法是必须了解的(随着学习深入有待添加):Paxos算法一致性Hash算法Paxos算法1)问题描述分布式中有这么一个疑难问题,客户端向一个分布式集群的服务端发出一系列更新数据的消息,由于分布式集群中的转载 2013-12-07 20:56:08 · 851 阅读 · 0 评论 -
分布式设计与开发(三)------高一致性服务ZooKeeper
转自http://www.cnblogs.com/newstart// 分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高一致性的,这些服务是其他分布式服务运转的基础,比如naming service、分布式lock等,这些分布式的基础服务有以下要求:高可用性高一致性高性能对于这种有些挑战CAP原则的服务该如何设计,是一个挑战,也是一个转载 2013-12-07 21:02:36 · 920 阅读 · 0 评论 -
多线程经典问题----考试问题
1.问题描述:1个主考官,n个学生考官和学生陆续进入教室(没有先后之分)。等待所有学生进入教室后,考官开始发考卷考官把考卷发给所有学生后,学生才开始答题,学生可以提前交卷,交完卷后即可离开教室。老师等所有学生交完卷后才能离开教室。2.问题解答:本题和乘客乘公交车问题类似,主要考察多线程的同步和互斥。主类和主线程如下:#include "afxmt.h"#de原创 2013-12-01 22:56:28 · 1278 阅读 · 0 评论 -
SSL与TLS的区别以及介绍
SSL与TLS的区别以及介绍 SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。 TLS:(Transport Layer Secur转载 2014-01-14 19:37:03 · 3014 阅读 · 0 评论 -
内存管理笔记(分页,分段,逻辑地址,物理地址与地址转换方式)
本文内容参考自如下博客与书籍:http://blog.csdn.net/windowseight/article/details/8279863http://bbs.chinaunix.net/thread-2083672-1-1.htmlhttp://blog.csdn.net/erazy0/article/details/6457626#commentshttp://blog.转载 2013-11-19 17:12:25 · 2448 阅读 · 0 评论