- 浏览: 546115 次
- 性别:
- 来自: 上海
最新评论
-
chuanwang66:
默默水塘 写道typedef void(*Fun)(void) ...
C++虚函数表(转) -
默默水塘:
typedef void(*Fun)(void);
C++虚函数表(转) -
lishaoqingmn:
写的很好,例子简单明了,将观察者模式都表达了出来。
这里是ja ...
观察者模式——Observer
文章列表
这位很详细:
http://www.cnblogs.com/wanghj-dz/archive/2011/04/23/2025840.html
塔式、机架式和刀片式服务器
- 博客分类:
- 体系结构
塔式、机架式和刀片式服务器
相信大家一定注意到了,各种媒体上经常按塔式、机架式和刀片式这三种结构来划分服务器,服务器的外形为什么会有这样的划分呢?主要原因就是具体的应用环境不同,塔式服务器长得跟我们平时用的台式机一样,占用空间比较大,一般是一些小型企业自己使用自己维护;
而机架式服务器长得就像卧着的台式机,可以一台一台的放到固定机架上,因此而得名,它可以拿去专业的服务器托管提供商那里进行托管,这样每年只需支付一定的托管费,就免去了自己管理服务器的诸多不便;而刀片服务器是近几年才比较流行的一种服务器架构,它非常薄,可以一片一片的叠放在机柜上,通过群集技术进行协同运算,能 ...
笔记本设置WIfi热点、定时关机
- 博客分类:
- 乱七八糟
一、笔记本设置wifi热点
在公司附近租了一间便宜的小房,不过只有有线网口。因为跳到苦逼的huawei了,为了省钱,把笔记本做成wifi热点,就可以省一个路由器的钱了。具体做法如下:
netsh wlan set hostednetwork mode=allow ssid=... key=...
注:此时要在 (原始)无线网卡->属性->共享中做如下设置——
netsh wlan start hostednetwork
netsh wlan stop hostednetwork
参考文档:
http://jingyan.baidu. ...
Linux系统调用
转自http://www.tinylab.org/linux-system-calls/
by Pingbo Wen of TinyLab.org2013/09/12
系统调用是系统内核提供给用户态程序的一系列API,这样应用程序就可以通过系统调用来请求操作系统内核管理的资源[1]。本文尝试分析在Linux下是如何使用linux内核给我们提供的API,并分析其实现过程。
一、用户态
不管我们是打开一个文件,接收一个socket包,还是获取当前进程信息,都需要调用内核给我们提供的API。这里,我们可以通过strace这个工具,来跟踪一个程序调用的系统函数。比如下面 ...
简单来讲一个进程由于执行系统调用而开始执行内核代码,我们称该进程处于内核态中. 一个进程执行应用程序自身代码则称该进程处于用户态。 intel x86 架构的 CPU 分为好几个运行级别,从 0--3 , 0 为最高级别, 3 为最低级别 针对不同的级别,有很多的限制,比如说传统的 in ,out 指令,就是端口的输入输出指令,在 0 级下是可以用的,但在 3 级下就不能用,你用就产生陷阱,告诉你出错了,当然限制还有很多了,不只是这一点 操作系统下是利用这个特点,当操作系统自己的代码运行时, CPU 就切成 0 级,当用户的程序运行是就只让它在 3 级运行,这样如果用户的程 ...
NAT穿透 (和UDP打洞实验)【维基】
- 博客分类:
- 计算机网络
一、NAT穿透
(重定向自NAT穿越)
在计算机科学中,NAT穿越(NAT traversal)涉及TCP/IP网络中的一个常见问题,即在处于使用了NAT设备的私有TCP/IP网络中的主机之间建立连接的问题。
会遇到这个问题的通常 ...
这篇文章纯粹是对http://cs.berry.edu这个大学的这个计算机的这段p2p框架代码的学习。代码结构灰常简单,逻辑清晰。并且基于这段代码实现了一个p2p文件共享系统。受益颇多。
一、p2p编程框架(及其python实现)
p2p框架代码: btpeer.py
p2p协议实现代码(即P2P文件共享协议): btfiler.py
P2P文件共享系统用户界面:filergui.py
二、
关于这个P2P框架,思考下面的问题:
1. 为啥self.sd = self.s.makefile('rw',0),为何不直接在 ...
网络地址转换
维基百科,自由的百科全书
在计算机网络中,网络地址转换(Network Address Translation或简称NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP封包通过路由器或防火墙时重写源IP地址或目的IP地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中。根据规范,路由器是不能这样工作的,但它的确是一个方便并得到了广泛应用的技术。当然,NAT也让主机之间的通信变得复杂,导致通信效率的降低。
目录
1 概述
python 网络(二、传输文件)
- 博客分类:
- python
初衷
先说一下我写这篇文章的初衷:很多时候,我需要在vmware workstation虚拟机 和 我的物理机 之间传递信息,用U盘作为载体倒来倒去太麻烦。然而,一般来说我会在所有的系统中安装python(当然用C实现更保险,但是就需要.exe和ELF两个文件)。于是,我就想自己搞了一个python脚本,方便在这种“虚拟机和物理机”以及“虚拟机之间”的文件传递。
初次尝试
服务器:接收文件
# -*- coding: cp936 -*-
from socket import *
import struct
import os
ratio_base=0. ...
Linux进程管理(一)
- 博客分类:
- Linux编程
和文件一样,进程是Unix系统最基本的抽象之一。
一、进程ID
每一个进程都有一个唯一的标示,进程ID。虽然进程ID是唯一的,但进程终止后,id会被其他进程重用。许多UNIX都提供了延迟重用的功能,以防止新进程被误认为是旧进程。
有一些特殊的进程:
id为0的进程--idle进程或者叫做swapper,通常是一个调度进程。
id为1的进程--内核booting之后执行的第一个进程。init进程一般执行的是init程序。
Linux通常尝试执行以下init程序:
1、/sbin/init: 偏向、最有可能是init程序的地方。
2、/e ...
Linux的*.h和*.cpp在哪里
- 博客分类:
- Linux编程
初学者在Linux下写C/C++程序,往往不清楚#include一个头文件是从哪里包含进来的,这些头文件的实现又是在哪里。另外,其中那些部分是C的运行时库提供的。因此,本文解决以下问题:
1. Linux C/C++程序头文件在哪里
2. Linux C/C++ ...
Sam通过本文图示概括Linux IPC(Linux进程间通信方式):
Sam知道水人们最喜欢这种图拿来说事,而不是深入研究代码来理解图中每种Linux IPC方式的深入含义。没关系!但是如果你要转载请你注明这个图是我Sam画的,并留言评论下。
这张图概括了Linux IPC从不同版本的Unix IPC发展而来的历史(其中IEEE只是非常搞笑地统一了以下接口,并没有引入新的方式)
这张图概括了Linux IPC的各种方式(简要评述各种方式的特点以及解决的问题)
参考文献:
Linux IPC一篇IBM水文 https://www.ibm.com/develop ...
一、关于fork()和exec系列区别的文字,很浅显易懂:
1、fork() 一个程序一调用fork函数,系统就为一个新的进程准备了前述三个段,首先,系统让新的进程与旧的进程使用同一个代码段,因为它们的程序还是相同的,对于 ...
第13章 Linux进程间通信——管道
转自http://www.cnblogs.com/dyllove98/p/3249340.html
在第11章,我们了解了使用信号在两个进程之间发送消息的一个简单方法。我们创建了可以用来引起响应的通知事件,但是所传递的信息限制于一个信号数量。
在这一章,我们将会了解管道,这会允许在进程之间交换更为有用的数据。在本章的结尾,我们将会使用我们的新知识来重新将CD数据库程序实现为一个非常简单的客户/服务器程序。
在本章,我们将会涉及下列主题:
一、管道的定义
二、处理管道
...