fbpx
Wikipedia

Harmony (operating system)

Harmony is an experimental computer operating system (OS) developed at the National Research Council Canada in Ottawa. It is a second-generation message passing system that was also used as the basis for several research projects, including robotics sensing and graphical workstation development. Harmony was actively developed throughout the 1980s and into the mid-1990s.

Harmony
DeveloperNational Research Council Canada
Written inC, Assembly language
Working stateDiscontinued
Initial release1985; 39 years ago (1985)
Marketing targetResearch
Available inEnglish
Update methodCompile from source code
PlatformsMotorola 68000 (VMEbus, Multibus), Atari ST (520, 1040), Digital Equipment Corporation VAX
Kernel typeMicrokernel
Preceded byThoth
Succeeded byMessage Queue eXecutive (MQX)

History edit

Harmony was a successor to the Thoth system developed at the University of Waterloo.[1] Work on Harmony began at roughly the same time as that on the Verex kernel developed at the University of British Columbia. David Cheriton was involved in both Thoth and Verex, and would later go on to develop the V System at Stanford University. Harmony's principal developers included W. Morven Gentleman, Stephen A. MacKay, Darlene A. Stewart, and Marceli Wein.[2]

Early ports of the system existed for a variety of Motorola 68000-based computers, including ones using the VMEbus and Multibus backplanes and in particular the Multibus-based Chorus multiprocessor system at Waterloo. Other hosts included the Atari 520 or 1040 ST. A port also existed for the Digital Equipment Corporation VAX.[2]

Harmony achieved formal verification in 1995.[3]

Features edit

Harmony was designed as a real-time operating system (RTOS) for robot control.[2] It is a multitasking, multiprocessing system. It is not multi-user.[2] Harmony provided a runtime system (environment) only; development took place on a separate system, originally an Apple Macintosh. For each processor in the system, an image is created that combines Harmony with the one multitask program for that processor at link time, an exception being a case where the kernel is programmed into a read-only memory (ROM).

Although the term did not appear in the original papers, Harmony was later referred to as a microkernel.[3] A key in Harmony is its use of the term task, which in Harmony is defined as the "unit of sequential and synchronous execution" and "the unit of resource ownership".[2] It is likened to a subroutine, but one that must be explicitly created and which runs independently of the task that created it. Programs are made up of a number of tasks.[2] A task is bound to a specific processor, which may be different from that of the instantiating task and which may host many tasks. All system resources are owned and managed by tasks.

Intertask communication is provided mostly by synchronous message passing and four associated primitives.[2] Shared memory is also supported. Destruction of a task closes all of its connections. Input/output uses a data stream model.

Harmony is connection-oriented in that tasks that communicate with each other often maintain state information about each other. In contrast with some other distributed systems, connections in Harmony are inexpensive.[2]

Applications and tools edit

An advanced debugger called Melody was developed for Harmony at the Advanced Real-Time Toolset Laboratory at Carleton University. It was later commercialized as Remedy.[4]

The Harmony kernel underpinned the Actra project — a multiprocessing, multitasking Smalltalk.[5][6]

Harmony was used in the multitasking, multiprocessor Adagio robotics simulation workstation.[7][8]

Concepts from both Harmony and Adagio influenced the design of the Smalltalk-based Eva event driven user interface builder.[9]

Harmony was used as the underlying OS for several experimental robotic systems.[10][11][12]

Commercial edit

Harmony was commercialized by the Taurus Computer Products division of Canadian industrial computer company Dy4.[13][14][15][16] When Dy4 closed down their software division, four of Taurus' former developers founded Precise Software Technologies and continued developing the OS as Precise/MPX, the predecessor to their later Precise/MQX product.[17]

Another commercial operating system derived from Harmony is the Unison OS from Rowebot Research Inc.[18]

References edit

  1. ^ Tanner, P. P.; Buxton, W. (1985). Some Issues in Future User Interface Management System (UIMS) Development. User Interface Management Systems. Berlin. pp. 67–79.
  2. ^ a b c d e f g h Gentleman, W.M.; MacKay, S.A.; Stewart, D.A.; Wein, M. (February 1989). "Using the Harmony Operating System: Release 3.0". {{cite journal}}: Cite journal requires |journal= (help)
  3. ^ a b Cattel, Thierry (1995). "Modelling and Verification of a Multiprocessor Realtime OS Kernel". In Hogrefe, D.; Leue, S. (eds.). Formal description techniques, VII: proceedings of the 7th IFIP WG 6.1 International Conference on Formal Description Techniques (PDF). IFIP Advances in Information and Communication Technology. Boston, MA: Springer. pp. 55–70. doi:10.1007/978-0-387-34878-0_4. ISBN 978-1-5041-2881-0.
  4. ^ Rowe, P. Kim; Pagurek, B. (1–3 December 1987). "Remedy, A Real-Time Multiprocessor System Level Debugger". Proceedings of the 8th IEEE Real-Time Systems Symposium (RTSS '87). San Jose, Califorinia, USA: IEEE Computer Society. pp. 230–240. ISBN 0-8186-0815-3.
  5. ^ Thomas, Dave; Berry, Brian (July–August 2004). "Using Active Objects for Structuring Service Oriented Architectures Anthropomorphic Programming with Actors" (PDF). Journal of Object Technology. 3 (7): 7. doi:10.5381/jot.2004.3.7.c1.
  6. ^ Duimovich, John (12 January 1989). "Garbage Collection in a Multiprocessor Smalltalk System" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  7. ^ MacKay, Stephen A.; Tanner, Peter P. (1986). "Graphics Tools in Adagio, A Robotics Multitasking Multiprocessor Workstation" (PDF). Graphics Interface Proceedings 1986: 98–103.
  8. ^ "Workstations '85 Session: Robot Simulator from Canada" (PDF). Silicon Gulch Gazette. No. 42. IEEE Computer Society. October 1985. p. 2.
  9. ^ McAffer, Jeff; Thomas, Dave (1 July 1988). "Eva: An Event Driven Framework for Building User Interfaces in Smalltalk". Graphics Interface Proceedings 1986: 168–175.
  10. ^ Green, David; Liscano, Ramiro; Wein, M. (24–26 September 1989). "Real-Time Control of an Autonomous Mobile Robot Using the Harmony Operating System". Proceedings of the Fourth IEEE International Symposium on Intelligent Control. Albany, New York, USA.
  11. ^ Elgazzar, S.; Green, D.; Gentleman, W. M. (14–16 June 1988). "Open System Architecture of a Multiprocessor Robot Controller". Proceedings of the 7th Canadian CAD/CAM and Robotics Conference. Toronto, Ontario.
  12. ^ O'Hara, D. H.; Elgazzar, S.; The, G. (December 1987). "ALTER-Harmony: Control of PUMA Robot from Chorus Multiprocessor". National Research Council of Canada. Ottawa, Ontario. {{cite journal}}: Cite journal requires |journal= (help)
  13. ^ Dryden, Alex (11 July 1988). "Business". The Ottawa Citizen. p. 11.
  14. ^ Rottman, Michael S. (4 March 1991). "A Common Interface Real-Time Multiprocessor Operating System for Embedded Systems" (PDF). (PDF) from the original on March 31, 2021. {{cite journal}}: Cite journal requires |journal= (help)
  15. ^ Bergrman, Rich, ed. (April 1991). "Operating Systems Standards Working Group (OSSWG) Next Generation Computer Resources(NGCR) Program First Annual Report: October 1990" (PDF). (PDF) from the original on March 31, 2021. {{cite journal}}: Cite journal requires |journal= (help)
  16. ^ "The DY-4 Collection at YUCoM — Manuals and Guides". York University Computer Museum. 2018.
  17. ^ luc (29 July 2020). "Mati Arno Sauks February 27 1951 July 25 2020 (age 69)". Canada Obituaries.
  18. ^ Zhu, Ming-Yuan (May 2012). "The Next Hundreds Embedded Real-Time Operating Systems". doi:10.13140/RG.2.2.28990.69445. {{cite journal}}: Cite journal requires |journal= (help)

Further reading edit

  • James, J.; Rowe, K.; Gray, L.; Vishnubhatla, B.; Wan, C. F.; Wilson, M. (1985). "Experience Porting the Harmony Operating System.". Proceedings of the 6th IEEE Real-Time Systems Symposium (RTSS '85). San Diego, California, USA.: IEEE Computer Society. pp. 88–99. ISBN 0-8186-0675-4.
  • Forsey, David R. (1985). "Harmony in transposition: A toccata for Vax and Motorola 68000". {{cite journal}}: Cite journal requires |journal= (help)
  • Parr, R. K. (1986). "TCP/IP Ethernet Support for the Harmony Operating System". University of Waterloo. {{cite journal}}: Cite journal requires |journal= (help)
  • Riese, H. M. (1986). "Towards Harmony on Sylvan". University of Waterloo. {{cite journal}}: Cite journal requires |journal= (help)
  • Wong, Wai Victoria (1987). "Concordia Cum Vaxen: Porting Harmony to the VAX-11/750". {{cite journal}}: Cite journal requires |journal= (help)
  • Roth, G.; O'Hara, D. (May 1987). "A Holdsite Method for Parts Acquisition Using a Laser Rangefinder Mounted on a Robot Wrist". Proceedings of IEEE Conference on Robotics and Automation. Raleigh, NC. pp. 1517–1523.
  • Barry, B. M.; Thomas, D. A.; Altoft, J. R.; Wilson, M. (4–8 October 1987). "Using Objects to Design and Build Radar ESM Systems". Proceedings of the Conference on Object Oriented Programming Systems, Languages and Applications. Vol. 22. Orlando FL. pp. 192–201.
  • O'Hara, D. H. (2–4 February 1988). Multiprocessor Robot Control for Assembly: A Demonstration with Tactile Feedback for Prismatic Shaped Block Insertion. 7th International conference on Robot Vision and Sensory Controls. Zurich, Switzerland.
  • Gentleman, W.; MacKay, S.; Stewart, D. (1988). "An Introduction to the Harmony Realtime Operating System". {{cite journal}}: Cite journal requires |journal= (help)
  • Thoreson, D. V. P. (May 1988). "Harmony Multi-Tasking Runtime Support for the Ada Rendezvous". Royal Military College of Canada. Kingston, Ontario. {{cite journal}}: Cite journal requires |journal= (help)
  • Archibald, C. C.; Gentleman, W. M.; O'Hara, D. H. (14–16 June 1988). "Realtime Feedback Control Using a Laser Range Finder and Harmony". Proceedings of the 7th Canadian CAD/CAM and Robotics Conference. Toronto, Ontario.
  • O'Hara, D. H.; Kurtz, R. "Prismatic-shaped Block Insertion: an Application of a Multiprocessor Robot Controller using Harmony". National Research Council of Canada. Ottawa, Ontario. {{cite journal}}: Cite journal requires |journal= (help)
  • MacKay, S. A.; Gentleman, W. M.; Stewart, D. A.; Wein, M. (26–27 September 1988). "Harmony as an Object-Oriented Operating System". Proceedings of the ACM SIGPLAN Workshop on Object-Oriented Concurrent Programming. Vol. 24. San Diego. pp. 201–203.

harmony, operating, system, confused, with, harmonyos, harmony, experimental, computer, operating, system, developed, national, research, council, canada, ottawa, second, generation, message, passing, system, that, also, used, basis, several, research, project. Not to be confused with HarmonyOS Harmony is an experimental computer operating system OS developed at the National Research Council Canada in Ottawa It is a second generation message passing system that was also used as the basis for several research projects including robotics sensing and graphical workstation development Harmony was actively developed throughout the 1980s and into the mid 1990s HarmonyDeveloperNational Research Council CanadaWritten inC Assembly languageWorking stateDiscontinuedInitial release1985 39 years ago 1985 Marketing targetResearchAvailable inEnglishUpdate methodCompile from source codePlatformsMotorola 68000 VMEbus Multibus Atari ST 520 1040 Digital Equipment Corporation VAXKernel typeMicrokernelPreceded byThothSucceeded byMessage Queue eXecutive MQX Contents 1 History 2 Features 3 Applications and tools 4 Commercial 5 References 6 Further readingHistory editHarmony was a successor to the Thoth system developed at the University of Waterloo 1 Work on Harmony began at roughly the same time as that on the Verex kernel developed at the University of British Columbia David Cheriton was involved in both Thoth and Verex and would later go on to develop the V System at Stanford University Harmony s principal developers included W Morven Gentleman Stephen A MacKay Darlene A Stewart and Marceli Wein 2 Early ports of the system existed for a variety of Motorola 68000 based computers including ones using the VMEbus and Multibus backplanes and in particular the Multibus based Chorus multiprocessor system at Waterloo Other hosts included the Atari 520 or 1040 ST A port also existed for the Digital Equipment Corporation VAX 2 Harmony achieved formal verification in 1995 3 Features editHarmony was designed as a real time operating system RTOS for robot control 2 It is a multitasking multiprocessing system It is not multi user 2 Harmony provided a runtime system environment only development took place on a separate system originally an Apple Macintosh For each processor in the system an image is created that combines Harmony with the one multitask program for that processor at link time an exception being a case where the kernel is programmed into a read only memory ROM Although the term did not appear in the original papers Harmony was later referred to as a microkernel 3 A key in Harmony is its use of the term task which in Harmony is defined as the unit of sequential and synchronous execution and the unit of resource ownership 2 It is likened to a subroutine but one that must be explicitly created and which runs independently of the task that created it Programs are made up of a number of tasks 2 A task is bound to a specific processor which may be different from that of the instantiating task and which may host many tasks All system resources are owned and managed by tasks Intertask communication is provided mostly by synchronous message passing and four associated primitives 2 Shared memory is also supported Destruction of a task closes all of its connections Input output uses a data stream model Harmony is connection oriented in that tasks that communicate with each other often maintain state information about each other In contrast with some other distributed systems connections in Harmony are inexpensive 2 Applications and tools editAn advanced debugger called Melody was developed for Harmony at the Advanced Real Time Toolset Laboratory at Carleton University It was later commercialized as Remedy 4 The Harmony kernel underpinned the Actra project a multiprocessing multitasking Smalltalk 5 6 Harmony was used in the multitasking multiprocessor Adagio robotics simulation workstation 7 8 Concepts from both Harmony and Adagio influenced the design of the Smalltalk based Eva event driven user interface builder 9 Harmony was used as the underlying OS for several experimental robotic systems 10 11 12 Commercial editHarmony was commercialized by the Taurus Computer Products division of Canadian industrial computer company Dy4 13 14 15 16 When Dy4 closed down their software division four of Taurus former developers founded Precise Software Technologies and continued developing the OS as Precise MPX the predecessor to their later Precise MQX product 17 Another commercial operating system derived from Harmony is the Unison OS from Rowebot Research Inc 18 References edit Tanner P P Buxton W 1985 Some Issues in Future User Interface Management System UIMS Development User Interface Management Systems Berlin pp 67 79 a b c d e f g h Gentleman W M MacKay S A Stewart D A Wein M February 1989 Using the Harmony Operating System Release 3 0 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help a b Cattel Thierry 1995 Modelling and Verification of a Multiprocessor Realtime OS Kernel In Hogrefe D Leue S eds Formal description techniques VII proceedings of the 7th IFIP WG 6 1 International Conference on Formal Description Techniques PDF IFIP Advances in Information and Communication Technology Boston MA Springer pp 55 70 doi 10 1007 978 0 387 34878 0 4 ISBN 978 1 5041 2881 0 Rowe P Kim Pagurek B 1 3 December 1987 Remedy A Real Time Multiprocessor System Level Debugger Proceedings of the 8th IEEE Real Time Systems Symposium RTSS 87 San Jose Califorinia USA IEEE Computer Society pp 230 240 ISBN 0 8186 0815 3 Thomas Dave Berry Brian July August 2004 Using Active Objects for Structuring Service Oriented Architectures Anthropomorphic Programming with Actors PDF Journal of Object Technology 3 7 7 doi 10 5381 jot 2004 3 7 c1 Duimovich John 12 January 1989 Garbage Collection in a Multiprocessor Smalltalk System PDF a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help MacKay Stephen A Tanner Peter P 1986 Graphics Tools in Adagio A Robotics Multitasking Multiprocessor Workstation PDF Graphics Interface Proceedings 1986 98 103 Workstations 85 Session Robot Simulator from Canada PDF Silicon Gulch Gazette No 42 IEEE Computer Society October 1985 p 2 McAffer Jeff Thomas Dave 1 July 1988 Eva An Event Driven Framework for Building User Interfaces in Smalltalk Graphics Interface Proceedings 1986 168 175 Green David Liscano Ramiro Wein M 24 26 September 1989 Real Time Control of an Autonomous Mobile Robot Using the Harmony Operating System Proceedings of the Fourth IEEE International Symposium on Intelligent Control Albany New York USA Elgazzar S Green D Gentleman W M 14 16 June 1988 Open System Architecture of a Multiprocessor Robot Controller Proceedings of the 7th Canadian CAD CAM and Robotics Conference Toronto Ontario O Hara D H Elgazzar S The G December 1987 ALTER Harmony Control of PUMA Robot from Chorus Multiprocessor National Research Council of Canada Ottawa Ontario a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Dryden Alex 11 July 1988 Business The Ottawa Citizen p 11 Rottman Michael S 4 March 1991 A Common Interface Real Time Multiprocessor Operating System for Embedded Systems PDF Archived PDF from the original on March 31 2021 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Bergrman Rich ed April 1991 Operating Systems Standards Working Group OSSWG Next Generation Computer Resources NGCR Program First Annual Report October 1990 PDF Archived PDF from the original on March 31 2021 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help The DY 4 Collection at YUCoM Manuals and Guides York University Computer Museum 2018 luc 29 July 2020 Mati Arno Sauks February 27 1951 July 25 2020 age 69 Canada Obituaries Zhu Ming Yuan May 2012 The Next Hundreds Embedded Real Time Operating Systems doi 10 13140 RG 2 2 28990 69445 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Further reading editJames J Rowe K Gray L Vishnubhatla B Wan C F Wilson M 1985 Experience Porting the Harmony Operating System Proceedings of the 6th IEEE Real Time Systems Symposium RTSS 85 San Diego California USA IEEE Computer Society pp 88 99 ISBN 0 8186 0675 4 Forsey David R 1985 Harmony in transposition A toccata for Vax and Motorola 68000 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Parr R K 1986 TCP IP Ethernet Support for the Harmony Operating System University of Waterloo a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Riese H M 1986 Towards Harmony on Sylvan University of Waterloo a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Wong Wai Victoria 1987 Concordia Cum Vaxen Porting Harmony to the VAX 11 750 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Roth G O Hara D May 1987 A Holdsite Method for Parts Acquisition Using a Laser Rangefinder Mounted on a Robot Wrist Proceedings of IEEE Conference on Robotics and Automation Raleigh NC pp 1517 1523 Barry B M Thomas D A Altoft J R Wilson M 4 8 October 1987 Using Objects to Design and Build Radar ESM Systems Proceedings of the Conference on Object Oriented Programming Systems Languages and Applications Vol 22 Orlando FL pp 192 201 O Hara D H 2 4 February 1988 Multiprocessor Robot Control for Assembly A Demonstration with Tactile Feedback for Prismatic Shaped Block Insertion 7th International conference on Robot Vision and Sensory Controls Zurich Switzerland Gentleman W MacKay S Stewart D 1988 An Introduction to the Harmony Realtime Operating System a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Thoreson D V P May 1988 Harmony Multi Tasking Runtime Support for the Ada Rendezvous Royal Military College of Canada Kingston Ontario a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Archibald C C Gentleman W M O Hara D H 14 16 June 1988 Realtime Feedback Control Using a Laser Range Finder and Harmony Proceedings of the 7th Canadian CAD CAM and Robotics Conference Toronto Ontario O Hara D H Kurtz R Prismatic shaped Block Insertion an Application of a Multiprocessor Robot Controller using Harmony National Research Council of Canada Ottawa Ontario a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help MacKay S A Gentleman W M Stewart D A Wein M 26 27 September 1988 Harmony as an Object Oriented Operating System Proceedings of the ACM SIGPLAN Workshop on Object Oriented Concurrent Programming Vol 24 San Diego pp 201 203 Retrieved from https en wikipedia org w index php title Harmony operating system amp oldid 1150018226, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.