Distributed operating system: Difference between revisions

Content deleted Content added
JLSjr (talk | contribs)
No edit summary
JLSjr (talk | contribs)
No edit summary
Line 33:
<br /><br />
}}
{| class="wikitable" cellpadding="0" style="border:1.0px solid black;color:#000;margin-left:18em;"
|-
|style="background:#FDEE00;"|[[Image:Nuvola apps korganizer.svg|35px]]
|style="background:#DFFFFF;width:500px;"|'''Near final draft of Lead/Introduction'''<br />&nbsp;&nbsp;&nbsp;[[User:JLSjr|JLSjr]] ([[User talk:JLSjr|talk]]) 09:56, 14 April 2010 (UTC)
|}
{| class="wikitable" cellpadding="0" style="border:1.0px solid black;color:#000;margin-left:18em;"
|-
Line 96 ⟶ 101:
<hr style="width: 80%; height: 2px;">
 
<!-- A '''Distributed operating system''' is the minimal subset of software within a distributed system, which -- considered collectively -- provide all operating system services required to support higher-level components in empowering and maintaining the system. -->
 
A '''Distributed operating system''' is the logical cumulative aggregation of operating system software inwithin a Distributed System. ThisThe softwaredistributed operating system – considered collectively – supportsis the concertedfoundation for coordinated operation of the distributed system’s independent, autonomous, and disseminatedautonomous computational unitsnodes.<ref>Tanenbaum, (Unit)Andrew S. 1993 EachDistributed discreteoperating unitsystems containsanno an1992. allocationWhat ofhave operatingwe systemlearned software,so whichfar? generallyDistributed consistsSystems ofEngineering, two1, distinct1 portions.(1993), 3-10</ref> One portion, theIndividual Kernel,system isnodes aeach distinctcontain minimala discrete subset of the global system’s operating system software. usuallyA commongiven tonode’s system software set reveals a allclean unitsdivisiondevotedboth tophysically theand managementlogically of abetween unit’stwo underlyingdistinct resourcesproviders andof devicesservices.<ref>Nutt, G. TheJ. kernel1992 alsoCentralized supportsand theDistributed unit’sOperating remainingSystems. portionPrentice ofHall system softwarePress.</ref>
 
The first is a minimal, low-level, node-servicing kernel, situated directly above the bare-metal of a node’s hardware. The kernel provides the foundation for all node-level activities. The second is a higher-level collection of system-servicing management components and services, the System Management Servers. This collection of globally-connected management components exists immediately above the microkernel, and below any user applications or APIs that might reside at higher levels.<ref>Distributed Operating Systems: The Logical Design, 1st edition Goscinski, A. 1991 Distributed Operating Systems: the Logical Design. 1st. Addison-Wesley Longman Publishing Co., Inc.</ref> These two entities, the kernel and the management components collection, work together in supporting the distributed operating system’s goal of seamlessly integrating all network-connected resources and functionality into an efficient, accessible, and unified system.<ref>Design of Distributed Operating Systems: Concepts and Technology Fortier, P. J. 1986 Design of Distributed Operating Systems: Concepts and Technology. Intertext Publications, Inc.,/McGraw-Hill, Inc.</ref>
 
This remaining system software at the unit (Unit Operating System), is an ad-hoc collection of discrete system software components, formulated to empower a unit’s operation. The kernel and the unit operating system work together to ensure an individual unit's cooperative and constructive interaction with other distributed system units, and the individual unit’s successful contribution to the policies and expectations of the total system. This collective cooperation, sustained at the operating system level, gives the distributed system its unified appearance.
 
 
== Overview ==
 
As a minimal software composition, a distributed operating system Kernel is often referred to as a Microkernel. The minimal nature of the kernel strongly enhances a distributed system’s modular potential. The kernel’s ubiquitous quality also supports greater system flexibility and scalability. Minimal by design, the microkernel usually contains only mechanisms and services which otherwise, if removed would render a unit and its system incapable. The microkernel primarily provides lower-level resource, process, communication, and I/O management. These services are made possible by the exposure of a comprehensive, yet concise array of primitive mechanisms. Through these primitives, the microkernel supports the higher-level functionality of its local operating system. This clear distinction between the microkernel and local operating system offers a clean separation of mechanism and policy; the difference between what is done, and how or why it is done, respectively. This policy-mechanism schism is critical to a distributed operating system’s potential for ubiquity beyond the purest unit infrastructure homogeneity.
=== The Kernel ===
The Kernel is a minimal, but complete set of node-level utilities necessary for access to a node’s underlying hardware and resources. These mechanisms provide the complete set of “building-blocks” essential for node operation; mainly low-level allocation, management, and disposition of a node’s resources, processes, communication, and I/O management support functions. These functions are made possible by exposing a concise, yet comprehensive array of primitive mechanisms and services. The kernel is arguably the primary consideration in a distributed operating system; however, within the kernel, the subject of foremost importance is that of a well-structured and highly-efficient communications sub-system.<ref>Distributed Operating Systems: The Logical Design, 1st edition Goscinski, A. 1991 Distributed Operating Systems: the Logical Design. 1st. Addison-Wesley Longman Publishing Co., Inc.</ref>
{{Userbox
|border-c=#000
Line 117 ⟶ 124:
|info=A Diagram will be furnished to assist in illustration of this idea.
|float = right}}
In a distributed operating system, the kernel is often defined by a relative to absolute minimal architecture. A Kernel of this design is referred to as a Microkernel.<ref>Using LOTOS for specifying the CHORUS distributed operating system kernel Pecheur, C. 1992. Using LOTOS for specifying the CHORUS distributed operating system kernel. Comput. Commun. 15, 2 (Mar. 1992), 93-102.</ref> <ref>COOL: kernel support for object-oriented environments
A unit’s operating system is largely characterized by its composite nature. The composition of this system software is dictated mainly by the unit’s responsibilities to the overall system. These responsibilities focus principally on the allocation, management, and disposition of system processes and resources in fulfillment of global system policy. The unit operating system participates globally by means of the kernel’s communication services, and the passing of messages in fulfillment of its system-wide obligations. This multi-level collaboration internally between a kernel and a unit operating system and in turn between disparate units in a distributed system is the key functional space of the distributed operating system. However, this function comes at a very high price.
Habert, S. and Mosseri, L. 1990. COOL: kernel support for object-oriented environments. In Proceedings of the European Conference on Object-Oriented Programming on Object-Oriented Programming Systems, Languages, and Applications (Ottawa, Canada). OOPSLA/ECOOP '90. ACM, New York, NY, 269-275.</ref> The microkernel usually contains only mechanisms and services which would, if otherwise removed, render a node or the global system functionally incapable. The minimal nature of the microkernel strongly enhances a distributed operating system’s modular potential.<ref>Distributed Operating Systems: Concepts and Design
Sinha, P. K. 1996 Distributed Operating Systems: Concepts and Design. 1st. Wiley-IEEE Press.</ref> It is generally the case that the kernel is implemented directly on the bare metal of a node’s hardware; it is also common for a kernel to be replicated over all nodes.<ref>Distributed Operating Systems
Galli, D. L. 1999 Distributed Operating Systems: Concepts and Practice. 1st. Prentice Hall PTR.</ref>
{{Userbox
|border-c=#000
|border-s=1
|id-c=LightSteelBlue
|id-s=12
|id-fc=#000
|info-c=#fff
|info-s=8
|info-fc=#000
|id=[[Image:Nuvola apps kchart.svg|40px]]
|info=A Diagram will be furnished to assist in illustration of this idea.
|float = right}}
A well-devised minimal microkernel of functionally-cohesive modular architecture can exhibit an advanced level of flexibility in adapting to heterogeneous hardware, and in supporting different organizational paradigms in higher-level structures; all from a single replicated entity. This ubiquitous quality of a system’s kernel also supports much greater system-level flexibility and scalability. The combination of a kernel’s minimal design and ubiquitous coverage greatly aids in global system extensibility, and the ability to dynamically introduce new nodes or services.<ref>Distributed Operating Systems and Algorithms Chow, R. and Chow, Y. 1997 Distributed Operating Systems and Algorithms. Addison-Wesley Longman Publishing Co., Inc.</ref>
 
=== System Management Components ===
The logical price of realizing a distributed system – including its operating system – must be calculated in terms of overcoming vast amounts of complexity on many levels, and in many areas. This calculation includes the depth, breadth, and range of design investment and architectural planning required in achieving even modest levels of success. These development considerations are critical and unforgiving, as the overwhelming majority of a distributed system’s details require an inordinate completeness of understanding from the start. As an aid in this effort, most rely strongly on the immense amount of documented experience and research accomplished towards distributed computing which exists, and continues today.
A node’s management server collection is defined by the composite of a node’s system software not directly required within the kernel, which support the node’s responsibilities to the overall system. These responsibilities focus principally on transparency or the “system image”; and subsequently on achieving the global system goals of efficiency, flexibility, consistency, and reliability. Transparency, with respect to the traditional operating system is the abstraction of difficult or tedious aspect of a system into a more acceptable or desirable quality.
<br />
{{Userbox
|border-c=#000
Line 133 ⟶ 156:
|info=A Diagram will be furnished to assist in illustration of this idea.
|float = right}}
In a distributed system, the exceptional degree of inherent complexity could easily render the system and its operating system an anathema to any user. As a result, transparency is a critical point of focus in most, if not all areas of the system; namely with respect to performance, failure, access, migration, concurrency, and ___location to mention just a few. Quite often, an effort to realize success in any particular area illuminates conflict with efforts in others. Therefore, a consistent and balanced perspective and understanding of the overall system can help identify points of the diminishing returns quickly.
Many notable experts look to the early 1970s for the earliest distributed systems, complete by definition and capable of being considered wholly. Research and experimentation efforts began in earnest in the mid to late-1970s and continued into the early 1990s, with some implementations achieving modest commercial success. The subject of distributed systems however, has a much richer historical perspective when considering severally some of the individual primordial strides towards distributed computing. There are several instances of fundamental and pioneering implementations of primitive distributed systems and component concepts dating back to the early 1950s. Looking to the modern distributed system and its future, the accelerating proliferation of multiprocessor systems and multi-core processors has led to a re-emergence of the distributed system concept. The inherent challenges in many-core and multiprocessor science has led to an enormous increase in distributed system related research. Many of these research efforts investigate and describe plausible paradigms for the future of distributed computing.
 
=== Together as an Operating System ===
The architecture and design of a distributed operating system is specifically aligned with realizing these goals and transparencies in an attempt to protect the user from the issues arising from the system’s physically separated state. Simply said, a distributed operating system attempts to provide a highly efficient and reliable computing framework with a minimum user awareness of the underlying command and control efforts. The multi-level collaboration between a kernel and management components, and in turn between distinct nodes in a distributed system is the key functional space of the distributed operating system. However, this opportunity comes at a very high price.
{{Userbox
|border-c=#000
|border-s=1
|id-c=LightSteelBlue
|id-s=12
|id-fc=#000
|info-c=#fff
|info-s=8
|info-fc=#000
|id=[[Image:Nuvola apps kchart.svg|40px]]
|info=A Diagram will be furnished to assist in illustration of this idea.
|float = right}}
The logical price of realizing a distributed system – including its operating system – must be calculated in terms of overcoming vast amounts of complexity on many levels, and in many areas. This calculation includes the depth, breadth, and range of design investment and architectural planning required in achieving even modest levels of success. These development considerations are critical and unforgiving, as the overwhelming majority of a distributed system’s details require an inordinate completeness of understanding from the start. As an aid in this effort, most rely strongly on the immense amount of documented experience and research accomplished towards distributed computing which exists, and continues today.
 
Many notable experts look to the early 1970s for the earliest distributed systems, complete by definition and capable of being considered and implemented wholly. Research and experimentation efforts began in earnest in the mid to late-1970s and continued into the early 1990s, with somea few implementations achieving modest commercial success. The subject of distributed operating systems however, has a much richer historical perspective when considering design issues severally with respect to some of the individual primordial strides towards distributed computing. There are several instances of fundamental and pioneering implementations of primitive distributed systemssystem and component concepts dating back to the early 1950s. Looking to the modern distributed system and its future, the accelerating proliferation of multiprocessor systems and multi-core processors has led to a re-emergence of the distributed system concept. The inherent challenges in many-core and multiprocessor science has led to an enormous increase in distributed system related research. Many of these research efforts investigate and describe interesting and plausible paradigms for the future of distributed computing.
 
 
== Description ==