माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम: Difference between revisions
(Created page with "{{Short description|Real-time operating system}} {{Infobox OS | name = MicroC/OS (μC/OS) | logo = | caption = | developer = Micrium, Inc.,<br/>Silicon Labs | family = | wo...") |
No edit summary |
||
(19 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Real-time operating system}} | {{Short description|Real-time operating system}} | ||
{{Infobox OS | {{Infobox OS | ||
| name = | | name = माइक्रोसी/ओएस (μC/ओएस) | ||
| logo = | | logo = | ||
| caption = | | caption = | ||
| developer = | | developer = माइक्रियम, इंक.,<br/>Silicon Labs | ||
| family = | | family = | ||
| working state = | | working state = करंट | ||
| source model = [[Open-source software| | | source model = [[Open-source software|खुला स्त्रोत]] के रूप में 2020 | ||
| released = {{Start date and age|1991}} | | released = {{Start date and age|1991}} | ||
| latest release version = | | latest release version = ओएस-III | ||
| latest release date = {{Start date and age|2016}} | | latest release date = {{Start date and age|2016}} | ||
| repo = {{URL|https:// | | repo = {{URL|https://गितहब.कॉम/वेस्टन-एंबेडेड/यूसी-ओएस3}} | ||
| marketing target = [ | | marketing target = [एम्बेडेड डिवाइस]] | ||
| programmed in = [[ | | programmed in = [[एएनएसआई सी]] | ||
| language = | | language = अंग्रेज़ी | ||
| supported platforms = [[ARM Cortex-M#Cortex-M3|ARM Cortex-M3]], [[ARM Cortex-M#Cortex-M4|-M4F]], [[ARM7#ARM7TDMI|ARM7TDMI]]; [[Atmel AVR]]; [[eSi-RISC]], and many others | | supported platforms = [[ARM Cortex-M#Cortex-M3|ARM Cortex-M3]], [[ARM Cortex-M#Cortex-M4|-M4F]], [[ARM7#ARM7TDMI|ARM7TDMI]]; [[Atmel AVR]]; [[eSi-RISC]], and many others | ||
| kernel type = [[Real-time operating system| | | kernel type = [[Real-time operating system|वास्तविक-समय]] [[माइक्रोकर्नेल]] | ||
| ui = | | ui = μसी/[[Graphical user interface|जीयूआई]] | ||
| license = [[Apache License| | | license = [[Apache License|अपेक]] के रूप में 2020; former [[Commercial software|Commercial]], [[freeware]] education use | ||
| website = {{URL|https:// | | website = {{URL|https://वेस्टन-एम्बेडेड.कॉम/माइक्रोरियम/अवलोकन}} | ||
}} | }} | ||
{{Infobox OS | {{Infobox OS | ||
| name = | | name = माइक्रियम ओएस | ||
| logo = | | logo = | ||
| caption = | | caption = | ||
| developer = | | developer = सिलिकॉन प्रयोगशाला | ||
| family = | | family = | ||
| working state = | | working state = करंट | ||
| source model = [[Open-source software| | | source model = [[Open-source software|खुला स्त्रोत]] | ||
| released = {{Start date and age|2020}} | | released = {{Start date and age|2020}} | ||
| latest release version = Part of Gecko Platform 4.2.0.0,<ref>{{cite web|url=https://www.silabs.com/documents/public/release-notes/gecko-platform-release-notes-4.2.0.0.pdf|title=Gecko Platform 4.2.0.0 GA|access-date=2023-01-04|date=2022-12-14}}</ref> part of Gecko SDK 4.2.0.0<ref>{{cite web|url=https://github.com/SiliconLabs/gecko_sdk/releases|title=gecko_sdk Releases on github.com|website=[[GitHub]] |access-date=2023-01-04}}</ref> | | latest release version = Part of Gecko Platform 4.2.0.0,<ref>{{cite web|url=https://www.silabs.com/documents/public/release-notes/gecko-platform-release-notes-4.2.0.0.pdf|title=Gecko Platform 4.2.0.0 GA|access-date=2023-01-04|date=2022-12-14}}</ref> part of Gecko SDK 4.2.0.0<ref>{{cite web|url=https://github.com/SiliconLabs/gecko_sdk/releases|title=gecko_sdk Releases on github.com|website=[[GitHub]] |access-date=2023-01-04}}</ref> | ||
| latest release date = {{Start date and age|2022|12|14}} | | latest release date = {{Start date and age|2022|12|14}} | ||
| repo = {{URL|https://github.com/SiliconLabs/gecko_sdk/tree/gsdk_4.2/platform/micrium_os}} | | repo = {{URL|https://github.com/SiliconLabs/gecko_sdk/tree/gsdk_4.2/platform/micrium_os}} | ||
| marketing target = [[ | | marketing target = [[एंबेडेड डिवाइस]] | ||
| programmed in = [[ | | programmed in = [[एएनएसआई सी]] | ||
| language = | | language = अंग्रेज़ी | ||
| supported platforms = | | supported platforms = विशेष रूप से सिलिकॉन प्रयोगशाला सिलिकॉन | ||
| kernel type = [[Real-time operating system| | | kernel type = [[Real-time operating system|वास्तविक-समय]] [[माइक्रोकर्नेल]] | ||
| license = [[Apache License| | | license = [[Apache License|अपेक]] | ||
| website = {{URL|https:// | | website = {{URL|https://डब्लूडब्लूडब्लू.सीलैब्स.कॉम/डेवलपर्स/माइक्रोरियम-ओएस}} | ||
}} | }} | ||
{{Infobox OS | {{Infobox OS | ||
| name = | | name = सीज़ियम आरटीओएस | ||
| logo = | | logo = | ||
| caption = | | caption = | ||
| developer = | | developer = वेस्टन एंबेडेड सॉल्यूशंस | ||
| family = | | family = | ||
| working state = | | working state = करंट | ||
| source model = [[Commercial software| | | source model = [[Commercial software|व्यावसायिक]] | ||
| released = {{Start date and age|2020|06|23}} (forked from uC/OS-III V3.08.00)<ref name=cesium_changelog>{{cite web|url=https://weston-embedded.com/cesium-release-notes/cs-os3-release-notes|title=Cs/OS3 Release Notes|publisher= Weston Embedded Solutions}}</ref> | | released = {{Start date and age|2020|06|23}} (forked from uC/OS-III V3.08.00)<ref name=cesium_changelog>{{cite web|url=https://weston-embedded.com/cesium-release-notes/cs-os3-release-notes|title=Cs/OS3 Release Notes|publisher= Weston Embedded Solutions}}</ref> | ||
| latest release version = | | latest release version = सीएस/ओएस3 3.09.01<ref name=cesium_changelog /> | ||
| latest release date = {{Start date and age|2022|12|21}}<ref name=cesium_changelog /> | | latest release date = {{Start date and age|2022|12|21}}<ref name=cesium_changelog /> | ||
| marketing target = [[ | | marketing target = [[एंबेडेड डिवाइस]] | ||
| programmed in = [[ | | programmed in = [[एएनएसआई सी]] | ||
| language = | | language = अंग्रेज़ी | ||
| supported platforms = 50+ | | supported platforms = 50+ यह स्पष्ट नहीं है कि μC/OS के साथ 1-टू-1 ओवरलैप है या नहीं | ||
| kernel type = [[Real-time operating system| | | kernel type = [[Real-time operating system|वास्तविक-समय]] [[माइक्रोकर्नेल]] | ||
| license = [[Commercial software| | | license = [[Commercial software|व्यावसायिक]] | ||
| website = {{URL| | | website = {{URL|वेस्टन-एम्बेडेड.कॉम/उत्पाद/सीज़ियम}} | ||
}} | }} | ||
माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम ( | ''' माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम''' (माइक्रोसी/ओएस, जिसे '''μ सी/ओएस''' या '''माइक्रीम ओएस''' के रूप में शैलीबद्ध किया गया है) [[रीयल-टाइम ऑपरेटिंग सिस्टम|वास्तविक-समय ऑपरेटिंग प्रणाली]] (आरटीओएस) होता है, जिसे सन्न 1991 में जीन जे. लेब्रोस द्वारा डिज़ाइन किया गया था। इस प्रकार यह प्राथमिकता-आधारित प्रीमेशन (कंप्यूटिंग) वास्तविक कर्नेल है। चूँकि [[माइक्रोप्रोसेसर]] के लिए वास्तविक-समय कर्नेल, अधिकांशतः प्रोग्रामिंग भाषा [[सी (प्रोग्रामिंग भाषा)]] में लिखा जाता है। [[ अंतः स्थापित प्रणाली |अंतः]] यह [[ अंतः स्थापित प्रणाली |स्थापित प्रणाली]] में उपयोग के लिए होता है। | ||
माइक्रोसी/ओएस सी में अनेक कार्यों को परिभाषित करने की अनुमति देता है, जिनमें से प्रत्येक स्वतंत्र थ्रेड या कार्य के रूप में निष्पादित हो सकता है। प्रत्येक कार्य भिन्न प्राथमिकता पर चलता है और ऐसे चलता है जैसे कि वह [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू) का मालिक होता है। इस प्रकार कम प्राथमिकता वाले कार्यों को किसी भी समय उच्च प्राथमिकता वाले कार्यों से छूट दी जा सकती है। चूँकि उच्च प्राथमिकता वाले कार्य निम्न प्राथमिकता वाले कार्यों को निष्पादित करने की अनुमति देने के लिए ऑपरेटिंग प्रणाली (ओएस) सेवाओं (जैसे देरी या घटना) का उपयोग करते हैं। अतः ओएस सेवाएं कार्यों और मेमोरी के प्रबंधन कार्यों के मध्य संचार और समय निर्धारण के लिए प्रदान की जाती हैं।<ref>{{cite web |url=http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/ |title=NiosII GCC with MicroC/OS |author=<!--Unstated--> |date=June 2006 |website=School of Electrical and Computer Engineering |publisher=Cornell University |access-date=25 April 2017}}</ref> | |||
== इतिहास == | == इतिहास == | ||
माइक्रोसी/ओएस कर्नेल मूल रूप से एंबेडेड प्रणाली प्रोग्रामिंग पत्रिका में तीन-भाग वाले लेख और लेब्रोसे की पुस्तक द्वारा μ सी/ओएस वास्तविक-समय कर्नेल में प्रकाशित किया गया था।<ref>{{cite book |last=Labrosse |first=Jean J. |date=15 June 2002 |title=μC/OS The Real-Time Kernel |edition=2nd |publisher=CRC Press |isbn=978-1578201037}}</ref> उन्होंने पहले अपने स्वयं के उपयोग के लिए विकसित [[सॉफ्टवेयर पोर्टेबिलिटी]] ओएस के आंतरिक विवरण का वर्णन किया था, जिसे उन्होंने अपने उपयोग के लिए विकसित किया था, किन्तु बाद में इसे संस्करण II और III में अपनी कंपनी माइक्रियम, इंक में वाणिज्यिक उत्पाद के रूप में विकसित किया गया था। | |||
सन्न 2016 में माइक्रीम, इंक को सिलिकॉन प्रयोगशालाओं द्वारा अधिग्रहण किया गया था<ref>{{cite web|url=https://weston-embedded.com/about-micrium|title=What is Micrium?|access-date=2023-01-04|publisher=Weston Embedded Solutions}}</ref> और इसे बाद में [[अपाचे लाइसेंस]] के अनुसार खुले स्त्रोत के रूप में जारी किया गया था। | |||
== | सिलिकॉन प्रयोगशाला अपने स्वयं के सिलिकॉन पर उपयोग के लिए माइक्रीम ओएस नामक खुला स्त्रोत उत्पाद को बनाए रखना जारी रखती है<ref>{{cite web|url=https://www.silabs.com/developers/micrium|title=माइक्रोरियम सॉफ्टवेयर और दस्तावेज़ीकरण|access-date=2023-01-04}}</ref> और माइक्रीम, इंक. के पूर्व कर्मचारियों का समूह (प्रयोगशाला्रोस सहित) μ सी/ओएसऔर सीज़ियम आरटीओएस दोनों के लिए परामर्श और सहायता प्रदान करता है। इस प्रकार खुले स्त्रोत रिलीज के ठीक पश्चात् मालिकाना फोर्क समर्थन प्रदान करता है।<ref>{{cite web|url=https://weston-embedded.com/why-cesium|title=Why Cesium RTOS?|access-date=2023-01-04|publisher= Weston Embedded Solutions}}</ref> | ||
==μ सी/ओएस-II == | |||
μ सी/ओएस के लिए लिखे गए स्रोत कोड के आधार पर और सन्न 1998 में वाणिज्यिक उत्पाद के रूप में प्रस्तुत किया गया था, अतः μ सी/ओएस-II सॉफ्टवेयर सुवाह्यता, रोम-सक्षम, [[ मापनीय |मापनीय]] , रिक्तिपूर्व, वास्तविक-समय, नियतात्मक, मल्टीटास्किंग [[कर्नेल (ऑपरेटिंग सिस्टम)|कर्नेल (ऑपरेटिंग प्रणाली)]] है। इस प्रकार माइक्रोप्रोसेसरों और [[डिजिटल सिग्नल प्रोसेसर]] (डीएसपी) के लिए यह 64 कार्यों तक का प्रबंधन करता है। इसके आकार को केवल किसी दिए गए उपयोग के लिए आवश्यक सुविधाओं को सम्मिलित करने के लिए (5 और 24 किलोबाइट्स के मध्य) बढ़ाया जा सकता है। | |||
अधिकांश | अधिकांश μ सी/ओएस-II अत्यधिक पोर्टेबल [[ANSI C|एएनएसआई सी]] में लिखे गए हैं, जिसमें लक्ष्य माइक्रोप्रोसेसर-विशिष्ट कोड असेंबली भाषा में लिखा गया है। इस प्रकार अन्य प्रोसेसर [[ में porting |पोर्टिंग]] को सुविधाजनक बनाने के लिए बाद वाले का उपयोग कम से कम किया जाता है। | ||
=== एम्बेडेड | === एम्बेडेड प्रणाली में उपयोग === | ||
μ सी/ओएस-II एम्बेडेड उपयोगों के लिए डिज़ाइन किया गया था। यदि निर्माता के समीप उचित उपकरण श्रृंखला (अर्थात्, सी कंपाइलर, असेंबलर और लिंकर-लोकेटर) होते है, तब μसी/ओएस-II को उत्पाद के भाग के रूप में एम्बेड किया जा सकता है। | |||
μ सी/ओएस-II का उपयोग अनेक एम्बेडेड प्रणाली में किया जाता है, जिनमें निम्न प्रणाली सम्मिलित होती हैं। | |||
* [[वैमानिकी]] | * [[वैमानिकी]] | ||
* चिकित्सा उपकरण और उपकरण | * चिकित्सा उपकरण और उपकरण | ||
Line 92: | Line 88: | ||
=== टास्क स्टेट्स === | === टास्क स्टेट्स === | ||
μ सी/ओएस-II [[कंप्यूटर मल्टीटास्किंग]] ऑपरेटिंग प्रणाली होती है। चूँकि प्रत्येक कार्य अनंत लूप होते है और निम्नलिखित पांच अवस्थाओं में से किसी में हो सकता है। (नीचे चित्र देखें) | |||
*प्रसुप्त | *प्रसुप्त | ||
*तैयार | *तैयार | ||
*दौड़ना | *दौड़ना | ||
* प्रतीक्षा ( | * प्रतीक्षा (घटना के लिए) | ||
*बाधित ([[इंटरप्ट हैंडलर]] ( | *बाधित ([[इंटरप्ट हैंडलर]] (आईएसआर)) | ||
इसके | इसके अतिरिक्त, यह 64 कार्यों तक का प्रबंधन कर सकता है। चूँकि, यह अनुशंसा की जाती है कि इनमें से आठ कार्यों को μ सी/ओएस-II के लिए आरक्षित किया जाता है, अतः एप्लिकेशन को 56 कार्यों तक छोड़ दिया जाता है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=77|edition=2nd}}</ref> | ||
=== कर्नेल === | |||
कर्नेल (ऑपरेटिंग प्रणाली) उस प्रोग्राम को दिया गया नाम होता है, जो ऑपरेटिंग प्रणाली के अधिकांश गृह व्यवस्था का कार्य करता है। इस प्रकार बूट लोडर कर्नेल को नियंत्रित करता है, जो विभिन्न उपकरणों को ज्ञात अवस्था में प्रारंभ करता है और कंप्यूटर को सामान्य संचालन के लिए तैयार करता है।<ref>[[Wikiversity:Operating Systems/Kernel Models#Monolithic Kernel]]</ref> जिससे कि कर्नेल कार्यों के प्रबंधन (अर्थात्, सीपीयू के समय के प्रबंधन के लिए) और कार्यों के मध्य संचार करने के लिए भागीदार होते है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=39|edition=2nd}}</ref> अतः कर्नेल द्वारा प्रदान की जाने वाली मूलभूत सेवा [[संदर्भ स्विच|संदर्भ स्विचिंग]] होती है। | |||
=== | |||
कर्नेल (ऑपरेटिंग | |||
[[अनुसूचक]] कर्नेल का वह | [[अनुसूचक]] कर्नेल का वह भाग होता है जो यह निर्धारित करने के लिए भागीदार होता है कि कौन सा कार्य आगे चलता है।<ref name="LabrosseP40">{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=40|edition=2nd}}</ref> अधिकांश वास्तविक-समय कर्नेल प्राथमिकता आधारित होते हैं। इस प्रकार प्राथमिकता-आधारित कर्नेल में, सीपीयू का नियंत्रण हमेशा चलने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को दिया जाता है। चूँकि दो प्रकार की प्राथमिकता-आधारित कर्नेल उपस्तिथ हैं। अतः कंप्यूटर मल्टीटास्किंग सहकारी मल्टीटास्किंग गैर-रिक्तिपूर्व और प्रीमेशन (कंप्यूटिंग) अप्रतिबंधित कर्नेल की आवश्यकता होती है कि प्रत्येक कार्य सीपीयू के नियंत्रण को स्पष्ट रूप से छोड़ने के लिए कुछ करते है।<ref name="LabrosseP40" /> रिक्तिपूर्व कर्नेल का उपयोग तब किया जाता है जब प्रणाली प्रतिक्रिया अधिक महत्वपूर्ण होती है। इस प्रकार, μ सी/ओएस-II और अधिकांश व्यावसायिक वास्तविक-समय कर्नेल रिक्तिपूर्व होते हैं।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=42|edition=2nd}}</ref> इस प्रकार चलाने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को हमेशा सीपीयू का नियंत्रण दिया जाता है। | ||
=== कार्य सौंपना === | === कार्य सौंपना === | ||
निष्पादन की उच्चतम दर वाले कार्यों को [[दर-मोनोटोनिक शेड्यूलिंग]] का उपयोग करके सर्वोच्च प्राथमिकता दी जाती है।<ref>{{cite journal|last1=Liu|first1=Chung Lang|last2=Layland|first2=James W.|title=एक कठिन रीयल-टाइम वातावरण में मल्टीप्रोग्रामिंग के लिए शेड्यूलिंग एल्गोरिदम|journal=Journal of the ACM |volume=20|issue=1|pages=46–61|doi=10.1145/321738.321743|year=1973|citeseerx=10.1.1.36.8216|s2cid=59896693 }}</ref> यह | निष्पादन की उच्चतम दर वाले कार्यों को [[दर-मोनोटोनिक शेड्यूलिंग|दर-मोनोटोनिक योजनाबद्धता]] का उपयोग करके सर्वोच्च प्राथमिकता दी जाती है।<ref>{{cite journal|last1=Liu|first1=Chung Lang|last2=Layland|first2=James W.|title=एक कठिन रीयल-टाइम वातावरण में मल्टीप्रोग्रामिंग के लिए शेड्यूलिंग एल्गोरिदम|journal=Journal of the ACM |volume=20|issue=1|pages=46–61|doi=10.1145/321738.321743|year=1973|citeseerx=10.1.1.36.8216|s2cid=59896693 }}</ref> यह योजनाबद्धता एल्गोरिदम वास्तविक-समय ऑपरेटिंग प्रणाली (आरटीओएस) में [[स्थिर-प्राथमिकता शेड्यूलिंग वर्ग|स्थिर-प्राथमिकता योजनाबद्धता वर्ग]] के साथ उपयोग किया जाता है।<ref>{{cite web|last1=Bovet |first1=Daniel |title=लिनक्स कर्नेल को समझना|url=http://oreilly.com/catalog/linuxkernel/chapter/ch10.html#85347 |url-status=dead |archiveurl=https://web.archive.org/web/20140921000832/http://oreilly.com/catalog/linuxkernel/chapter/ch10.html |archivedate=2014-09-21 }}</ref> | ||
=== कार्यों का प्रबंधन === | |||
[[ कम्प्यूटिंग |कम्प्यूटिंग]] में, कार्य निष्पादन की इकाई होती है। चूँकि कुछ [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] में, कार्य [[प्रक्रिया (कंप्यूटिंग)]] का पर्याय होता है, अतः दूसरों में [[थ्रेड (कंप्यूटिंग)]] के साथ [[ प्रचय संसाधन |प्रचय संसाधन]] कंप्यूटर प्रणाली में, कार्य [[जॉब स्ट्रीम]] के अंदर निष्पादन की इकाई होती है। | |||
μ सी/ओएस-II का प्रणाली उपयोगकर्ता निम्नलिखित विशेषताओं का उपयोग करके कार्यों को नियंत्रित करने में सक्षम होता है। | |||
* कार्य सुविधा | * कार्य सुविधा | ||
*कार्य निर्माण | *कार्य निर्माण | ||
Line 118: | Line 111: | ||
* टास्क विलोपन | * टास्क विलोपन | ||
* किसी कार्य की प्राथमिकता बदलें | * किसी कार्य की प्राथमिकता बदलें | ||
* निलंबित करें और किसी कार्य को फिर से | * निलंबित करें और किसी कार्य को फिर से प्रारंभ करें | ||
* किसी कार्य के बारे में जानकारी प्राप्त करें<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=45–49|edition=2nd}}</ref> | * किसी कार्य के बारे में जानकारी प्राप्त करें<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=45–49|edition=2nd}}</ref> | ||
=== स्मृति प्रबंधन === | === स्मृति प्रबंधन === | ||
[[विखंडन (कंप्यूटिंग)]] से बचने के लिए, | [[विखंडन (कंप्यूटिंग)]] से बचने के लिए, μ सी/ओएस-II अनुप्रयोगों को मेमोरी प्रबंधन (ऑपरेटिंग प्रणाली) से निश्चित आकार के मेमोरी ब्लॉक प्राप्त करने की अनुमति देता है। इस प्रकार सभी मेमोरी ब्लॉक समान आकार के होते हैं और विभाजन में ब्लॉक की अभिन्न संख्या होती है। इन मेमोरी ब्लॉकों का आवंटन और विलोपन निरंतर समय में किया जाता है और यह [[नियतात्मक प्रणाली]] होती है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=273–285|edition=2nd}}</ref> | ||
=== समय प्रबंधन === | |||
μ सी/ओएस-II के लिए यह आवश्यक होता है कि समय की देरी और समयआउट का ट्रैक रखने के लिए आवधिक समय स्रोत प्रदान किया जाता है। इस प्रकार टिक 10 से 1000 बार प्रति सेकंड या [[ हेटर्स |हेटर्स]] के मध्य होता है। जिससे कि तेज़ टिक दर, अधिक [[ओवरहेड (कंप्यूटिंग)]] μ सी/ओएस-II प्रणाली पर लगाता है। चूँकि घड़ी की टिक-टिक की आवृत्ति किसी एप्लिकेशन के वांछित टिक संकल्प पर निर्भर करती है। इस प्रकार टिक स्रोत हार्डवेयर समयर समर्पित करके या [[प्रत्यावर्ती धारा]] (ए सी) विद्युत रेखा (50 या 60 हर्ट्ज) सिग्नल से व्यवधान उत्पन्न करके प्राप्त किया जा सकता है। इस आवधिक समय स्रोत को घड़ी की टिक-टिक कहा जाता है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=145–152|edition=2nd}}</ref> | |||
घड़ी की टिक निर्धारित होने के पश्चात्, कार्य निम्न हो सकते हैं। | |||
*किसी कार्य में देरी करना | |||
* रुके हुए कार्य को पुनः प्रारंभ करें | |||
=== | === कार्यों के मध्य संचार === | ||
μ सी/ओएस-II में इंटरटास्क या इंटरप्रोसेस संचार होता है। इस प्रकार [[सेमाफोर (प्रोग्रामिंग)]], संदेश मेलबॉक्स, संदेश कतार, कार्य और अन्तरायन प्रहस्तक (आईएसआर) जब कोई कार्य या आईएसआर घटना नियंत्रण बाधा (ईसीबी) नामक कर्नेल ऑब्जेक्ट के माध्यम से किसी कार्य को संकेत देता है तब वह एक-दूसरे के साथ बातचीत कर सकते हैं। अतः संकेत को घटना माना जाता है। | |||
== | ==μ सी/ओएस-III == | ||
μ सी/ओएस-III माइक्रो-कंट्रोलर ऑपरेटिंग प्रणाली वर्जन 3 का संक्षिप्त रूप होता है, जिसे सन्न 2009 में प्रस्तुत किया गया था और μ सी/ओएस-II आरटी ओएस में कार्यक्षमता जोड़ता है। | |||
==μC/OS-III == | μ सी/ओएस-III μ सी/ओएस-II की सभी विशेषताएं और कार्य प्रदान करता है। जिससे कि सबसे बड़ा अंतर समर्थित कार्यों की संख्या होती है। इस प्रकार μ सी/ओएस-II अधिकतम 255 कार्यों के लिए 255 प्राथमिकता स्तरों में से प्रत्येक पर केवल 1 कार्य की अनुमति देता है। चूँकि μ सी/ओएस-III किसी भी संख्या में एप्लिकेशन कार्यों, प्राथमिकता स्तरों और प्रति स्तर कार्यों की अनुमति देता है, अतः केवल मेमोरी तक प्रोसेसर पहुंच द्वारा सीमित होता है।<ref>{{cite web |url=http://micrium.com/rtos/ucosiii/rtos-comparison/ |title=μC/OS-II and μC/OS-III Features Comparison |website=Micrium}}</ref><ref>{{cite web |url=http://micrium.com/rtos/ucosiii/overview/ |title=μC/OS-III overview |website=Micrium}}</ref> | ||
μC/OS-III | |||
μ सी/ओएस-II और μ सी/ओएस-III का रखरखाव वर्तमान में सिलिकॉन प्रयोगशाला की सहायक कंपनी माइक्रियम, इंक. द्वारा किया जाता है और इसे प्रति उत्पाद या प्रति उत्पाद रेखा के लिए अनुज्ञप्ति प्राप्त किया जा सकता है। | |||
===एम्बेडेड | ===एम्बेडेड प्रणाली में उपयोग === | ||
उपयोग | इसका उपयोग μ सी/ओएस-II के समान ही होता हैं। | ||
=== टास्क स्टेट्स === | === टास्क स्टेट्स === | ||
μ सी/ओएस-III कंप्यूटर मल्टीटास्किंग ऑपरेटिंग प्रणाली होती है, जिसमे प्रत्येक कार्य अनंत लूप होते है और पांच अवस्थाओं में से किसी में हो सकता है (निष्क्रिय, तैयार, चल रहा है, बाधित, या लंबित)। इस प्रकार कार्य प्राथमिकताएं 0 (सर्वोच्च प्राथमिकता) से लेकर अधिकतम 255 (न्यूनतम संभव प्राथमिकता) तक हो सकती हैं। | |||
=== [[राउंड रॉबिन शेड्यूलिंग]] === | === [[राउंड रॉबिन शेड्यूलिंग|राउंड रॉबिन योजनाबद्धता]] === | ||
जब दो या दो से अधिक कार्यों की समान प्राथमिकता होती है, | जब दो या दो से अधिक कार्यों की समान प्राथमिकता समान होती है, तब कर्नेल कार्य को पूर्व निर्धारित समय के लिए चलने की अनुमति देता है, जिसे क्वांटम कहा जाता है और फिर दूसरे कार्य का चयन करता है। इस प्रक्रिया को राउंड रॉबिन योजनाबद्धता या समय के भाग करने की क्रिया होती है। इस प्रकार कर्नेल अगले कार्य को रेखा में नियंत्रण देता है यदि, | ||
* | *उपस्तिथा टास्क में समय स्लाइस के समय करने के लिए कोई कार्य नहीं है, या | ||
* वर्तमान कार्य अपने समय के अंत से पहले | * वर्तमान कार्य अपने समय के अंत से पहले पूर्ण हो जाता है, या | ||
* समय का टुकड़ा समाप्त होता है। | * समय का टुकड़ा समाप्त होता है। | ||
=== | === कर्नेल === | ||
μ सी/ओएस-III के लिए कर्नेल कार्यक्षमता μ सी/ओएस-II के समान होता है। | |||
=== कार्यों का प्रबंधन === | === कार्यों का प्रबंधन === | ||
कार्य प्रबंधन भी | कार्य प्रबंधन भी μ सी/ओएस-II के समान कार्य करता है। चूँकि, μ सी/ओएस-III मल्टीटास्किंग का समर्थन करता है और किसी एप्लिकेशन को किसी भी संख्या में कार्य करने की अनुमति देता है। इस प्रकार प्रोसेसर के लिए उपलब्ध कंप्यूटर मेमोरी (कोड और डेटा स्थान दोनों) की मात्रा से ही कार्यों की अधिकतम संख्या सीमित होती है। | ||
सामान्यतः कार्य को निर्धारित पूर्णता तक चलने के माध्यम से कार्यान्वित किया जा सकता है, जिसमें कार्य समाप्त होने पर स्वयं को हटा देता है या अधिक विशिष्ट रूप से अनंत लूप के रूप में, घटनाओं के होने की प्रतीक्षा में और उन घटनाओं को संसाधित करता है। | |||
=== | === मेमोरी प्रबंधन === | ||
मेमोरी प्रबंधन उसी | मेमोरी प्रबंधन μ सी/ओएस-II की उसी प्रकार से किया जाता है। | ||
=== समय प्रबंधन === | === समय प्रबंधन === | ||
μ सी/ओएस-III μ सी/ओएस-II के समान समय प्रबंधन सुविधाएँ प्रदान करता है। यह एप्लिकेशन को सेवाएं भी प्रदान करता है, जिससे कि कार्य उपयोगकर्ता द्वारा परिभाषित समय विलंब के लिए उनके निष्पादन को निलंबित कर सकता है। इस प्रकार देरी या तब घड़ी की टिक या घंटे, मिनट, सेकंड और [[मिलीसेकंड]] की संख्या से निर्दिष्ट होती है। | |||
=== कार्यों के | === कार्यों के मध्य संचार === | ||
कभी-कभी, | कभी-कभी, कार्य या आईएसआर को दूसरे कार्य के लिए सूचना का संचार किया जाता है, जिससे कि विशिष्ट डेटा या हार्डवेयर संसाधन को साथ एक्सेस करना दो कार्यों के लिए असुरक्षित होता है। इसे सूचना हस्तांतरण के माध्यम से हल किया जा सकता है, जिसे अंतर-कार्य संचार कहा जाता है। इस प्रकार सूचनाओं को कार्यों के मध्य दो विधियों से वैश्विक डेटा के माध्यम से, या संदेश भेजकर संप्रेषित किया जा सकता है। | ||
वैश्विक चर का उपयोग करते समय, प्रत्येक कार्य या | वैश्विक चर का उपयोग करते समय, प्रत्येक कार्य या आईएसआर को यह सुनिश्चित किया जाता है कि उसके समीप चरों तक विशेष पहुंच होती है। यदि कोई आईएसआर सम्मिलित होता है, तब सामान्य चरों के लिए अनन्य पहुँच सुनिश्चित करने का एकमात्र विधि व्यवधानों को अक्षम करना होता है। यदि दो कार्य डेटा साझा करते हैं, तब प्रत्येक इंटरप्ट्स को अक्षम करके, शेड्यूलर को लॉक करके, सेमाफोर (प्रोग्रामिंग) का उपयोग करके या अधिमानतः, पारस्परिक बहिष्करण सेमाफोर का उपयोग करके चर के लिए विशेष पहुंच प्राप्त कर सकता है। इस प्रकार संदेश या तो मध्यवर्ती वस्तु को भेजा जा सकता है, जिसे संदेश कतार कहा जाता है, या सीधे कार्य के लिए होता है। चूंकि μ सी/ओएस-III में, प्रत्येक कार्य की अपनी अंतर्निहित संदेश कतार होती है। यदि संदेशों के लिए प्रतीक्षा करने के लिए एकाधिक कार्य होता हैं, तब बाहरी संदेश कतार का उपयोग होता है। यदि केवल कार्य प्राप्त डेटा को संसाधित करता है, तब सीधे कार्य को संदेश भेज सकता है। जबकि कार्य किसी संदेश के आने की प्रतीक्षा करता है, यह सीपीयू समय का उपयोग नहीं करता है। | ||
== पोर्ट्स == | == पोर्ट्स == | ||
पोर्ट में तीन पहलू सीपीयू, ओएस और बोर्ड विशिष्ट (बीएसपी) कोड सम्मिलित होते हैं। इस प्रकार μ सी/ओएस-II और μ सी/ओएस-III के समीप बाजार में सबसे लोकप्रिय प्रोसेसर और बोर्ड के लिए पोर्ट होते हैं और [[सुरक्षा महत्वपूर्ण]] एम्बेडेड प्रणाली जैसे विमानन, चिकित्सा प्रणाली और परमाणु प्रतिष्ठानों में उपयोग के लिए उपयुक्त होते हैं। इस प्रकार μ सी/ओएस-III पोर्ट में तीन कर्नेल विशिष्ट फाइलों की सामग्री को लिखना या परिवर्तित करना सम्मिलित होता है। <code>ओएस_सीपीयू.एच</code>, <code>ओएस_सीपीयू_ए.एएसएम</code> और <code>ओएस_सीपीयू_ सी. सी</code>. अंत में उपयोग किए जा रहे मूल्यांकन बोर्ड या लक्ष्य बोर्ड के लिए बोर्ड सपोर्ट पैकेज (बीएसपी) बनाएं या परिवर्तित होते है। इस प्रकार μ सी/ओएस-III पोर्ट μ सी/ओएस-II पोर्ट के समान होता है। यहाँ सूचीबद्ध की तुलना में काफी अधिक पोर्ट होता हैं और पोर्ट निरंतर विकास के अधीन होता हैं। अतः μ सी/ओएस-II और μ सी/ओएस-III दोनों ही लोकप्रिय ट्रांसपोर्ट लेयर सिक्योरिटी एसएसएल/टीएलएस पुस्तकालय जैसे [[wolfSSL|वुल्फएसएसएल]] द्वारा समर्थित होते हैं, जो सभी कनेक्शनों में सुरक्षा सुनिश्चित करते हैं। | |||
== लाइसेंसिंग परिवर्तन == | == लाइसेंसिंग परिवर्तन == | ||
सिलिकॉन | सिलिकॉन प्रयोगशाला द्वारा अधिग्रहण के पश्चात्, सन्न 2020 में माइक्रीम फरवरी, सन्न 2020 में [[ओपन-सोर्स मॉडल|खुला स्त्रोत मॉडल]] लाइसेंसिंग में परिवर्तित किया गया है। इसमें यूसी/ओएस III, सभी पूर्व संस्करण, सभी घटक सम्मिलित होते हैं। जैसे, यूएसबी, [[फाइल सिस्टम|फाइल प्रणाली]], जीयूआई, टीसीपी/आईपी, आदि। | ||
== दस्तावेज़ीकरण और समर्थन == | == दस्तावेज़ीकरण और समर्थन == | ||
समर्थन | समर्थन विशिष्ट समर्थन मंच और अनेक व्यापक पुस्तकों के माध्यम से उपलब्ध होता है, जिनमें से अनेक दिए गए माइक्रोकंट्रोलर वास्तुकला और विकास प्लेटफॉर्म के अनुरूप होता हैं, अतः मुफ्त पीडीएफ के रूप में या हार्ड-कवर में कम लागत वाली खरीद के रूप में माइक्रीम और अन्य पार्टियों से सशुल्क समर्थन उपलब्ध होता है। | ||
==संदर्भ== | ==संदर्भ== | ||
Line 186: | Line 177: | ||
== स्रोत == | == स्रोत == | ||
*[http://www.mil-embedded.com/news/db/?13968 फ्यूजन एंबेडेड से μC/ | *[http://www.mil-embedded.com/news/db/?13968 फ्यूजन एंबेडेड से μC/ओएस-II के लिए प्रोटोकॉल सपोर्ट] | ||
*Micrium- | *Micrium-uCओएस-III-UsersManual पहला संस्करण | ||
*[http://micrium.com/download/%C2%B5cos-iii-the-real-time-kernel-for-the-renesas-rx62n/ uC/ | *[http://micrium.com/download/%C2%B5cos-iii-the-real-time-kernel-for-the-renesas-rx62n/ uC/ओएस-III: Renesas RX62N के लिए वास्तविक-समय कर्नेल] | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
*{{Official website|www.micrium.com/products}} | *{{Official website|www.micrium.com/products}} | ||
*{{GitHub|SiliconLabs}} | *{{GitHub|SiliconLabs}} | ||
*[http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/uC_Functions.html Summary of Commonly Used uC/ | *[http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/uC_Functions.html Summary of Commonly Used uC/ओएस-II Functions and Data Structures] | ||
*[http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/ | *[http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/ NiओएसII GCC with माइक्रोसी/ओएस] | ||
*[http://www.farnell.com/datasheets/1950186.pdf μC/ | *[http://www.farnell.com/datasheets/1950186.pdf μC/ओएस-II Reference Manual] | ||
*[http://ftp1.digi.com/support/documentation/0220047_e.pdf How to Get a μC/ | *[http://ftp1.digi.com/support/documentation/0220047_e.pdf How to Get a μC/ओएस-II Application Running] | ||
{{Real-time operating systems}} | {{Real-time operating systems}} | ||
{{Microkernel}} | {{Microkernel}} | ||
{{DEFAULTSORT:Microc Os-II}} | {{DEFAULTSORT:Microc Os-II}} | ||
[[Category: | [[Category:Collapse templates|Microc Os-II]] | ||
[[Category:Created On 18/06/2023]] | [[Category:Created On 18/06/2023|Microc Os-II]] | ||
[[Category:Lua-based templates|Microc Os-II]] | |||
[[Category:Machine Translated Page|Microc Os-II]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists|Microc Os-II]] | |||
[[Category:Official website not in Wikidata|Microc Os-II]] | |||
[[Category:Pages with script errors|Microc Os-II]] | |||
[[Category:Short description with empty Wikidata description|Microc Os-II]] | |||
[[Category:Sidebars with styles needing conversion|Microc Os-II]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready|Microc Os-II]] | |||
[[Category:Templates generating microformats|Microc Os-II]] | |||
[[Category:Templates that add a tracking category|Microc Os-II]] | |||
[[Category:Templates that are not mobile friendly|Microc Os-II]] | |||
[[Category:Templates that generate short descriptions|Microc Os-II]] | |||
[[Category:Templates using TemplateData|Microc Os-II]] | |||
[[Category:Wikipedia metatemplates|Microc Os-II]] | |||
[[Category:एंबेडेड ऑपरेटिंग सिस्टम|Microc Os-II]] | |||
[[Category:एआरएम ऑपरेटिंग सिस्टम|Microc Os-II]] | |||
[[Category:माइक्रोकर्नेल|Microc Os-II]] | |||
[[Category:माइक्रोकर्नेल-आधारित ऑपरेटिंग सिस्टम|Microc Os-II]] | |||
[[Category:रीयल-टाइम ऑपरेटिंग सिस्टम|Microc Os-II]] |
Latest revision as of 13:05, 8 September 2023
डेवलपर | माइक्रियम, इंक., Silicon Labs |
---|---|
लिखा हुआ | एएनएसआई सी |
काम करने की अवस्था | करंट |
स्रोत मॉडल | खुला स्त्रोत के रूप में 2020 |
आरंभिक रिलीज | 1991 |
Latest release | ओएस-III / 2016 |
रिपॉजिटरी | गितहब |
विपणन लक्ष्य | [एम्बेडेड डिवाइस]] |
उपलब्ध | अंग्रेज़ी |
प्लेटफार्मों | ARM Cortex-M3, -M4F, ARM7TDMI; Atmel AVR; eSi-RISC, and many others |
कर्नेल प्रकार | वास्तविक-समय माइक्रोकर्नेल |
डिफ़ॉल्ट उपयोगकर्ता इंटरफ़ेस | μसी/जीयूआई |
लाइसेंस | अपेक के रूप में 2020; former Commercial, freeware education use |
आधिकारिक वेबसाइट | वेस्टन-एम्बेडेड |
डेवलपर | सिलिकॉन प्रयोगशाला |
---|---|
लिखा हुआ | एएनएसआई सी |
काम करने की अवस्था | करंट |
स्रोत मॉडल | खुला स्त्रोत |
आरंभिक रिलीज | 2020 |
Latest release | Part of Gecko Platform 4.2.0.0,[1] part of Gecko SDK 4.2.0.0[2] / December 14, 2022 |
रिपॉजिटरी | github |
विपणन लक्ष्य | एंबेडेड डिवाइस |
उपलब्ध | अंग्रेज़ी |
प्लेटफार्मों | विशेष रूप से सिलिकॉन प्रयोगशाला सिलिकॉन |
कर्नेल प्रकार | वास्तविक-समय माइक्रोकर्नेल |
लाइसेंस | अपेक |
आधिकारिक वेबसाइट | डब्लूडब्लूडब्लू |
डेवलपर | वेस्टन एंबेडेड सॉल्यूशंस |
---|---|
लिखा हुआ | एएनएसआई सी |
काम करने की अवस्था | करंट |
स्रोत मॉडल | व्यावसायिक |
आरंभिक रिलीज | June 23, 2020[3] | (forked from uC/OS-III V3.08.00)
Latest release | सीएस/ओएस3 3.09.01[3] / December 21, 2022[3] |
विपणन लक्ष्य | एंबेडेड डिवाइस |
उपलब्ध | अंग्रेज़ी |
प्लेटफार्मों | 50+ यह स्पष्ट नहीं है कि μC/OS के साथ 1-टू-1 ओवरलैप है या नहीं |
कर्नेल प्रकार | वास्तविक-समय माइक्रोकर्नेल |
लाइसेंस | व्यावसायिक |
आधिकारिक वेबसाइट | वेस्टन-एम्बेडेड |
माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम (माइक्रोसी/ओएस, जिसे μ सी/ओएस या माइक्रीम ओएस के रूप में शैलीबद्ध किया गया है) वास्तविक-समय ऑपरेटिंग प्रणाली (आरटीओएस) होता है, जिसे सन्न 1991 में जीन जे. लेब्रोस द्वारा डिज़ाइन किया गया था। इस प्रकार यह प्राथमिकता-आधारित प्रीमेशन (कंप्यूटिंग) वास्तविक कर्नेल है। चूँकि माइक्रोप्रोसेसर के लिए वास्तविक-समय कर्नेल, अधिकांशतः प्रोग्रामिंग भाषा सी (प्रोग्रामिंग भाषा) में लिखा जाता है। अंतः यह स्थापित प्रणाली में उपयोग के लिए होता है।
माइक्रोसी/ओएस सी में अनेक कार्यों को परिभाषित करने की अनुमति देता है, जिनमें से प्रत्येक स्वतंत्र थ्रेड या कार्य के रूप में निष्पादित हो सकता है। प्रत्येक कार्य भिन्न प्राथमिकता पर चलता है और ऐसे चलता है जैसे कि वह सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) का मालिक होता है। इस प्रकार कम प्राथमिकता वाले कार्यों को किसी भी समय उच्च प्राथमिकता वाले कार्यों से छूट दी जा सकती है। चूँकि उच्च प्राथमिकता वाले कार्य निम्न प्राथमिकता वाले कार्यों को निष्पादित करने की अनुमति देने के लिए ऑपरेटिंग प्रणाली (ओएस) सेवाओं (जैसे देरी या घटना) का उपयोग करते हैं। अतः ओएस सेवाएं कार्यों और मेमोरी के प्रबंधन कार्यों के मध्य संचार और समय निर्धारण के लिए प्रदान की जाती हैं।[4]
इतिहास
माइक्रोसी/ओएस कर्नेल मूल रूप से एंबेडेड प्रणाली प्रोग्रामिंग पत्रिका में तीन-भाग वाले लेख और लेब्रोसे की पुस्तक द्वारा μ सी/ओएस वास्तविक-समय कर्नेल में प्रकाशित किया गया था।[5] उन्होंने पहले अपने स्वयं के उपयोग के लिए विकसित सॉफ्टवेयर पोर्टेबिलिटी ओएस के आंतरिक विवरण का वर्णन किया था, जिसे उन्होंने अपने उपयोग के लिए विकसित किया था, किन्तु बाद में इसे संस्करण II और III में अपनी कंपनी माइक्रियम, इंक में वाणिज्यिक उत्पाद के रूप में विकसित किया गया था।
सन्न 2016 में माइक्रीम, इंक को सिलिकॉन प्रयोगशालाओं द्वारा अधिग्रहण किया गया था[6] और इसे बाद में अपाचे लाइसेंस के अनुसार खुले स्त्रोत के रूप में जारी किया गया था।
सिलिकॉन प्रयोगशाला अपने स्वयं के सिलिकॉन पर उपयोग के लिए माइक्रीम ओएस नामक खुला स्त्रोत उत्पाद को बनाए रखना जारी रखती है[7] और माइक्रीम, इंक. के पूर्व कर्मचारियों का समूह (प्रयोगशाला्रोस सहित) μ सी/ओएसऔर सीज़ियम आरटीओएस दोनों के लिए परामर्श और सहायता प्रदान करता है। इस प्रकार खुले स्त्रोत रिलीज के ठीक पश्चात् मालिकाना फोर्क समर्थन प्रदान करता है।[8]
μ सी/ओएस-II
μ सी/ओएस के लिए लिखे गए स्रोत कोड के आधार पर और सन्न 1998 में वाणिज्यिक उत्पाद के रूप में प्रस्तुत किया गया था, अतः μ सी/ओएस-II सॉफ्टवेयर सुवाह्यता, रोम-सक्षम, मापनीय , रिक्तिपूर्व, वास्तविक-समय, नियतात्मक, मल्टीटास्किंग कर्नेल (ऑपरेटिंग प्रणाली) है। इस प्रकार माइक्रोप्रोसेसरों और डिजिटल सिग्नल प्रोसेसर (डीएसपी) के लिए यह 64 कार्यों तक का प्रबंधन करता है। इसके आकार को केवल किसी दिए गए उपयोग के लिए आवश्यक सुविधाओं को सम्मिलित करने के लिए (5 और 24 किलोबाइट्स के मध्य) बढ़ाया जा सकता है।
अधिकांश μ सी/ओएस-II अत्यधिक पोर्टेबल एएनएसआई सी में लिखे गए हैं, जिसमें लक्ष्य माइक्रोप्रोसेसर-विशिष्ट कोड असेंबली भाषा में लिखा गया है। इस प्रकार अन्य प्रोसेसर पोर्टिंग को सुविधाजनक बनाने के लिए बाद वाले का उपयोग कम से कम किया जाता है।
एम्बेडेड प्रणाली में उपयोग
μ सी/ओएस-II एम्बेडेड उपयोगों के लिए डिज़ाइन किया गया था। यदि निर्माता के समीप उचित उपकरण श्रृंखला (अर्थात्, सी कंपाइलर, असेंबलर और लिंकर-लोकेटर) होते है, तब μसी/ओएस-II को उत्पाद के भाग के रूप में एम्बेड किया जा सकता है।
μ सी/ओएस-II का उपयोग अनेक एम्बेडेड प्रणाली में किया जाता है, जिनमें निम्न प्रणाली सम्मिलित होती हैं।
- वैमानिकी
- चिकित्सा उपकरण और उपकरण
- डेटा संचार उपकरण
- सफेद सामान (घरेलू उपकरण)
- चल दूरभाष , व्यक्तिगत डिजिटल सहायक (पीडीए), एमआईडी
- औद्योगिक नियंत्रण
- उपभोक्ता इलेक्ट्रॉनिक्स
- ऑटोमोटिव
टास्क स्टेट्स
μ सी/ओएस-II कंप्यूटर मल्टीटास्किंग ऑपरेटिंग प्रणाली होती है। चूँकि प्रत्येक कार्य अनंत लूप होते है और निम्नलिखित पांच अवस्थाओं में से किसी में हो सकता है। (नीचे चित्र देखें)
- प्रसुप्त
- तैयार
- दौड़ना
- प्रतीक्षा (घटना के लिए)
- बाधित (इंटरप्ट हैंडलर (आईएसआर))
इसके अतिरिक्त, यह 64 कार्यों तक का प्रबंधन कर सकता है। चूँकि, यह अनुशंसा की जाती है कि इनमें से आठ कार्यों को μ सी/ओएस-II के लिए आरक्षित किया जाता है, अतः एप्लिकेशन को 56 कार्यों तक छोड़ दिया जाता है।[9]
कर्नेल
कर्नेल (ऑपरेटिंग प्रणाली) उस प्रोग्राम को दिया गया नाम होता है, जो ऑपरेटिंग प्रणाली के अधिकांश गृह व्यवस्था का कार्य करता है। इस प्रकार बूट लोडर कर्नेल को नियंत्रित करता है, जो विभिन्न उपकरणों को ज्ञात अवस्था में प्रारंभ करता है और कंप्यूटर को सामान्य संचालन के लिए तैयार करता है।[10] जिससे कि कर्नेल कार्यों के प्रबंधन (अर्थात्, सीपीयू के समय के प्रबंधन के लिए) और कार्यों के मध्य संचार करने के लिए भागीदार होते है।[11] अतः कर्नेल द्वारा प्रदान की जाने वाली मूलभूत सेवा संदर्भ स्विचिंग होती है।
अनुसूचक कर्नेल का वह भाग होता है जो यह निर्धारित करने के लिए भागीदार होता है कि कौन सा कार्य आगे चलता है।[12] अधिकांश वास्तविक-समय कर्नेल प्राथमिकता आधारित होते हैं। इस प्रकार प्राथमिकता-आधारित कर्नेल में, सीपीयू का नियंत्रण हमेशा चलने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को दिया जाता है। चूँकि दो प्रकार की प्राथमिकता-आधारित कर्नेल उपस्तिथ हैं। अतः कंप्यूटर मल्टीटास्किंग सहकारी मल्टीटास्किंग गैर-रिक्तिपूर्व और प्रीमेशन (कंप्यूटिंग) अप्रतिबंधित कर्नेल की आवश्यकता होती है कि प्रत्येक कार्य सीपीयू के नियंत्रण को स्पष्ट रूप से छोड़ने के लिए कुछ करते है।[12] रिक्तिपूर्व कर्नेल का उपयोग तब किया जाता है जब प्रणाली प्रतिक्रिया अधिक महत्वपूर्ण होती है। इस प्रकार, μ सी/ओएस-II और अधिकांश व्यावसायिक वास्तविक-समय कर्नेल रिक्तिपूर्व होते हैं।[13] इस प्रकार चलाने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को हमेशा सीपीयू का नियंत्रण दिया जाता है।
कार्य सौंपना
निष्पादन की उच्चतम दर वाले कार्यों को दर-मोनोटोनिक योजनाबद्धता का उपयोग करके सर्वोच्च प्राथमिकता दी जाती है।[14] यह योजनाबद्धता एल्गोरिदम वास्तविक-समय ऑपरेटिंग प्रणाली (आरटीओएस) में स्थिर-प्राथमिकता योजनाबद्धता वर्ग के साथ उपयोग किया जाता है।[15]
कार्यों का प्रबंधन
कम्प्यूटिंग में, कार्य निष्पादन की इकाई होती है। चूँकि कुछ ऑपरेटिंग प्रणाली में, कार्य प्रक्रिया (कंप्यूटिंग) का पर्याय होता है, अतः दूसरों में थ्रेड (कंप्यूटिंग) के साथ प्रचय संसाधन कंप्यूटर प्रणाली में, कार्य जॉब स्ट्रीम के अंदर निष्पादन की इकाई होती है।
μ सी/ओएस-II का प्रणाली उपयोगकर्ता निम्नलिखित विशेषताओं का उपयोग करके कार्यों को नियंत्रित करने में सक्षम होता है।
- कार्य सुविधा
- कार्य निर्माण
- टास्क स्टैक और स्टैक चेकिंग
- टास्क विलोपन
- किसी कार्य की प्राथमिकता बदलें
- निलंबित करें और किसी कार्य को फिर से प्रारंभ करें
- किसी कार्य के बारे में जानकारी प्राप्त करें[16]
स्मृति प्रबंधन
विखंडन (कंप्यूटिंग) से बचने के लिए, μ सी/ओएस-II अनुप्रयोगों को मेमोरी प्रबंधन (ऑपरेटिंग प्रणाली) से निश्चित आकार के मेमोरी ब्लॉक प्राप्त करने की अनुमति देता है। इस प्रकार सभी मेमोरी ब्लॉक समान आकार के होते हैं और विभाजन में ब्लॉक की अभिन्न संख्या होती है। इन मेमोरी ब्लॉकों का आवंटन और विलोपन निरंतर समय में किया जाता है और यह नियतात्मक प्रणाली होती है।[17]
समय प्रबंधन
μ सी/ओएस-II के लिए यह आवश्यक होता है कि समय की देरी और समयआउट का ट्रैक रखने के लिए आवधिक समय स्रोत प्रदान किया जाता है। इस प्रकार टिक 10 से 1000 बार प्रति सेकंड या हेटर्स के मध्य होता है। जिससे कि तेज़ टिक दर, अधिक ओवरहेड (कंप्यूटिंग) μ सी/ओएस-II प्रणाली पर लगाता है। चूँकि घड़ी की टिक-टिक की आवृत्ति किसी एप्लिकेशन के वांछित टिक संकल्प पर निर्भर करती है। इस प्रकार टिक स्रोत हार्डवेयर समयर समर्पित करके या प्रत्यावर्ती धारा (ए सी) विद्युत रेखा (50 या 60 हर्ट्ज) सिग्नल से व्यवधान उत्पन्न करके प्राप्त किया जा सकता है। इस आवधिक समय स्रोत को घड़ी की टिक-टिक कहा जाता है।[18]
घड़ी की टिक निर्धारित होने के पश्चात्, कार्य निम्न हो सकते हैं।
- किसी कार्य में देरी करना
- रुके हुए कार्य को पुनः प्रारंभ करें
कार्यों के मध्य संचार
μ सी/ओएस-II में इंटरटास्क या इंटरप्रोसेस संचार होता है। इस प्रकार सेमाफोर (प्रोग्रामिंग), संदेश मेलबॉक्स, संदेश कतार, कार्य और अन्तरायन प्रहस्तक (आईएसआर) जब कोई कार्य या आईएसआर घटना नियंत्रण बाधा (ईसीबी) नामक कर्नेल ऑब्जेक्ट के माध्यम से किसी कार्य को संकेत देता है तब वह एक-दूसरे के साथ बातचीत कर सकते हैं। अतः संकेत को घटना माना जाता है।
μ सी/ओएस-III
μ सी/ओएस-III माइक्रो-कंट्रोलर ऑपरेटिंग प्रणाली वर्जन 3 का संक्षिप्त रूप होता है, जिसे सन्न 2009 में प्रस्तुत किया गया था और μ सी/ओएस-II आरटी ओएस में कार्यक्षमता जोड़ता है।
μ सी/ओएस-III μ सी/ओएस-II की सभी विशेषताएं और कार्य प्रदान करता है। जिससे कि सबसे बड़ा अंतर समर्थित कार्यों की संख्या होती है। इस प्रकार μ सी/ओएस-II अधिकतम 255 कार्यों के लिए 255 प्राथमिकता स्तरों में से प्रत्येक पर केवल 1 कार्य की अनुमति देता है। चूँकि μ सी/ओएस-III किसी भी संख्या में एप्लिकेशन कार्यों, प्राथमिकता स्तरों और प्रति स्तर कार्यों की अनुमति देता है, अतः केवल मेमोरी तक प्रोसेसर पहुंच द्वारा सीमित होता है।[19][20]
μ सी/ओएस-II और μ सी/ओएस-III का रखरखाव वर्तमान में सिलिकॉन प्रयोगशाला की सहायक कंपनी माइक्रियम, इंक. द्वारा किया जाता है और इसे प्रति उत्पाद या प्रति उत्पाद रेखा के लिए अनुज्ञप्ति प्राप्त किया जा सकता है।
एम्बेडेड प्रणाली में उपयोग
इसका उपयोग μ सी/ओएस-II के समान ही होता हैं।
टास्क स्टेट्स
μ सी/ओएस-III कंप्यूटर मल्टीटास्किंग ऑपरेटिंग प्रणाली होती है, जिसमे प्रत्येक कार्य अनंत लूप होते है और पांच अवस्थाओं में से किसी में हो सकता है (निष्क्रिय, तैयार, चल रहा है, बाधित, या लंबित)। इस प्रकार कार्य प्राथमिकताएं 0 (सर्वोच्च प्राथमिकता) से लेकर अधिकतम 255 (न्यूनतम संभव प्राथमिकता) तक हो सकती हैं।
राउंड रॉबिन योजनाबद्धता
जब दो या दो से अधिक कार्यों की समान प्राथमिकता समान होती है, तब कर्नेल कार्य को पूर्व निर्धारित समय के लिए चलने की अनुमति देता है, जिसे क्वांटम कहा जाता है और फिर दूसरे कार्य का चयन करता है। इस प्रक्रिया को राउंड रॉबिन योजनाबद्धता या समय के भाग करने की क्रिया होती है। इस प्रकार कर्नेल अगले कार्य को रेखा में नियंत्रण देता है यदि,
- उपस्तिथा टास्क में समय स्लाइस के समय करने के लिए कोई कार्य नहीं है, या
- वर्तमान कार्य अपने समय के अंत से पहले पूर्ण हो जाता है, या
- समय का टुकड़ा समाप्त होता है।
कर्नेल
μ सी/ओएस-III के लिए कर्नेल कार्यक्षमता μ सी/ओएस-II के समान होता है।
कार्यों का प्रबंधन
कार्य प्रबंधन भी μ सी/ओएस-II के समान कार्य करता है। चूँकि, μ सी/ओएस-III मल्टीटास्किंग का समर्थन करता है और किसी एप्लिकेशन को किसी भी संख्या में कार्य करने की अनुमति देता है। इस प्रकार प्रोसेसर के लिए उपलब्ध कंप्यूटर मेमोरी (कोड और डेटा स्थान दोनों) की मात्रा से ही कार्यों की अधिकतम संख्या सीमित होती है।
सामान्यतः कार्य को निर्धारित पूर्णता तक चलने के माध्यम से कार्यान्वित किया जा सकता है, जिसमें कार्य समाप्त होने पर स्वयं को हटा देता है या अधिक विशिष्ट रूप से अनंत लूप के रूप में, घटनाओं के होने की प्रतीक्षा में और उन घटनाओं को संसाधित करता है।
मेमोरी प्रबंधन
मेमोरी प्रबंधन μ सी/ओएस-II की उसी प्रकार से किया जाता है।
समय प्रबंधन
μ सी/ओएस-III μ सी/ओएस-II के समान समय प्रबंधन सुविधाएँ प्रदान करता है। यह एप्लिकेशन को सेवाएं भी प्रदान करता है, जिससे कि कार्य उपयोगकर्ता द्वारा परिभाषित समय विलंब के लिए उनके निष्पादन को निलंबित कर सकता है। इस प्रकार देरी या तब घड़ी की टिक या घंटे, मिनट, सेकंड और मिलीसेकंड की संख्या से निर्दिष्ट होती है।
कार्यों के मध्य संचार
कभी-कभी, कार्य या आईएसआर को दूसरे कार्य के लिए सूचना का संचार किया जाता है, जिससे कि विशिष्ट डेटा या हार्डवेयर संसाधन को साथ एक्सेस करना दो कार्यों के लिए असुरक्षित होता है। इसे सूचना हस्तांतरण के माध्यम से हल किया जा सकता है, जिसे अंतर-कार्य संचार कहा जाता है। इस प्रकार सूचनाओं को कार्यों के मध्य दो विधियों से वैश्विक डेटा के माध्यम से, या संदेश भेजकर संप्रेषित किया जा सकता है।
वैश्विक चर का उपयोग करते समय, प्रत्येक कार्य या आईएसआर को यह सुनिश्चित किया जाता है कि उसके समीप चरों तक विशेष पहुंच होती है। यदि कोई आईएसआर सम्मिलित होता है, तब सामान्य चरों के लिए अनन्य पहुँच सुनिश्चित करने का एकमात्र विधि व्यवधानों को अक्षम करना होता है। यदि दो कार्य डेटा साझा करते हैं, तब प्रत्येक इंटरप्ट्स को अक्षम करके, शेड्यूलर को लॉक करके, सेमाफोर (प्रोग्रामिंग) का उपयोग करके या अधिमानतः, पारस्परिक बहिष्करण सेमाफोर का उपयोग करके चर के लिए विशेष पहुंच प्राप्त कर सकता है। इस प्रकार संदेश या तो मध्यवर्ती वस्तु को भेजा जा सकता है, जिसे संदेश कतार कहा जाता है, या सीधे कार्य के लिए होता है। चूंकि μ सी/ओएस-III में, प्रत्येक कार्य की अपनी अंतर्निहित संदेश कतार होती है। यदि संदेशों के लिए प्रतीक्षा करने के लिए एकाधिक कार्य होता हैं, तब बाहरी संदेश कतार का उपयोग होता है। यदि केवल कार्य प्राप्त डेटा को संसाधित करता है, तब सीधे कार्य को संदेश भेज सकता है। जबकि कार्य किसी संदेश के आने की प्रतीक्षा करता है, यह सीपीयू समय का उपयोग नहीं करता है।
पोर्ट्स
पोर्ट में तीन पहलू सीपीयू, ओएस और बोर्ड विशिष्ट (बीएसपी) कोड सम्मिलित होते हैं। इस प्रकार μ सी/ओएस-II और μ सी/ओएस-III के समीप बाजार में सबसे लोकप्रिय प्रोसेसर और बोर्ड के लिए पोर्ट होते हैं और सुरक्षा महत्वपूर्ण एम्बेडेड प्रणाली जैसे विमानन, चिकित्सा प्रणाली और परमाणु प्रतिष्ठानों में उपयोग के लिए उपयुक्त होते हैं। इस प्रकार μ सी/ओएस-III पोर्ट में तीन कर्नेल विशिष्ट फाइलों की सामग्री को लिखना या परिवर्तित करना सम्मिलित होता है। ओएस_सीपीयू.एच
, ओएस_सीपीयू_ए.एएसएम
और ओएस_सीपीयू_ सी. सी
. अंत में उपयोग किए जा रहे मूल्यांकन बोर्ड या लक्ष्य बोर्ड के लिए बोर्ड सपोर्ट पैकेज (बीएसपी) बनाएं या परिवर्तित होते है। इस प्रकार μ सी/ओएस-III पोर्ट μ सी/ओएस-II पोर्ट के समान होता है। यहाँ सूचीबद्ध की तुलना में काफी अधिक पोर्ट होता हैं और पोर्ट निरंतर विकास के अधीन होता हैं। अतः μ सी/ओएस-II और μ सी/ओएस-III दोनों ही लोकप्रिय ट्रांसपोर्ट लेयर सिक्योरिटी एसएसएल/टीएलएस पुस्तकालय जैसे वुल्फएसएसएल द्वारा समर्थित होते हैं, जो सभी कनेक्शनों में सुरक्षा सुनिश्चित करते हैं।
लाइसेंसिंग परिवर्तन
सिलिकॉन प्रयोगशाला द्वारा अधिग्रहण के पश्चात्, सन्न 2020 में माइक्रीम फरवरी, सन्न 2020 में खुला स्त्रोत मॉडल लाइसेंसिंग में परिवर्तित किया गया है। इसमें यूसी/ओएस III, सभी पूर्व संस्करण, सभी घटक सम्मिलित होते हैं। जैसे, यूएसबी, फाइल प्रणाली, जीयूआई, टीसीपी/आईपी, आदि।
दस्तावेज़ीकरण और समर्थन
समर्थन विशिष्ट समर्थन मंच और अनेक व्यापक पुस्तकों के माध्यम से उपलब्ध होता है, जिनमें से अनेक दिए गए माइक्रोकंट्रोलर वास्तुकला और विकास प्लेटफॉर्म के अनुरूप होता हैं, अतः मुफ्त पीडीएफ के रूप में या हार्ड-कवर में कम लागत वाली खरीद के रूप में माइक्रीम और अन्य पार्टियों से सशुल्क समर्थन उपलब्ध होता है।
संदर्भ
- ↑ "Gecko Platform 4.2.0.0 GA" (PDF). 2022-12-14. Retrieved 2023-01-04.
- ↑ "gecko_sdk Releases on github.com". GitHub. Retrieved 2023-01-04.
- ↑ 3.0 3.1 3.2 "Cs/OS3 Release Notes". Weston Embedded Solutions.
- ↑ "NiosII GCC with MicroC/OS". School of Electrical and Computer Engineering. Cornell University. June 2006. Retrieved 25 April 2017.
- ↑ Labrosse, Jean J. (15 June 2002). μC/OS The Real-Time Kernel (2nd ed.). CRC Press. ISBN 978-1578201037.
- ↑ "What is Micrium?". Weston Embedded Solutions. Retrieved 2023-01-04.
- ↑ "माइक्रोरियम सॉफ्टवेयर और दस्तावेज़ीकरण". Retrieved 2023-01-04.
- ↑ "Why Cesium RTOS?". Weston Embedded Solutions. Retrieved 2023-01-04.
- ↑ Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). p. 77.
- ↑ Wikiversity:Operating Systems/Kernel Models#Monolithic Kernel
- ↑ Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). p. 39.
- ↑ 12.0 12.1 Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). p. 40.
- ↑ Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). p. 42.
- ↑ Liu, Chung Lang; Layland, James W. (1973). "एक कठिन रीयल-टाइम वातावरण में मल्टीप्रोग्रामिंग के लिए शेड्यूलिंग एल्गोरिदम". Journal of the ACM. 20 (1): 46–61. CiteSeerX 10.1.1.36.8216. doi:10.1145/321738.321743. S2CID 59896693.
- ↑ Bovet, Daniel. "लिनक्स कर्नेल को समझना". Archived from the original on 2014-09-21.
- ↑ Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). pp. 45–49.
- ↑ Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). pp. 273–285.
- ↑ Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). pp. 145–152.
- ↑ "μC/OS-II and μC/OS-III Features Comparison". Micrium.
- ↑ "μC/OS-III overview". Micrium.
स्रोत
- फ्यूजन एंबेडेड से μC/ओएस-II के लिए प्रोटोकॉल सपोर्ट
- Micrium-uCओएस-III-UsersManual पहला संस्करण
- uC/ओएस-III: Renesas RX62N के लिए वास्तविक-समय कर्नेल