自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(165)
  • 资源 (3)
  • 收藏
  • 关注

原创 一本永不过时的元宇宙专著《元宇宙:通往无限游戏之路》

如果此生必看一本有关元宇宙的中文图书,我为大家推荐中信出版社《元宇宙:通往无限游戏之路》(长铗、刘秋杉著),一句话推荐语——这是一本永不过时的元宇宙专著。

2022-02-21 10:34:23 445

原创 区块链在中国(3):区块链场景漫谈

有人提出区块链进化的三个阶段:数字货币,智能合约,区块链+。但也许我们更应当关心当下如何切入区块链,个人感觉从边缘而不触及核心的角度、从个人信用和互助入手,以获取大众认可和群众基础为重,然后再谈一系列的商业化或者社会化应用。

2016-08-04 10:53:02 6116 4

原创 区块链在中国(2):PBFT算法

上一张我们从分布式系统的角度简单叙述了一下 IBM HyperLedger fabric 的一些基本概念、架构和协议信息。其中最为核心的部分就是共识算法(consensus plugin),fabric推荐并实现的就是PBFT这一经典算法。BFT算法Client会发送一系列请求给各个replicas节点来执行相应的操作,BFT算法保证所有正常的replicas节点执行相同序列的操作。因为所有的rep

2016-07-15 19:17:28 24298 7

原创 区块链在中国(1):IBM HyperLedger fabric

在我看来,比特币就是现实中的V字仇杀队,当然现实是更残酷的世界政府,这场博弈关乎着人类文明、政治、社会属性、经济和人权。 IBM HyperLeger 又叫 fabric,你可以把它想象成一个由全社会来共同维护的一个超级账本,没有中心机构拥揽权力,你的每一笔交易都是全网公开且安全的,信用由全社会共同见证。它与Bitcoin的关系就是,你可以利用fabric构建出一个叫Bitcoin的应用来帮助你

2016-07-13 14:39:56 57971 5

原创 拉开大变革序幕(下):分布式计算框架与大数据

因为对大数据处理的需求,使得我们不断扩展计算能力,集群计算的要求导致分布式计算框架的诞生,用廉价的集群计算资源在短短的时间内完成以往数周甚至数月的运行等待,有人说谁掌握了庞大的数据,谁就主导了需求。虽然在十几年间,通过过去几十年的积淀,诞生了mapreduce,诞生了分布式文件系统,诞生了霸主级别的Spark,不知道这是不是分布式计算框架的终点,如果还有下一代的处理框架,必然来自更大规模的数据,我想

2016-02-02 15:39:31 16244 20

原创 拉开大变革序幕(中):Docker 场景化尝试

runC 进行时由Docker公司和CoreOS,加上一些顶牛的大公司,如Google,IBM,Microsoft,EMC,Amazon,思科,华为等等,在Linux基金会的支持下于2015年6月份创立的一个统一容器标准的组织。许多厂商会在Docker和CoreOS之间犹豫不决,观望对工业界来说是个明智之举也是个掣肘之举,谁也不敢冒进。统一标准,意义重大。OCP的一大产物就是runC,它跟docke

2016-01-13 13:57:10 20673 6

原创 拉开大变革序幕(上):在浪潮之巅观望Docker

Docker says: an open platform to build, ship, and run any app, anywhereDocker Service Overview(as far as I study)CaaS/PaaS/lightweight IaaSdeveloper orientedconnect code manage and cloud machine, t

2015-11-10 14:39:11 19068 37

原创 30天自制操作系统之第17天 命令行窗口

我们把命令行窗口单独做成一个新的任务。 要实现字符输入,只要在键盘被按下的时候向console_task(命令行窗口任务)的FIFO发送数据即可。但要发送数据必须要知道struct FIFO的内存地址才行。 把 struct FIFO 放到 struct TASK里面。基本上没有什么任务是完全用不到FIFO的,因此我们把它们绑定起来。struct TASK { int sel, fl

2015-10-11 20:39:49 3417

转载 云计算设计模式(十七)——基于队列的负载均衡模式

转载自http://blog.csdn.net/yangzhenping/article/details/40889583使用队列,作为一项任务,它调用才能顺利间歇重物,可能会以其他方式导致失败的服务或任务超时服务之间的缓冲区。这个模式可以帮助最小化峰中的可用性和响应需求为任务和服务的影响。背景和问题许多解决方案在云中涉及运行调用服务的任务。在这种环境下,如果一个服务进行间歇重物,它可能会导致性能

2015-09-23 11:13:54 1780

转载 解决Linux关闭终端(关闭SSH等)后运行的程序自动停止

出处:http://ju.outofmemory.cn/entry/55605 问题描述:之前在服务器上起一个python的服务,放到后台运行。 python pyserver.py &. 当我关闭这个SSH之后,该服务不可用,再次登入到服务器,已经没有这个python进程啦。 问题定位:通过上面问题的表象,可以发现是跟SSH关闭有关。为什么ssh关闭,会导致正在运行的程序死掉。通过查

2015-09-22 17:44:25 17899

原创 Linux Shell脚本 多线程

在bash中,我们通过后台运行(&)实现多线程。 for((i=1;i<=pairs;i++)) do mongo="mongo_00$i" acmeair_web="acmeair_web_00$i"{ docker run --name $mongo -d -p $port_m:27017 mymongodb docker run -d -p $port:9

2015-09-13 22:28:34 7808

转载 五种方法查看Ubuntu/Redhat等Linux系统版本号等系统信息

转载自http://yp.oss.org.cn/blog/show_resource.php?resource_id=1058最近碰到一个问题,在Linux终端下怎么查看当前操作系统是什么,版本是什么。不同的Linux发行版不完全一样,查了一些资料现在总结如下。有以下命令可以查看:第一种方法:lsb_release -aLSB Version: :core-4.0-ia32:core-4.0-

2015-09-06 09:24:17 5277

原创 seL4的编译和运行(OdroidXU3)

seL4支持平台seL4所在的git如下: https://github.com/seL4/seL4.git不过我们编译和运行seL4一般不只是用这个git,而是借助seL4test(seL4的测试框架): https://github.com/seL4/sel4test.gitseL4提供了各种平台上的配置文件,也提供了用于测试seL4的app。seL4指定了可以运行的平台,按照下面的匹配来编

2015-07-22 16:03:14 7797 7

转载 酷炫:6个有趣的Linux命令

酷炫:6个有趣的Linux命令 转自 http://www.cricode.com/3388.html1. pv 命令有时候我们在电影屏幕上看到一些字幕一个个匀速显示出来,像有人在边敲键盘,边显示一样。Linux上的pv命令可以实现这种效果。 默认情况下,Linux是没有pv命令的,需要自行安装。 首先安装命令:# yum install pv [On RedHat ba

2015-07-16 16:07:55 3987

原创 开源微内核seL4

越大的系统潜在的bug就越多,所以微内核在减少bug方面很有优势,seL4是世界上最小的内核之一。 如今,安全越来越成为一个新兴嵌入式设备的关键要素,如智能手机。

2015-07-10 11:15:56 14028

原创 0.11之路(六):创建进程1

进程0要做的第一件事就是作为父进程调用fork函数创建第一个子进程——进程1。内核用last_pid来存放系统自开机以来累计的进程数,也将此变量用作新建进程的进程号。BTW,linux 0.11 的task[64]只有64项,最多只能同时运行64个进程。fork函数中有个很重要的函数叫 copy_process() 函数。 进程0依靠它完成对进程1的创建: 1) 为进程1创建task_st

2015-04-21 20:26:37 1463

原创 0.11之路(五):激活进程0

linux的第一个进程——进程0。 Linux 0.11 是一个支持多进程的现代操作系统,所以我们需要进程管理信息数据结构:task_struct、task[64]、GDT等的支撑。

2015-04-18 21:33:25 1431 1

原创 0.11之路(四):从实模式到保护模式

关中断并将system移动到内存地址起始位置 0x00000将CPU的标志寄存器(EFLAGS)中的中断允许标志(IF)置0。这样系统不会再响应中断,直到main函数中能够适应保护模式的中断服务体系重建完毕才会打开,那时候响应中断的服务程序将不再是BIOS提供的中断服务程序,而是系统自身提供的。 就是要完成实模式下的中断向量表和保护模式下的中断描述符表(IDT)的交接工作。借助关中断(cli

2015-04-16 21:57:10 1748

原创 0.11之路(三):system模块

现在载入第三批代码——system模块,仍然使用 int 0x13 中断。 这批代码要比之前多很多,所以需要一点时间,于是出现了 “Loading system …”的字样。但是,此时操作系统的main函数还没有执行,所以它是用汇编来实现的。 system模块被加载至内存的 0x10000 往后的120KB空间中。这样整个操作系统的代码都加载至内存,最后要再次确定一下根设备号。什么是根设备?

2015-04-14 15:30:42 1639

原创 0.11之路(二):加载setup

BIOS将bootsect这个引导程序载入内存后,接下来就要靠bootsect来加载第二批和第三批程序。bootsect首先要做的工作就是规划内存。 实模式下,寻址最大范围是1MB(0xFFFFF)。关于setup程序,在bootsect.s中要指定setup程序的扇区数和被加载到的位置(0x90200),此外还要指定启动扇区(也就是bootsect.s)被BIOS加载的位置(0x07c00)和将

2015-04-10 16:33:48 1683

原创 0.11之路(一):BIOS引导过程

BIOS在内存最开始的位置构建中断向量表,紧接着是BIOS数据区,此外还要有与中断向量表相应的中断服务程序。我们正是利用这些中断服务程序把内核加载到内存中。 中断是操作系统里的一个意义重大的概念,是一个技术手段。加载内核程序并为保护模式做准备对于Linux 0.11来说,计算机将分三批次逐次加载操作系统的内核代码,第一批由BIOS中断 int 0x19 把第一扇区 bootsect 的内容加载到内

2015-04-09 15:36:29 2271

原创 Harden the Hacker Thinking (Updating)

记录一下自己最近的思维harden过程。通过记录,进行反思,找到缺陷。 一分钟design,一分钟coding,三十分钟rethinking。2015-02-26不要在一件事上停留太久:休息时如果是浏览新闻,被它的新鲜劲吸引,有利于放松思维,但不宜浏览时间过长,学会充分利用它的新鲜劲给思维带来的好处。尽早发力:开始一项任务时,没必要一直崩着脑子,如果一开始让思维像风暴一样席卷,有利于排除干扰,尽快

2015-03-27 14:07:27 2034

原创 Libevent API

evtimer_newevtimer_new(base, callback, NULL)用来做定时器,即当达到一定时间后调用回调函数callback,用evtimer_add激活定时器。例如:my_node->ev_expect_ping = evtimer_new(my_node->base,expected_leader_ping_period,(void*)my_node); evti

2015-03-13 10:11:25 1963

原创 终端复用工具tmux的使用

tmux的作用在于终端复用。 1. 在server上启动一个bash,并在里面运行tmux 2. 通过ssh远程登录server,运行tmux attach,就会切换到server上的那个bash中,接下来的操作都是在bash中了 3. 此时可以打开更多的窗口,这样在远程就可以像在本地一样同时使用多个一样的bashtmux快捷键tmux在会话中使用大量的快捷键来控制多个窗口、多个会话等。Ctr

2015-03-12 14:32:48 1863

转载 psutil documentation

转载自https://pythonhosted.org/psutil/#psutil.STATUS_RUNNINGWarning This documentation refers to new 2.X version of psutil. Instructions on how to port existing 1.2.1 code are here. Old 1

2015-03-10 11:39:28 1513

转载 Python格式化输出

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。 模板格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真

2015-03-10 11:24:14 2141

转载 python 多变量赋值

为什么我用start,stop=10这样写就不行,必须在后面再加上一个start!回答至于为什么需要这样赋值,可能跟楼主学习过C,C++或者JAVA语言有关,举例来讲, 在C语言中,如下代码是可以正常编译的:#include int main(){ int start, stop = 10; int a; printf("start:%d, stop:

2015-03-10 09:12:35 1833

原创 Linux防火墙iptables实用设置

维护一个服务器其中重要的一步就是管理好端口的开放与关闭,以避免因为服务一直运行着,而外部恶意攻击利用这些服务所占用的端口。首先是能够查看iptables的情况:sudo iptables -L会列出每一条规则,标有ACCEPT的规则是指这条规则指示的通信可以成功,标有DROP的规则是指阻断所表示的通信。要注意,在系统运行中,会从开始到结束一条一条去匹配规则,所以最后

2015-03-09 13:10:35 1414

转载 使用PSSH批量操作Linux服务器

转载自http://www.cnblogs.com/lurenjiashuo/p/pssh.html简介服务器多了,有一个问题就是如何批量快速操作多台服务器,在网上搜到了PSSH工具,试用了一下发现挺好用,推荐给大家。pssh是一个python编写的可以在多台服务器上执行命令的轻量级管理工具,同时支持拷贝文件,python版本大于2.4即可,项目地址:parallel-ss

2015-03-07 14:49:33 2462

转载 shell 脚本实现的守护进程

# #! 不是注释符,而是指定脚本由哪个解释器来执行,# #! 后面有一个空格,空格后面为解释器的全路径且必须正确。#! /bin/ashPRO_PATH=""# testpro 为要守护的可执行程序,即保证它是一直运行的PROGRAM="testpro"# 此脚本一直不停的循环运行,while 与 do 放在一行上要在条件后加分号# if、then、whil

2015-03-05 12:14:03 4996

原创 GALAXY: tcp connection live migration with CRIU

We choose CRIU to help us to do tcp connection migration. The tcp migration is a tricky job, and even CRIU also does not have a completed solution. There are still many TODO to do.

2015-03-04 20:39:17 3711

转载 Mongoose web server in Linux

It’s very easy to start a Python web server on localhost.If you want something more serious but still lightweight, check out the Mongoose web server.Fetch and compile:123

2015-03-03 22:24:03 1702

原创 CRIU migration: where are cgroup and lxc ?

Purpose:If we get rid of cgroup and lxc when we do dump through criu, it is good for us to make migration successfullyLXC:CRIU itself doesn’t dump lxc(container) unless using lxc-checkpoint tool. So b

2015-02-27 10:08:55 2489

转载 3种方法来创建轻量、持久化的Xubuntu Linux USB系统盘

转载自http://linux.cn/article-4946-weibo.html?fromuid=147633种方法来创建轻量、持久化的Xubuntu Linux USB系统盘2015-2-26 14:08| 查看: 392| 评论: 6| 收藏: 1| 分享: 15来源:Linux中国  原文:http://linux.cn/article-4946-1.ht

2015-02-26 16:56:43 1432

转载 Ubuntu下给普通或新增用户赋予sudo权限

转载自http://blog.csdn.net/mashangyou/article/details/24459867ununtu系统安装过程中,系统会提示建立一个默认用户,比如用户名为:zhuhui。这个默认用户具有一定的管理功能,即可以通过sudo命令执行root权限的操作。由于Ubuntu系统默认不允许通过root用户登录系所以这个默认用户即是实际意义上的管理员.但是要给新建的一个普通用户赋予

2015-02-26 16:20:36 2979

原创 用Github管理debug进度

Github上有个按钮 Issues 可以用来管理和跟进project存在的问题: 点进去后: 存在的问题被清晰地归类存档,如 3 Open, 6 Closed。还有标签 bug, enhancement。让我们进入一个已经closed的issue: 就会见到这个issue的题目和具体描述,以及标签,比如这个是个bug。 还有Assignee(受托者),这个issue的受托者是ruigula

2015-02-26 11:40:05 2709 1

转载 什么是Cgroups

(转自http://pythonic.me/Cgroups.html)cgroups(Control Group)是Linux内核的功能,简单的说,它对进程分组,然后以组为单位进行资源调度和分配,另外还能记录组内进程使用的资源数量(内存、CPU等)。什么时候要用cgroups如果一台机器是给多个人共享,对有些用户,你希望多分配一些资源,对另外一些用户,少分配一些资源,这时候就可以用cgroups。如

2015-02-25 21:20:18 1346

转载 如何在 Ubuntu 14.04 里面配置 chroot 环境

转载自http://linux.cn/article-4936-weibo.html原文:http://linoxide.com/ubuntu-how-to/configure-chroot-environment-ubuntu-14-04/作者: Arun Pyasi译文:LCTT  http://linux.cn/article-4936-1.html译者:

2015-02-25 11:56:38 1633 1

原创 近阈值计算序曲

近阈值电压计算,是指让集成电路工作在近阈值电压下,这个电压值比正常电压要低,这是应对芯片功耗越来越大问题而诞生的技术,期望通过将电压降低到一定程度,在保证一定计算能力的前提下,降低功耗,减少散热,为摩尔定律继续有效和更多核技术指明道路。虽然可以通过降低电压达到降低功耗,但与此同时会带来两个问题:1)运行频率降低,从而计算性能降低2)系统稳定性降低,表现在parametric varia

2015-02-25 10:16:56 2073

原创 千古丞相

伟哉隆中对,奇乎借东风,扬兮开三国,悲彻五丈原。纵横八卦,经天纬地,黾勉赅博;弊绝风清,海清河晏,尧天舜日。虽主昏君,然朝阙偌大而无文恬武嬉,上下齐心,人才济济,秣马厉兵,直逼北庭。可六出岐山伐未捷,心焦力瘁身先死,留下一代英名耀千古,贤相之冠冠九州。以上是对三国时期蜀国丞相、政治家诸葛亮的人生感慨,以下将呈现千古丞相的音容笑貌和泣歌人生。孔明,卧龙也。时时少有之大才,胸怀匡扶宇宙之志。正

2015-02-16 16:32:57 1588

cleanwipe14.2.5323.2000.rar

Symantec Endpoint Protection 安装以后不能进行常规方式的卸载操作,卸载时需要卸载密码无法继续,用官网提供的工具cleanwipe进行卸载操作,简单快速。注意:CleanWipe只能卸载比自己版本低的Symantec

2020-08-24

Survey of Docker Service

两个月的调研,结合企业实践,对docker在当今的应用情形进行总结,涵盖docker基本概念和生态圈,基本技术和工具,以及服务和场景化。

2015-11-12

物联网网关可信平台模块

物联网网关上的安全认证模块设计 包括总体设计,软件架构和硬件设备

2013-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除