阅读笔记1
这次读了文章《白话解析分布式系统》,对作者的浅显易懂的解释折服了。分布式系统有着自己的特点,比如一方面,我们可以把分布式系统看作计算机科学的扩展或继续,它通常涉及问题解决、任务离散分解以及数据的处理、存储等。但另一方面,分布式系统又完全不像计算机科学,因为分布式计算几乎不考虑计算机本身的运行方式。在处理单机问题时,我们可能觉得一切都很简单,但是如果涉及到多台计算机,这将会变成一个非常棘手的问题。作者是这样解释的:
对于非分布式系统,我们首先会想到的是单一系统,一个完全不与其他系统通讯并且只依靠自己的系统。我们电脑上的一个独立运行的处理器就是一个单一系统。如果一个处理器并不与其他处理器通信,那自然也就不能把它归到其它系统中。我们也可以把这个概念放大到计算机范畴,如果把它断网,则也可以认为是单一系统。但是也有研究做了相反的验证。分布式这个词,意思是分散、离散,将某些东西分散到某一个空间里。如果我们只是考虑字面意思,那么我们可以很自然的将只依靠自己的单一系统归为非分布式系统,毕竟只有一台机器在工作,我们不能将这个单系统再细分。那在这种情形下,究竟什么才算是分布式系统呢?当然,如果我们考虑到现实中电脑的交互方式,我们就会意识到,大多数的电脑其实都属于分布式系统的范畴。电脑只有在很少的情形下单独运行,我们几乎总是在用自己的电脑来访问外部的程序或服务。
某种程度上,分布式系统只不过是相互交流的多个个体,这些个体同时又在执行自己的一些操作。这样的系统可以简单如你房子里智能传感器或无线接口,或是一个能连接你笔记本电脑的无线键盘或鼠标。
而我们所关注的操作系统方面负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。
说到分布式系统就不得不提计算机网络系统。分布式系统和计算机网络系统的共同点是:多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。他们的区别在于:分布式操作系统的设计思想和网络操作系统是不同的,这决定了他们在结构、工作方式和功能上也不同。网络操作系统要求网络用户在使用网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等情况,在网络中如果用户要读一个共享文件时,用户必须知道这个文件放在哪一台计算机的哪一个目录下;分布式操作系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明”的。当用户提交一个作业时,分布式操作系统能够根据需要在系统中选择最合适的处理器,将用户的作业提交到该处理程序,在处理器完成作业后,将结果传给用户。在这个过程中,用户并不会意识到有多个处理器的存在,这个系统就像是一个处理器一样。
文章引用:微信公众号Hollis 百度百科