闭包

http://blog.csdn.net/ym012/article/details/7208750

集群方案

集群方案

1.硬件: http://blog.csdn.net/fupei/article/details/7513304

2.软件:

前端web:memcahe,redis,mogodb 等

应用层:hadoop ,mq消息队列, java 中间件集群 数据:

数据库集群,mysql ndb

 

集群算法:

1.paxos一致性算法

2.hash一致性算法

3.copy 主从复制

4.ajp协议(apache)

5.Range Server 阀值分裂

6.shard 分割

7.ndb(NDBD分区算法是散列法 ,算法 数据复制,或sql复制》副本(通过无共享体系结构))http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html 8.hash tree 算法(cassandra最终一致性相关算法数据结构 ) http://blog.itpub.net/23937368/viewspace-1053924/

总结: 1.分片 2.复制

rpc

rpc
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务
,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,
RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

 

工作原理

运行时,一次客户机对服务器的RPC调用,其内部操作大致有如下十步:
1.调用客户端句柄;执行传送参数
2.调用本地系统内核发送网络消息
3.消息传送到远程主机
4.服务器句柄得到消息并取得参数
5.执行远程过程
6.执行的过程将结果返回服务器句柄
7.服务器句柄返回结果,调用远程系统内核
8.消息传回本地主机
9.客户句柄由内核接收消息
10.客户接收句柄返回的数据

 

http://bbs.chinaunix.net/thread-1762282-1-1.html

RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。
Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任意语言。
Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间的通讯,且服务端和客户端必须使用SpringFramework。
Web service是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好。
rpc 本质上是一个协议。

 

主流的Web服务实现方案中,
因为REST模式:数据和表现形式的组合,简洁风格
的Web服务与复杂的SOAP:soap协议:异构语言使用,于平台、 操作系统、 目标模型和编程语言独立实现
和XML-RPC:ORB 守护程序:一个标准传输语法(低层数据表示方法);或者stub代理

http://www.cnblogs.com/nliao/archive/2013/09/08/3308669.html

 

soap:http://blog.csdn.net/inter999/article/details/3282408

线程

http://www.360doc.com/content/13/1008/11/13047933_319789998.shtml

网络模式

http://blog.csdn.net/zi_jin/article/details/4214359

http://blog.csdn.net/lmh12506/article/details/7755068

http://www.cnblogs.com/bigwangdi/p/3182958.html

http://wenx05124561.blog.163.com/blog/static/1240008052011717114011994/

加密

http://blog.csdn.net/forgotaboutgirl/article/details/7258109

http://baike.baidu.com/link?url=Gpkwlz3fx3yZwMPbyS1PBxq32RuLZbXbod0W5aq6RHTG0GohP3i33rwxArfmf5kS

对称
对称密码学中采用相同的密钥加密、解密数据

非对称:

密钥:
私人密钥:》数字证书
公钥》

不像普通的对称密码学中采用相同的密钥加密、解密数据,
非对称密钥加密技术采用一对匹配的密钥进行加密、解密,具有两个密钥,
一个是公钥一个是私钥,它们具有这种性质:每把密钥执行一种对数据的单向处理,
每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密。
用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。
公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,
发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。
相反地,用户也能用自己私人密钥对数据加以处理。换句话说,密钥对的工作是可以任选方向的。
这提供了”数字签名”的基础,如果要一个用户用自己的私人密钥对数据进行了处理,别人可以用他提供的公共密钥对数据加以处理。
由于仅仅拥有者本人知道私人密钥,这种被处理过的报文就形成了一种电子签名—-
一种别人无法产生的文件。 数字证书中包含了公共密钥信息,从而确认了拥有密钥对的用户的身份。

http://blog.csdn.net/aaaaatiger/article/details/2034650

http://blog.sina.com.cn/s/blog_4c7ab7a601009884.html

linux 内核

http://blog.csdn.net/zapldy/article/details/5850440

线程:

fork 复制进程

vfork 拷贝进程(地址)

clone 创建线程

 

socket,

1.操作系统实现基本传输层

2.socket 是inode 和sock网络结合体(有网络设备缓冲结构)

 

文件:

inode:

超级块,是vfs虚拟文件格式

device 虚拟数据结构(包含inode)

reqest—队列:

内存:

slab:最小内存块

slob :基于链表

slub:打包分组

 

自旋锁:汇编或是中断实现

 

socket

socket
包涵
1.伪造的inode文件的指针 (vfs)
2.网络协议族指针

句柄

http://baike.baidu.com/link?url=itSmfBpsKw2vg_kpdY4JlDcx7IEzZ-7RfM2HnZ_IUyQXoDDm56BJuCo6HRK_DzG9

重定向地址

内核对象句柄,是用来标识某个内核对象的一个ID 同一个对象的该id对于每个进程是不同的,具体如何实现是ms不公开的算法,以下是一个近似的,可能的算法:
进程创建时,windows系统为进程构造了一个句柄表
当该进程希望获得一个内核对象句柄或者创建一个内核对象从而获得该对象句柄时
系统会将在句柄表中增加一个表项,表项的内容中存储了指向目标内核对象的指针
同时,系统返回这个表项在句柄表中的索引作为句柄

 

os source thread

unix :

http://blog.csdn.net/cszhao1980/article/details/7772910

linux:

http://blog.chinaunix.net/uid-22330495-id-164941.html

linux:
1.启动: boot文件夹下的bootsect.S
线程:

http://wenku.baidu.com/link?url=EYVSyySirpDfidGAV7beGz16gCiiNU_aZcpdtpPhL4V5y9TVVQZXWEViyb74AQvUXoiyArizWcbZqeXW5jJWglJ37gWRwdIUw1wkEOwZvlC

1。 0进程被操作系统调用

2.fork():

其他进程拷贝,父进程的task_struct 结构体

fork 拷贝副本

execve() :将子进程加入cpu 调用

http://blog.csdn.net/zyp2671/article/details/5698598

 

 

3.signal处理机制: 软中断

 

3.线程:

http://blog.chinaunix.net/uid-27052262-id-3239260.html

 

4.设备

ioctl() 接口

http://baike.baidu.com/link?url=omqR4k1Kc6zpQEwwPekErrKcf0XuOj2tkFvwx5vt0E7YzGnErkXF6c-ce-o48zbvit4mAlNglL5JnYB0AQg0Xq

http://blog.csdn.net/wufen_1981/article/details/1956977