现在位置: 首页 > 自动控制 > 文章
2017-04-05 15:49 工业·编程 ⁄ 共 1431字 暂无评论
Plan9 是一个操作系统。由贝尔实验室开发的,其主要的负责人是Rob Pike(现在在google工作,负责Go语言的开发)。 Plan 9不是一个很知名的作品,但是它的前身Unix是世人皆知的。而Plan 9是Unix的几位作者在AT&T职业生涯的一件巅峰之作,是被设计来超越Unix的。 实际上,Plan 9在1992年第一次发布时,就同时实现了Google Docs、Dropbox、Github、Remote Desktop等目前很火爆的互联网产品的功能。 Plan 9能做到这些,是因为它...
阅读全文
2017-03-28 15:39 工业·编程 ⁄ 共 1175字 评论 1 条
Plan9 是一个操作系统。由贝尔实验室开发的,其主要的负责人是Rob Pike(现在在google工作,负责Go语言的开发)。当然这个操作系统的参与者还有几个大名鼎鼎的人:包括Ken Thompson(C语言和Unix创始人),Dennis Ritchie(C语言和Unix创始人),Brain Kernighan(awk之父),Doug Mcllroy(Unix管道提出者,Unix开发参与者)。 为什么有了Unix还需要有Plan9呢? Plan9中最本质的思想是“一切皆是文件”,CPU是一个文件,内存是...
阅读全文
2017-03-21 13:59 工业·编程 ⁄ 共 2693字 评论 1 条
    协程是在线程之上由“用户”构建的并发单元,对OS来说无感知,协程的切换由用户自己管理和调度。(这里的用户是相较于内核而言的,一些通用库这里也理解为用户) C/C++怎么实现协程     作为一个C++后台开发,我知道像go, lua之类的语言在语言层面上提供了协程的api,但是我比较关心C++下要怎么实现这一点,下面的讨论都是从C/C++程序员的角度来看协程的问题的。 boost和腾讯都推出了相关的库...
阅读全文
2017-03-14 22:21 工业·编程 ⁄ 共 12381字 暂无评论
    当 GDB(即 GNU Project Debugger)启动时,它在当前用户的主目录中寻找一个名为 .gdbinit 的文件;如果该文件存在,则 GDB 就执行该文件中的所有命令。通常,该文件用于简单的配置命令,如设置所需的缺省汇编程序格式(Intel® 或 Motorola)或用于显示输入和输出数据的缺省基数(十进制或十六进制)。它还可以读取宏编码语言,从而允许实现更强大的自定义。该语言遵循如下基本格式: define <command>...
阅读全文
首先,网络操作系统和分布式操作系统都支持多台电脑在一个网络区域中通信和管理资源等任务(即网络服务)。这咋一看,这两个哥们还真是一样的。 但是实际上 这两者是有很大区别的,不然分布式这个词怎么就给人感觉那么火那么高深呢!嘿嘿! 区别一:网络操作系统是基于单机计算机操作系统工作的,是为单个计算机提供网络服务的核心技术。而分布式操作系统则不然,分布式操作系统是将分布在不同区域(也就是网络)中的计算机组织...
阅读全文
2017-02-28 09:09 工业·编程 ⁄ 共 422字 暂无评论
1. 在阅读zookeeper源码之前,最好还是先了解下zookeeper的应用场景和客户端的基本用法,这样不至于在阅读源码的时候一头雾水。 2. zookeeper是由客户端和服务端两部分组成,服务端又分为单机版和集群版两种(当然是一份代码)。客户端比较简单,而且调试服务端的时候需要客户端发出请求来配合,所以首先推荐阅读客户端的代码。服务端的集群版比较繁琐,如果有志于对zookeeper源码有较深的了解,对于服务端可以先阅读单机版的...
阅读全文
2017-02-21 04:52 工业·编程 ⁄ 共 7935字 评论 1 条
1.概述 1.1 什么是zookeeper Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式 总结:    Zo...
阅读全文
2017-02-14 04:42 工业·编程 ⁄ 共 2924字 暂无评论
1. 两大关键特性     集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性: ·  可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。 ·  高可用性--集群通过服务实体冗余使客户...
阅读全文
2017-02-07 04:20 工业·编程 ⁄ 共 1324字 暂无评论
一、大白话解说,半分钟就懂,用生活中的例子来说明: 小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。 后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,两个厨师的关系是集群。 为了让厨师专心炒菜,把菜做到极致,再请了个配菜师负责切菜,备菜,备料 ...  厨师和配菜师的关系是分布式。 一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。 一个配菜师因故请假了,但是其余...
阅读全文
2017-01-31 06:45 工业·编程 ⁄ 共 668字 暂无评论
vlc从整体框架上来说,就是设计了一套module管理机制,将功能分类并抽象成modules。例如播放器相关的如demux decoder access output这些都成了vlc的modules。新添加一个功能(新的媒体容器格式demux、新的解码器、新的编码器)只要遵循这套机制,自己完成这个子module就可以了。所以说vlc依赖的是这些modules。没有modules其实啥也干不了。 libVLCcore:  libvlc的核心,抽象出了一个libvlc_instance_t 对象。modules的装...
阅读全文