`
文章列表
这位很详细: http://www.cnblogs.com/wanghj-dz/archive/2011/04/23/2025840.html

tmp

tmp
 塔式、机架式和刀片式服务器        相信大家一定注意到了,各种媒体上经常按塔式、机架式和刀片式这三种结构来划分服务器,服务器的外形为什么会有这样的划分呢?主要原因就是具体的应用环境不同,塔式服务器长得跟我们平时用的台式机一样,占用空间比较大,一般是一些小型企业自己使用自己维护;   而机架式服务器长得就像卧着的台式机,可以一台一台的放到固定机架上,因此而得名,它可以拿去专业的服务器托管提供商那里进行托管,这样每年只需支付一定的托管费,就免去了自己管理服务器的诸多不便;而刀片服务器是近几年才比较流行的一种服务器架构,它非常薄,可以一片一片的叠放在机柜上,通过群集技术进行协同运算,能 ...
一、笔记本设置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穿透 (重定向自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 概述
初衷        先说一下我写这篇文章的初衷:很多时候,我需要在vmware workstation虚拟机 和 我的物理机 之间传递信息,用U盘作为载体倒来倒去太麻烦。然而,一般来说我会在所有的系统中安装python(当然用C实现更保险,但是就需要.exe和ELF两个文件)。于是,我就想自己搞了一个python脚本,方便在这种“虚拟机和物理机”以及“虚拟机之间”的文件传递。   初次尝试 服务器:接收文件 # -*- coding: cp936 -*- from socket import * import struct import os ratio_base=0. ...
    和文件一样,进程是Unix系统最基本的抽象之一。 一、进程ID     每一个进程都有一个唯一的标示,进程ID。虽然进程ID是唯一的,但进程终止后,id会被其他进程重用。许多UNIX都提供了延迟重用的功能,以防止新进程被误认为是旧进程。       有一些特殊的进程: id为0的进程--idle进程或者叫做swapper,通常是一个调度进程。 id为1的进程--内核booting之后执行的第一个进程。init进程一般执行的是init程序。       Linux通常尝试执行以下init程序: 1、/sbin/init: 偏向、最有可能是init程序的地方。 2、/e ...
初学者在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数据库程序实现为一个非常简单的客户/服务器程序。       在本章,我们将会涉及下列主题:       一、管道的定义       二、处理管道     ...
Global site tag (gtag.js) - Google Analytics